讀卡機
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);
int x,a,b,c,d,e,f,k ,i=-1;
int x1=300,a1=300,b1=300,c1=300,d1=300,e1=300;
int x2=300,a2,b2,c2,d2,e2;
int limit = 70 ; //寬限值
int limitx = 100 ;
char ANS[6];
void setup() {
Serial.begin(115200);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.clear();
x=analogRead(A0);
a=analogRead(A1);
b=analogRead(A2);
c=analogRead(A3);
d=analogRead(A6);
e=analogRead(A7);
lcd.setCursor(0,0);
lcd.print("Ready...");
}
void loop() {
//白點上
x1=500;
a1=500;
b1=500;
c1=500;
d1=500;
e1=500;
do{
x=analogRead(A0);
a=analogRead(A1);
b=analogRead(A2);
c=analogRead(A3);
d=analogRead(A6);
e=analogRead(A7);
//disp();
if(x>700){
i=-1;
}
if(x<x1){
x1=x;
}
if(a<a1){
a1=a;
}
if(b<b1){
b1=b;
}
if(c<c1){
c1=c;
}
if(d<d1){
d1=d;
}
if(e<e1){
e1=e;
}
}while(x<150);
i++;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Q.");
lcd.print(i);
//黑點上
x2=50;
a2=50;
b2=50;
c2=50;
d2=50;
e2=50;
do{
x=analogRead(A0);
a=analogRead(A1);
b=analogRead(A2);
c=analogRead(A3);
d=analogRead(A6);
e=analogRead(A7);
if(x>850){
i=-2;
}
//disp();
if(x>x2){
x2=x;
}
if(a>a2){
a2=a;
}
if(b>b2){
b2=b;
}
if(c>c2){
c2=c;
}
if(d>d2){
d2=d;
}
if(e>e2){
e2=e;
}
lcd.setCursor(0,1);
if(a2>a1+limit){
lcd.setCursor(0,1);
lcd.print("A");
ANS[0]='A';
}
if(b2>b1+limit){
lcd.setCursor(1,1);
lcd.print("B");
ANS[1]='B';
}
if(c2>c1+limit){
lcd.setCursor(2,1);
lcd.print("C");
ANS[2]='C';
}
if(d2>d1+limit){
lcd.setCursor(3,1);
lcd.print("D");
ANS[3]='D';
}
if(e2>e1+limit){
lcd.setCursor(4,1);
lcd.print("E");
ANS[4]='E';
}
}while(x>150);
if(i>0){
Serial.print(i);
Serial.print(" , ");
for(int j=0;ANS[j]!='\0';j++)
{
if(ANS[j]!=' ')
Serial.print(ANS[j]);
}
Serial.println("");
}
for(int j=0; j<5 ; j++){
ANS[j]=' ';
}
}
void disp(){
Serial.print(x);
Serial.print(",");
Serial.print(a);
Serial.print(",");
Serial.print(b);
Serial.print(",");
Serial.print(c);
Serial.print(",");
Serial.print(d);
Serial.print(",");
Serial.print(e);
Serial.print("---------");
Serial.print(x1);
Serial.print(",");
Serial.print(a1);
Serial.print(",");
Serial.print(b1);
Serial.print(",");
Serial.print(c1);
Serial.print(",");
Serial.print(d1);
Serial.print(",");
Serial.print(e1);
Serial.print("---------");
Serial.print(x2);
Serial.print(",");
Serial.print(a2);
Serial.print(",");
Serial.print(b2);
Serial.print(",");
Serial.print(c2);
Serial.print(",");
Serial.print(d2);
Serial.print(",");
Serial.println(e2);
}