讀卡機

#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);

}