ขอถามหน่อยครับ ผมทำระบบหยอดเหรียญอยู่ครับ แต่เจอปัญหาว่าเครื่องมัน pulse สัญญาณมาไม่ต่อเนื่องครับ
สมมุติว่า 1 คือสัญญาณที่ pluse มานะคับ 0 คือไม่มีอะไร
ถ้าผมหยอดเหรียญ 5 สัญญาณมันจะมาแบบนี้ครับ
0
1
1
0
1
1
1
0
มา 5 ครั้งแต่มาไม่ติดกัน บางทีหยอดเหรียญ 10 ได้ค่าออกมาเป็นเหรีญ 5 2เหรียญ ไม่ก็ เหรียญ 5 กับเหรียญ 1 บาท
ง่ายคือได้ผลไม่ตรงอะคับ พอจะมีวิธีแก้ไหมครับ ผมมือใหม่ครับ
ส่วนโค้ดผมเอามาจากเวปที่ผมซื้อเครื่องมาครับ
int pin = 9;
unsigned long duration;
int count = 0;
void setup()
{
// initialize serial communications at 9600 bps:
Serial.begin(9600);
pinMode(pin, INPUT);
}
void loop()
{
duration = pulseIn(pin, HIGH, 1000000);
float time=duration/1000.00;
Serial.print("DelT=");
Serial.print(time);
Serial.println(" ms");
if (time > 2){
count = count + 1;
Serial.println(count);
}
if (time ==0){
if (count > 0 &&count < 3){
Serial.println("1 Bath");
}
if (count > 3 &&count < 7){
Serial.println("5 Bath");
}
if (count > 7){
Serial.println("10 Bath");
}
count = 0;
}
}
ไม่แน่ใจว่า Tag ถูกรึป่าวนะคับ ขอโทษที่รบกวนครับ
Arduino เจอปัญหาสัญญานจากเครื่องหยอดเหรียญมาไม่ต่อเนื่องแก้ไขโค้ดยังไงได้บ้างครับ
สมมุติว่า 1 คือสัญญาณที่ pluse มานะคับ 0 คือไม่มีอะไร
ถ้าผมหยอดเหรียญ 5 สัญญาณมันจะมาแบบนี้ครับ
0
1
1
0
1
1
1
0
มา 5 ครั้งแต่มาไม่ติดกัน บางทีหยอดเหรียญ 10 ได้ค่าออกมาเป็นเหรีญ 5 2เหรียญ ไม่ก็ เหรียญ 5 กับเหรียญ 1 บาท
ง่ายคือได้ผลไม่ตรงอะคับ พอจะมีวิธีแก้ไหมครับ ผมมือใหม่ครับ
ส่วนโค้ดผมเอามาจากเวปที่ผมซื้อเครื่องมาครับ
int pin = 9;
unsigned long duration;
int count = 0;
void setup()
{
// initialize serial communications at 9600 bps:
Serial.begin(9600);
pinMode(pin, INPUT);
}
void loop()
{
duration = pulseIn(pin, HIGH, 1000000);
float time=duration/1000.00;
Serial.print("DelT=");
Serial.print(time);
Serial.println(" ms");
if (time > 2){
count = count + 1;
Serial.println(count);
}
if (time ==0){
if (count > 0 &&count < 3){
Serial.println("1 Bath");
}
if (count > 3 &&count < 7){
Serial.println("5 Bath");
}
if (count > 7){
Serial.println("10 Bath");
}
count = 0;
}
}
ไม่แน่ใจว่า Tag ถูกรึป่าวนะคับ ขอโทษที่รบกวนครับ