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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5998|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

點(diǎn)陣綜合智能交通燈 Arduino實(shí)驗(yàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:549815 發(fā)表于 2019-12-18 09:36 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
(1)機(jī)動車道紅綠燈改成點(diǎn)陣(6×6/5×5)顯示成箭頭形狀,采用閃爍或者流水顯示。
(2)箭頭用于指示南北(豎)或東西(橫)方向綠燈,即箭頭會隨著南北或者東西方向綠燈變化而呈90度轉(zhuǎn)向。
(3)增加?xùn)|西方向的人行道紅綠燈控制,常亮紅燈。當(dāng)檢測到有人時(用光敏電阻),人行道的紅綠燈要隨著(下一輪)同向的交通燈變化。
(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);   //設(shè)定數(shù)字I/O腳為輸出
  30. }
  31. red_close();
  32.   
  33. MsTimer2::set(5, flash);        // 中斷設(shè)置函數(shù),每 5ms 進(jìn)入一次中斷
  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) //按鍵觸發(fā)后
  108.           {
  109.                   if(flag_up==0)
  110.             {
  111.         
  112.         
  113.               digitalWrite(redled_1, LOW);//熄滅東西路紅燈
  114.               digitalWrite(greenled_1, HIGH); //點(diǎn)亮東西路綠燈
  115.               digitalWrite(greenled_3, HIGH); //熄滅人行道綠燈
  116.               digitalWrite(redled_3, LOW);//點(diǎn)亮人行道紅燈(默認(rèn)情況下,是紅燈亮)
  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);//點(diǎn)亮東西路紅燈
  129.               digitalWrite(greenled_3, LOW);//熄滅人行道綠燈
  130.               digitalWrite(redled_3, HIGH);//點(diǎn)亮人行道紅燈
  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;//按鍵標(biāo)志清零
  145.          
  146.           }
  147.   
  148.          
  149.    
  150.     else    //按鍵未被觸發(fā),默認(rèn)狀態(tài)
  151.     {
  152.    
  153.       
  154.           if(flag_up==0)
  155.           {
  156.       
  157.       
  158.             digitalWrite(redled_1, LOW);//熄滅東西路紅燈
  159.             digitalWrite(greenled_1, HIGH); //點(diǎn)亮東西路綠燈
  160.             digitalWrite(greenled_3, LOW); //熄滅人行道綠燈
  161.             digitalWrite(redled_3, HIGH);//點(diǎn)亮人行道紅燈(默認(rèn)情況下,是紅燈亮)
  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);//點(diǎn)亮東西路紅燈
  173.             digitalWrite(greenled_3, LOW);//熄滅人行道綠燈
  174.             digitalWrite(redled_3, HIGH);//點(diǎn)亮人行道紅燈
  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. }
復(fù)制代碼


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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本成人中文字幕 | 91久久久久 | 国产精品亚洲成在人线 | 涩爱av一区二区三区 | 国产午夜av片 | 91在线观看 | 中文字幕在线看第二 | 久久黄网 | 久久久久久久久久久爱 | 91麻豆精品一区二区三区 | 黄色在线播放视频 | 天堂在线网 | 国产欧美日韩久久久 | 亚洲精品成人 | 少妇精品亚洲一区二区成人 | 麻豆av网站| a级黄色片视频 | 毛片a级 | 特黄一级 | 综合久久久久久久 | 国产视频黄色 | 欧美日韩在线观看视频网站 | 超碰在线影院 | 免费观看色 | 日本精品一区二区三区四区 | 国产成人免费视频 | 久久久久久久久淑女av国产精品 | 欧美一级黄色片免费观看 | 在线欧美亚洲 | 欧美日韩一区二区视频在线观看 | 手机av在线 | 精品国产视频在线观看 | 日韩有码在线播放 | 日韩不卡一二区 | 逼逼网| 国产人成在线观看 | 欧美综合一区二区 | 欧美性极品xxxx做受 | 午夜男人视频 | 殴美一级片 | 黄色大片免费网站 |