Robofun 機器人論壇

標題: 與投幣機的一些應用 [打印本頁]

作者: 遠3金次    時間: 2017-7-3 20:03
標題: 與投幣機的一些應用
#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
本帖最後由 超新手 於 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
雖然不能動作, 可是還是感謝大大的幫助




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2