久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6027|回復: 6
打印 上一主題 下一主題
收起左側

點陣綜合智能交通燈 Arduino實驗

[復制鏈接]
跳轉到指定樓層
樓主
ID:549815 發表于 2019-12-18 09:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
(1)機動車道紅綠燈改成點陣(6×6/5×5)顯示成箭頭形狀,采用閃爍或者流水顯示。
(2)箭頭用于指示南北(豎)或東西(橫)方向綠燈,即箭頭會隨著南北或者東西方向綠燈變化而呈90度轉向。
(3)增加東西方向的人行道紅綠燈控制,常亮紅燈。當檢測到有人時(用光敏電阻),人行道的紅綠燈要隨著(下一輪)同向的交通燈變化。
(4) 兩組的兩塊面包板并排共用。

源程序在此分享(LiJishao)

Arduino源程序如下:
  1. #include <MsTimer2.h>               //定時器庫的 頭文件

  2. int led1=1;
  3. int led3=11;//本在2
  4. int led4=3;
  5. int led8=4;
  6. int led9=5;
  7. int led10=6;
  8. int led12=7;
  9. int led13=8;
  10. int led14=9;
  11. int led6=10;
  12. int redled_1 =12;
  13. int greenled_1 =13;
  14. int redled_3 =0;
  15. int greenled_3 =2;
  16. int input=0;
  17. int val=0;

  18. int t=1;
  19. int num=0;

  20. int flag=0;
  21. int flag_up=0;
  22. int flag_led=0;

  23. int num_flag=0;


  24. int flag_end=0;

  25. void setup() {
  26. pinMode(input,OUTPUT);
  27. for (int i = 0; i < 14; i ++)
  28. {
  29. pinMode(i, OUTPUT);   //設定數字I/O腳為輸出
  30. }
  31. red_close();
  32.   
  33. MsTimer2::set(5, flash);        // 中斷設置函數,每 5ms 進入一次中斷
  34. MsTimer2::start();  
  35. }

  36. void loop() {

  37. //up();
  38. rgb();


  39. }

  40. void red_close(){
  41. digitalWrite(led13,  HIGH);
  42. digitalWrite(led3,  HIGH);
  43. digitalWrite(led4,  HIGH);
  44. digitalWrite(led10,  HIGH);
  45. digitalWrite(led6,  HIGH);
  46. digitalWrite(led9,LOW);
  47. digitalWrite(led14,LOW);
  48. digitalWrite(led8,LOW);
  49. digitalWrite(led12,LOW);
  50. digitalWrite(led1,LOW);
  51.   }


  52. void up(){
  53.   digitalWrite(led13,LOW);
  54. digitalWrite(led8,  HIGH);
  55. delay(t);
  56. red_close();


  57. digitalWrite(led3,LOW);
  58. digitalWrite(led14,  HIGH);
  59. delay(t);

  60. red_close();

  61. digitalWrite(led4,LOW);
  62. digitalWrite(led9,  HIGH);
  63. digitalWrite(led14,  HIGH);
  64. digitalWrite(led8,  HIGH);
  65. digitalWrite(led12,  HIGH);
  66. digitalWrite(led1,  HIGH);
  67. delay(t);
  68. red_close();

  69. digitalWrite(led10,LOW);
  70. digitalWrite(led14,  HIGH);
  71. delay(t);
  72. red_close();

  73. digitalWrite(led6,LOW);
  74. digitalWrite(led8,  HIGH);
  75. delay(t);
  76. red_close();
  77.   }


  78. void right()
  79. {
  80. digitalWrite(led13,LOW);
  81. digitalWrite(led8,  HIGH);
  82. delay(t);
  83. red_close();


  84. digitalWrite(led3,LOW);
  85. digitalWrite(led8,  HIGH);
  86. delay(t);

  87. red_close();

  88. digitalWrite(led4,LOW);
  89. digitalWrite(led9,  HIGH);
  90. digitalWrite(led8,  HIGH);
  91. digitalWrite(led1,  HIGH);
  92. delay(t);
  93. red_close();

  94. digitalWrite(led10,LOW);
  95. digitalWrite(led14,  HIGH);
  96. digitalWrite(led8,  HIGH);
  97. digitalWrite(led12,  HIGH);
  98. delay(t);
  99. red_close();

  100. digitalWrite(led6,LOW);
  101. digitalWrite(led8,  HIGH);
  102. delay(t);
  103. red_close();  
  104.   }



  105. void rgb(){
  106.     {
  107.           if(flag==1) //按鍵觸發后
  108.           {
  109.                   if(flag_up==0)
  110.             {
  111.         
  112.         
  113.               digitalWrite(redled_1, LOW);//熄滅東西路紅燈
  114.               digitalWrite(greenled_1, HIGH); //點亮東西路綠燈
  115.               digitalWrite(greenled_3, HIGH); //熄滅人行道綠燈
  116.               digitalWrite(redled_3, LOW);//點亮人行道紅燈(默認情況下,是紅燈亮)
  117.               //flag_up++;
  118.               if(flag_led)
  119.                 {up();}
  120.                 else
  121.                 {red_close();}
  122.               
  123.               }
  124.               //delay(2000);//延時12秒
  125.               else
  126.               {
  127.               digitalWrite(greenled_1, LOW); //熄滅東西路綠燈
  128.               digitalWrite(redled_1, HIGH);//點亮東西路紅燈
  129.               digitalWrite(greenled_3, LOW);//熄滅人行道綠燈
  130.               digitalWrite(redled_3, HIGH);//點亮人行道紅燈
  131.               //flag_up=4;
  132.               if(flag_led)
  133.               {right();
  134.               flag_end++;}
  135.               else
  136.               {red_close();}
  137.            }
  138.            
  139.                    if(flag_end==1500)
  140.                 {
  141.                   flag=0;
  142.                   flag_end=0;
  143.                   }
  144.           // flag=0;//按鍵標志清零
  145.          
  146.           }
  147.   
  148.          
  149.    
  150.     else    //按鍵未被觸發,默認狀態
  151.     {
  152.    
  153.       
  154.           if(flag_up==0)
  155.           {
  156.       
  157.       
  158.             digitalWrite(redled_1, LOW);//熄滅東西路紅燈
  159.             digitalWrite(greenled_1, HIGH); //點亮東西路綠燈
  160.             digitalWrite(greenled_3, LOW); //熄滅人行道綠燈
  161.             digitalWrite(redled_3, HIGH);//點亮人行道紅燈(默認情況下,是紅燈亮)
  162.             //flag_up++;
  163.             if(flag_led)
  164.               {up();}
  165.               else
  166.               {red_close();}
  167.             
  168.             }
  169.             else
  170.             {
  171.             digitalWrite(greenled_1, LOW); //熄滅東西路綠燈
  172.             digitalWrite(redled_1, HIGH);//點亮東西路紅燈
  173.             digitalWrite(greenled_3, LOW);//熄滅人行道綠燈
  174.             digitalWrite(redled_3, HIGH);//點亮人行道紅燈
  175.             if(flag_led)
  176.             {right();}
  177.             else
  178.             {red_close();}
  179.          }
  180.          // delay(2000);//延時12秒
  181.   
  182.      
  183.     }
  184.   }
  185. }

  186. void flash()
  187. {
  188. num++;  
  189. val=analogRead(input);// 讀取傳感器的模擬值并賦值給val
  190. if(val>=1000)
  191. flag=1;
  192. if(num==100)
  193. {
  194.     flag_led=~flag_led;
  195.     num=0;
  196.     num_flag++;
  197.     if(num_flag==30)
  198.         {
  199.           num_flag=0;
  200.           flag_up=~flag_up;
  201.       
  202.           }
  203.     }
  204. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2019-12-18 15:54 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

板凳
ID:662583 發表于 2019-12-31 14:40 | 只看該作者
很贊,這個挺實用的
回復

使用道具 舉報

地板
ID:634392 發表于 2020-8-21 08:56 | 只看該作者
很棒很實用的程序,十分有參考價值
回復

使用道具 舉報

5#
ID:713568 發表于 2021-5-29 08:12 | 只看該作者
感謝樓主的分享,很有用的程序
回復

使用道具 舉報

6#
ID:928973 發表于 2021-5-29 10:06 | 只看該作者
為什么我這里顯示編譯有誤?
回復

使用道具 舉報

7#
ID:995222 發表于 2021-12-21 15:28 來自手機 | 只看該作者
這個有錯誤(不會是電科的師哥吧!)
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 夜夜爽99久久国产综合精品女不卡 | www.日韩免费 | 国产精品乱码一区二区三区 | 色综合久久天天综合网 | 国产精品久久久久久久久久软件 | 色频 | 福利片在线观看 | 欧美在线一区二区三区 | 国产精品海角社区在线观看 | 国产精品日日做人人爱 | japanhd美女动 | 美女视频一区 | 亚洲天堂中文字幕 | 欧美一区二区三区在线看 | 国产欧美久久精品 | 久久成人一区 | 午夜影院在线观看 | 国产一区二区三区久久久久久久久 | 精品亚洲一区二区三区四区五区高 | 狠狠入ady亚洲精品经典电影 | 亚洲精品www. | 久久国产精品久久久久久 | 免费观看一区二区三区毛片 | 一区日韩 | 综合久久一区 | 欧美理论片在线 | 东京久久| 精品免费国产视频 | 成人妇女免费播放久久久 | av毛片| 美女亚洲一区 | 欧美一区二区大片 | heyzo在线 | 日韩精品一区二区三区中文在线 | 免费精品视频 | 欧美激情在线一区二区三区 | 日韩精品免费 | 成人在线免费观看 | 羞羞的视频在线看 | 亚洲91精品 | 亚洲一二三区在线观看 |