ผมอยากให้ หยอดเหรียญ แล้ว มาแสดงผลที่ จอ lcd ครับ ตอนนี้ปัญหาที่ผมพบคือ ค่าเหรียญที่หยอดขึ้นเองครับยังไม่ได้หยอดเหรียญเลยครับ โค้ดที่ผมใช้ครับ ช่วยแนะนำด้วยครับ
ตอนนี้ผมสามารถแก้ไขปัญหา หยอดเหรียญแล้วไม่แสดงผลที่ lcd ได้แล้วครับ ปรับแก้โค็ดตาม ความคิดเห็นที่ 1
ตอนนี้ปัญหาใหม่ที่ผมพบคือ สวิทไม่ทำงานครับ
คือเมื่อหยอดเหรียญครบ แล้วไม่สามารถกดสวิทเลือกสีปากกาทำให้มอเตอร์ทำงานได้ครับ
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int pin = 9;
unsigned long duration;
int count = 0;
int coin = 0;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(pin, INPUT); //สายสัญญานจาก เครื่องอ่านเหรียญ
pinMode(6, INPUT); //switch เลือกสี ปากกา
pinMode(7, INPUT); //switch เลือกสีปากกา
pinMode(5, OUTPUT); //drive motor
pinMode(4, OUTPUT); //drive motor
pinMode(10, INPUT); //sensor
pinMode(11, INPUT); //sensor
}
void loop() {
duration = pulseIn(pin, LOW, 1000000);
float time=duration/1000.00;
if (time > 2){
count = count + 1;
}
lcd.setCursor(0,0);
lcd.print("Clash = ");
if(digitalRead(pin)==LOW){
coin = coin+1;
delay(1000);
}
if(digitalRead(pin)==HIGH{
}
if (time ==0){
if (count > 0 &&count < 3){
coin = coin+1;
}
if (count > 3 &&count < 7){
coin = coin+5;
}
if (count > 7){
coin = coin+10;
}
count = 0;
}
if(count == 0){
lcd.setCursor(7,0);
lcd.print(coin);
if(coin >= 5){
lcd.setCursor(0,1);
lcd.print("Select Color R/B");
int red = digitalRead(6);
int blue = digitalRead(7);
if(red = 1){
digitalWrite(5,LOW);
if(digitalRead(10) == 0){
coin = coin -5;
}
}
if(blue = 1){
digitalWrite(4,LOW);
if(digitalRead(11) == 0){
coin = coin -5;
}
}
}
if(coin <= 4){
lcd.setCursor(0,1);
lcd.print(" ");
}
}
}
ขอบคุณมากครับ
ช่วยแนะนำหน่อยครับทำโปรเจคเกี่ยวกับเครื่องหยอดเหรียญ
ตอนนี้ผมสามารถแก้ไขปัญหา หยอดเหรียญแล้วไม่แสดงผลที่ lcd ได้แล้วครับ ปรับแก้โค็ดตาม ความคิดเห็นที่ 1
ตอนนี้ปัญหาใหม่ที่ผมพบคือ สวิทไม่ทำงานครับ
คือเมื่อหยอดเหรียญครบ แล้วไม่สามารถกดสวิทเลือกสีปากกาทำให้มอเตอร์ทำงานได้ครับ
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int pin = 9;
unsigned long duration;
int count = 0;
int coin = 0;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(pin, INPUT); //สายสัญญานจาก เครื่องอ่านเหรียญ
pinMode(6, INPUT); //switch เลือกสี ปากกา
pinMode(7, INPUT); //switch เลือกสีปากกา
pinMode(5, OUTPUT); //drive motor
pinMode(4, OUTPUT); //drive motor
pinMode(10, INPUT); //sensor
pinMode(11, INPUT); //sensor
}
void loop() {
duration = pulseIn(pin, LOW, 1000000);
float time=duration/1000.00;
if (time > 2){
count = count + 1;
}
lcd.setCursor(0,0);
lcd.print("Clash = ");
if(digitalRead(pin)==LOW){
coin = coin+1;
delay(1000);
}
if(digitalRead(pin)==HIGH{
}
if (time ==0){
if (count > 0 &&count < 3){
coin = coin+1;
}
if (count > 3 &&count < 7){
coin = coin+5;
}
if (count > 7){
coin = coin+10;
}
count = 0;
}
if(count == 0){
lcd.setCursor(7,0);
lcd.print(coin);
if(coin >= 5){
lcd.setCursor(0,1);
lcd.print("Select Color R/B");
int red = digitalRead(6);
int blue = digitalRead(7);
if(red = 1){
digitalWrite(5,LOW);
if(digitalRead(10) == 0){
coin = coin -5;
}
}
if(blue = 1){
digitalWrite(4,LOW);
if(digitalRead(11) == 0){
coin = coin -5;
}
}
}
if(coin <= 4){
lcd.setCursor(0,1);
lcd.print(" ");
}
}
}
ขอบคุณมากครับ