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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Arduino超聲波控制主次道路紅綠燈設計 含源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:507496 發表于 2019-4-9 00:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近設計了一個超聲波控制主次道路紅綠燈而我自己是初次接觸arduino,于是可能有些小問題。
自己原創想的,如有問題歡迎指教

float cm;
float duration;
int red1 =10;                         //定義針腳號
int green1 =9;
int yellow1=7;
int red2 =6;
int green2 =5;
int yellow2=4;
#define Trig 2                          // Trigger Pin and Echo Pin of UltrasonicSensor
#define Echo 3
int ledgreen1State= HIGH;              //定義綠燈1和紅燈2為點亮狀態
int ledred2State= HIGH;
unsigned long previousMillis= 0;        
const long interval = 1000;             //定義常量表示固定的時間間隔,為1

void setup()
{
Serial.begin(9600);                //Starting Serial Terminal
pinMode(Trig, OUTPUT);           //Trig引腳設置為輸出
pinMode(Echo, INPUT);            //Echo引腳設置為輸入
pinMode(red1,OUTPUT);           //設置LED針腳類型為狀態輸出針腳。
pinMode(green1,OUTPUT);
pinMode(yellow1,OUTPUT);
pinMode(red2,OUTPUT);
pinMode(green2,OUTPUT);
pinMode(yellow2,OUTPUT);
}
void loop()
{
digitalWrite(red1, LOW);           //主道路的綠燈一直亮,副道路的紅燈一直亮。
digitalWrite(green1, HIGH);
digitalWrite(yellow1, LOW);
digitalWrite(red2, HIGH);
digitalWrite(green2, LOW);
digitalWrite(yellow2, LOW);

digitalWrite(Trig, LOW);              //發送一個短的低電平脈沖,以確保得到一個平靜//的高脈沖
delayMicroseconds(2);
digitalWrite(Trig, HIGH);             //發送一個10us的高脈沖來觸發傳感器
delayMicroseconds(10);
digitalWrite(Trig, LOW);
  duration=float(pulseIn(Echo, HIGH));   //讀取從發送信號到接收回波的時間
  cm= (duration/2)/29.1;              //距離=(傳播時間/2*聲速,聲速=1/29.1cm/us
Serial.print("Distance =");             //在串口監視器中打出字符串“Distance=”,cm和//“cm”并換行
Serial.print(cm);
Serial.println("cm");
delay(100);

  if(cm>=100)
  {
   return;
  }

  if(66<=cm && cm<100)
  {
    digitalWrite(red1, LOW);
    digitalWrite(yellow1, LOW);
    digitalWrite(green2, LOW);
    digitalWrite(yellow2, LOW);
    unsigned long currentMillis = millis();           //記錄程序執行到此處的時間;
     if(currentMillis-previousMillis>= interval)       //如果大于等于internal數值,則執行//內部操作
                                              //否則進入下一次loop操作
    {
       previousMillis = currentMillis;              //更新previousMillis變量數值
       if(ledgreen1State==HIGH and ledred2State==HIGH)       //如果燈為亮的,變為暗的。//如果燈為滅的,變為亮的。
       {
         ledgreen1State=LOW;
         ledred2State=LOW;
       }
       else
       {
         ledgreen1State=HIGH;
         ledred2State=HIGH;
       }
       digitalWrite(green1,ledgreen1State);        //將LED狀態變量的更改結果發送//LED燈元器件。
       digitalWrite(red2,ledred2State);
    }
  }
else if (33<=cm && cm<66)
  {
   digitalWrite(red1, LOW);
   digitalWrite(green1, LOW);
   digitalWrite(yellow1, HIGH);
   digitalWrite(red2, LOW);
   digitalWrite(green2, LOW);
   digitalWrite(yellow1, HIGH);
  }
else if (cm<33)
  {
   digitalWrite(green1, LOW);
digitalWrite(yellow1,LOW);
digitalWrite(red1,HIGH);
   digitalWrite(red2, LOW);
   digitalWrite(green2, HIGH);
   digitalWrite(yellow2, LOW);  
}  
}


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费精品视频 | 丁香久久| 国产亚洲一区在线 | 亚洲超碰在线观看 | 国产一区久久 | 国产欧美日韩综合精品一区二区 | 久久久久久久国产 | 无毛av | 国产一区二区三区 | 在线āv视频 | 国产免费观看一级国产 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 国产精品永久久久久久久www | 成人影院在线 | 日韩精品中文字幕一区二区三区 | 日韩一区二区三区精品 | 中文字幕亚洲视频 | 久久偷人 | 国产精品视频97 | 国产三区在线观看视频 | 久久久精品 | 国产欧美一区二区三区日本久久久 | 日本三级黄视频 | 国产女人与拘做受免费视频 | 夜久久 | 国产精品区二区三区日本 | 在线视频 中文字幕 | 成人一级视频在线观看 | 国产精品久久久久久久午夜 | 欧美国产精品一区二区三区 | 日韩一级| 成人午夜网站 | 蜜桃视频在线观看www社区 | 欧美日韩在线一区二区三区 | 成人亚洲视频 | 91www在线观看 | 久久久区 | 欧美综合一区二区 | 中文字幕一区在线观看视频 | 欧洲精品久久久久毛片完整版 | 国产99免费|