遠3金次 發表於 2017-7-3 20:03:32

與投幣機的一些應用

#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
const int buzzer = 8; // ノPin8 蜂鳴器



void setup() {

lcd.begin(16, 2);
pinMode(buzzer,OUTPUT);
Serial.begin(9600);
pinMode(9,INPUT);
}


void loop() {
lcd.setCursor(0, 0);
lcd.print("enter coin");
lcd.setCursor(0, 1);
lcd.print("10 NTD");
int p1 = digitalRead(9);



if(p1==1)
{
int a;
while(p1==1)
a++;
delay(30);
if(a>=5)
a =a=0 ;
for ( int ii=0; ii<100; ii++ ) {

      tone(buzzer,1000);

      delay(50);

      tone(buzzer,500);

      delay(50);

    }

    noTone(buzzer);

    delay(2000);

}
    // simulate phone call
}
這是我與投幣機的一些設定程式
投幣機是KAI-638
但我無論怎麼投幣arduino都沒反應
我想要投幣5個後 蜂鳴器開始發出鈴聲
請問各位大大我應該如何改才有可能成功?

超新手 發表於 2017-7-4 12:15:31

本帖最後由 超新手 於 2017-7-4 12:19 編輯

你確定你的電路設計
投幣是 == 1, 而不是 == 0?
int a = 0;
void loop() {
if (digitalRead(9) == 1)
{
    delay(30);
    while (digitalRead(9) == 1);
    if (++a >= 5) {
      a = 0 ;
      for ( int ii = 0; ii < 100; ii++ ) {
      tone(buzzer, 1000);
      delay(50);
      tone(buzzer, 500);
      delay(50);
      }
      noTone(buzzer);
      delay(2000);
    }
}
}
另外, 把顯示的部份放到 setup 中即可
不需要在 loop 中重覆顯示

遠3金次 發表於 2017-7-5 16:19:12

雖然不能動作, 可是還是感謝大大的幫助:handshake:handshake
頁: [1]
查看完整版本: 與投幣機的一些應用