อยากทราบว่าโค้ด Arduino ผมถูกไหม ทำไมผมต่อเซนเซอร์นับเหรียญแล้วมันอ่านค่าแค่เหรียญ1บาทเหรียญเดียวครับ

กระทู้คำถาม
#include

#include

// Set the LCD address to 0x27 for a 16 chars and 2 line display

LiquidCrystal_I2C lcd(0x27, 16, 2);

int sensorValue1 = 0; //ประกาศตัวเเปร ของเซนเซอร์ ตัวที่ 1 ช่องเหรียญ1 บาท

int sensorValue2 = 0;//ประกาศตัวเเปร ของเซนเซอร์ ตัวที่ 2 ช่องเหรียญ 2 บาท

int sensorValue5 = 0;//ประกาศตัวเเปร ของเซนเซอร์ ตัวที่ 3 ช่องเหรียญ 5 บาท

int sensorValue11 = 0;//ประกาศตัวเเปร ของเซนเซอร์ ตัวที่ 4 ช่องเหรียญ 10บาท

int x=0;//ประกาศตัวเเปร x

int y=0;//ประกาศตัวเเปร y

int z=0;//ประกาศตัวเเปร z

int c=0;//ประกาศตัวเเปร c

int v=0;//ประกาศตัวเเปร v

int b=0;

int count1=0;//ประกาศตัวเเปร count1 ให้นับเหรียญ 1 บาท

int count2 = 0;//ประกาศตัวเเปร count1 ให้นับเหรียญ 2 บาท

int count5=0;//ประกาศตัวเเปร count1 ให้นับเหรียญ 5 บาท

int count11=0;//ประกาศตัวเเปร count1 ให้นับเหรียญ 10 บาท

void setup()

{

lcd.begin();//gริมต้อนใช้งาน LCD

lcd.backlight();

pinMode (A0,INPUT);//ให้ port A0 เป็นสายเซนเซอร์ ของช่องเหรียญ 1 บาท เป็น INPUT

pinMode (A1,INPUT);//ให้ por A1 เป็นสายเซนเซอร์ ของช่องเหรียญ 2 บาท เป็น INPUT

pinMode (A2,INPUT);//ให้ port A2 เป็นสายเซนเซอร์ ของช่องเหรียญ 5 บาท เป็น INPUT

pinMode (A3,INPUT); //ให้ port A3 เป็นสายเซนเซอร์ ของtช่องเหรียญ 10 บาท เป็น INPUT

Serial.begin(9600); //เริ่มต้อน ใช้งาน Serial monitor

lcd.print("1=");//เเสดงเลข 1 ที่ จอ

lcd.setCursor(0, 1);

lcd.print("2=");//เเสดงเลข 2 ที่ จอ

lcd.setCursor(6, 0);

lcd.print("5=");//เเสดงเลข 5 ที่ จอ

lcd.setCursor(6, 1);

lcd.print("10=");//เเสดงเลข 10 ที่ จอ

lcd.setCursor(12,0 );

lcd.print("T");//เเสดงตัวเลขผลรวมที่ จอ

lcd.setCursor(12,1 );

lcd.print(b);

}

void loop()

{

sensorValue1 = digitalRead(A0); //อ่านค่า สัญญาณ ของเซนเซอร์ ของtช่องเหรียญ 1 บาท

sensorValue2 = digitalRead(A1); //อ่านค่า สัญญาณ ของเซนเซอร์ ของtช่องเหรียญ 2 บาท

sensorValue5 = digitalRead(A2); //อ่านค่า สัญญาณ ของเซนเซอร์ ของtช่องเหรียญ 5 บาท

sensorValue11 = digitalRead(A3); //อ่านค่า สัญญาณ ของเซนเซอร์ ของtช่องเหรียญ 10 บาท

if (sensorValue1 == 0) //ถ้าสัญญาณ ของเซนเซอร์ ของtช่องเหรียญ 1 บาท = 1 (มีเหรียญผ่าน)

{

delay(150);// หยุดรอเวาลา 0.11 วินาที

count1++;// นับเพิ่มเหรียญ 1 บาท

/// เเสดงผลการนับ ออกจอ LCD///

lcd.setCursor(2, 0);

lcd.print(count1);

lcd.setCursor(12,0 );

lcd.print("T");

b = count1+y+x+z;/// นำมารวมกับตัวแปร ของเซนเซอร์ ที่นับได้ ของเเต่ละช่อง

lcd.setCursor(12,1 );

lcd.print(b);

}

else if (sensorValue1 == 0)//ถ้าสัญญาณ ของเซนเซอร์ ของtช่องเหรียญ 2บาท =1 (มีเหรียญผ่าน)

{

delay(150);// หยุดรอเวาลา 0.11 วินาที

y = count2+=2;// นับเพิ่มเหรียญ 2บาท

/// เเสดงผลการนับ ออกจอ LCD///

lcd.setCursor(2, 1);

lcd.print(y);

lcd.setCursor(12,0 );

lcd.print("T");

b = count1+y+x+z;/// นำมารวมกับตัวแปร ของเซนเซอร์ ที่นับได้ ของเเต่ละช่อง

lcd.setCursor(12,1 );

lcd.print(b);

}

else if (sensorValue1 == 0)//ถ้าสัญญาณ ของเซนเซอร์ ของtช่องเหรียญ 5 บาท =1 (มีเหรียญผ่าน)

{

delay(150);// หยุดรอเวาลา 0.11 วินาที

x = count5+=5;// นับเพิ่มเหรียญ 5บาท

/// เเสดงผลการนับ ออกจอ LCD///

lcd.setCursor(8, 0);

lcd.print(x);

lcd.setCursor(12,0 );

lcd.print("T");

b = count1+y+x+z;/// นำมารวมกับตัวแปร ของเซนเซอร์ ที่นับได้ ของเเต่ละช่อง

lcd.setCursor(12,1 );

lcd.print(b);

}else if (sensorValue1 == 0)//ถ้าสัญญาณ ของเซนเซอร์ ของtช่องเหรียญ 5 บาท =1 (มีเหรียญผ่าน)

{

delay(150);// หยุดรอเวาลา 0.11 วินาที

z = count11+=10;// นับเพิ่มเหรียญ 10 บาท

lcd.setCursor(9, 1);

lcd.print(z);

lcd.setCursor(12,0 );

lcd.print("T");

b = count1+y+x+z;/// นำมารวมกับตัวแปร ของเซนเซอร์ ที่นับได้ ของเเต่ละช่อง

lcd.setCursor(12,1 );

lcd.print(b);

}

}
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
ขอเก็บไว้ใช้นะครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่