1實現目標:
通常情況下,機動車道綠燈常亮,行人通道紅燈常亮;當行人按下按鈕後,機動車道的燈由綠變黃再變紅,行人通道的燈由紅變綠;一段時間後,行人通道綠燈頻閃提醒;頻閃結束,行人通道綠燈變紅燈,機動車道紅燈變綠燈,再變黃燈。行人兩次有效按下按鈕的時間控制為大於10秒,每乙個時期lcd屏將作為補充提醒,顯示行人和機動車的通行狀態。同時蜂鳴器會在行人按下按鈕和機動車再次行駛時發出提醒。
2**部分:
#include const int rs=12,en=11,d4=5,d5=4,d6=3,d7=2;
liquidcrystal lcd(rs,en,d4,d5,d6,d7);
int northsouthr=a5;
int northsouthg=8;
int northsouthy=6;
int peoeastwestr=a3;
int peoeastwestg=a4;
int button = 1;
int peocrosstime = 10000;//兩次按下按鈕至少間隔的時間
int soundpin = 9;
unsigned long switchtime;
void setup()
void loop() //按鈕檢測
}void peoplego()//改變交通燈的函式
digitalwrite(northsouthr,high);
delay(1000);
digitalwrite(peoeastwestr,low);
digitalwrite(peoeastwestg,high);
delay(peocrosstime);
lcd.clear();
lcd.begin(16,2);
lcd.print("please quickly!");
for(int j=0;j<5;j++)
lcd.clear();
digitalwrite(peoeastwestr,high);
delay(2000);
digitalwrite(northsouthy,high);
digitalwrite(northsouthr,low);
lcd.clear();
lcd.begin(16,2);
lcd.print("car time again!");
delay(3000);
digitalwrite(northsouthg,high);
digitalwrite(northsouthy,low);
switchtime = millis();
digitalwrite(soundpin,high);
delay(500);
digitalwrite(soundpin,low);
lcd.clear();
lcd.begin(16,2);
lcd.print("car go!");
}
3實物連線圖: 交通燈控制
問題描述,十字路,東西方向和南北方向燈,綠20s黃5s紅25s,倒計時顯示時間,另外,警車救護車等特殊狀態,都顯紅燈,且時間顯示不斷閃爍,通過之後,恢復原狀態。以下是我編寫的源 library ieee use ieee.std logic 1164.all use ieee.std logic u...
智慧型交通燈
交通燈有很多種型別,下面這個,還是比較簡單的。東西 a 南北 b 兩幹道交於乙個十字路口,各幹道有一組紅 黃 綠三色的指示燈,要求用微控制器控制交通燈,實現以下功能 1 a 道和b道上均有車輛要求通過時,a b道輪流放行。a道放行5分鐘 除錯時改為5秒鐘 b道放行4分鐘 除錯時改為4秒鐘 4 綠燈轉...
Arduino 模擬交通燈( 數碼管讀秒)
此次加上了行人過街按鈕與數碼管,一下子 的複雜度就提高了不少。1.主要是多工的問題。使用millis 函式進行多工處理,而不是使用delay 使用delay 可能會阻止我們在 等待 時執行 比如這裡就是我們的按鈕,它是需要時刻待命的。而且millis 具有更加準確的時間安排,這裡不再多說。2.數碼管...