Robofun 機器人論壇
標題:
按鈕程式問題
[打印本頁]
作者:
wayne831216
時間:
2014-1-23 23:51
標題:
按鈕程式問題
本帖最後由 wayne831216 於 2014-1-23 23:53 編輯
小弟剛接處 Arduino 沒多久最近想寫一個紅綠燈的程式
功能想跟一般路口一樣
目前已完成"自動變號"跟閃黃燈"
可是還有一個功能目前還失敗
就是"手動的功能"
小弟想按一下按鈕
可以從路口一(紅)路口二(綠轉黃)在來路口一(紅轉綠)路口二(黃轉紅)
以此類推
已在網路及書籍找過一些資料
但還是失敗
求各位高手給我一些解答
謝謝:)
以下程式是手動功能的程式
int BUTTON_PIN = 7;
int LEDYellow1 = 8;
int LEDGreen1 = 9;
int LEDRed1 = 10;
int LEDYellow2 = 11;
int LEDGreen2 = 12;
int LEDRed2 = 13;
int BUTTON_STSTE;
void setup(){
pinMode(LEDGreen1,OUTPUT);
pinMode(LEDGreen2,OUTPUT);
pinMode(LEDYellow1,OUTPUT);
pinMode(LEDYellow2,OUTPUT);
pinMode(LEDRed1,OUTPUT);
pinMode(LEDRed2,OUTPUT);
pinMode(BUTTON_PIN,INPUT);
}
void loop(){
BUTTON_STSTE = digitalRead(BUTTON_PIN);
if(BUTTON_STSTE == HIGH){
digitalWrite(LEDRed2, HIGH);
digitalWrite(LEDGreen1, HIGH);
}
}
作者:
mzw2008
時間:
2014-1-25 02:00
路口一(紅)路口二(綠轉黃)在來路口一(紅轉綠)路口二(黃轉紅)
這句話就是解答了
路口一(紅)路口二(綠轉黃)
digitalWrite(LEDRed1, HIGH);
digitalWrite(LEDGreen2, HIGH);
delay(2000);
digitalWrite(LEDGreen2, LOW);
digitalWrite(LEDYellow2 , HIGH);
在來路口一(紅轉綠)路口二(黃轉紅)
digitalWrite(LEDRed1, LOW);
digitalWrite(LEDGreen1, HIGH);
digitalWrite(LEDYellow2 , LOW);
digitalWrite(LEDRed2, HIGH);
兩段加起來
BUTTON_STSTE = digitalRead(BUTTON_PIN);
if(BUTTON_STSTE == HIGH){
digitalWrite(LEDRed1, HIGH);
digitalWrite(LEDGreen2, HIGH);
delay(2000);
digitalWrite(LEDGreen2, LOW);
digitalWrite(LEDYellow2 , HIGH);
digitalWrite(LEDRed1, LOW);
digitalWrite(LEDGreen1, HIGH);
digitalWrite(LEDYellow2 , LOW);
digitalWrite(LEDRed2, HIGH);
}
這不是書中會有的答案,而是你得看懂書寫的東西
自己去想出來的流程
就好像課本只會教公式
遇到題目如何解你還是要自己想
作者:
mzw2008
時間:
2014-1-25 02:03
至於裡面的DELAY要加哪裡
要看你對紅綠燈的想法
每個地方的紅綠燈不一樣
有些綠燈直接迅速就紅燈
有些綠燈要頓一陣,黃燈在頓一陣子才變紅燈
有些是黃燈頓很久... 有些是紅燈無敵久(往墾丁路上有999秒的XDD)
....
總之這程式還有很大改進空間哩
作者:
wayne831216
時間:
2014-1-28 16:07
謝謝大大的答覆 : )
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2