找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3987|回復(fù): 1
收起左側(cè)

基于Arduino的超聲波測距倒車系統(tǒng)源程序 lcd1602顯示

[復(fù)制鏈接]
ID:668778 發(fā)表于 2020-10-5 22:58 | 顯示全部樓層 |閱讀模式
代碼已包括蜂鳴器 圖中并沒有顯示出蜂鳴器 需自行加入
超聲波.png

Arduino源程序:
  1. #include <LiquidCrystal.h>
  2. const int RS=2, EN=3, DB4=4, DB5=5, DB6=6, DB7=9, beep=8;
  3. const int TrigPin = 13;
  4. const int EchoPin = 11;
  5. float cm;
  6. LiquidCrystal lcd(RS, EN, DB4, DB5, DB6, DB7);

  7. void setup()
  8. {
  9.   lcd.begin(16,2);
  10.   Serial.begin(9600);
  11.   pinMode(TrigPin, OUTPUT);
  12.   pinMode(EchoPin, INPUT);
  13.   pinMode(13, OUTPUT);
  14.   pinMode(beep,OUTPUT);  //蜂鳴器引腳設(shè)定為輸出
  15.   lcd.print("yan wu"); //將hello,world!顯示在LCD上
  16. }

  17. void loop()
  18. { digitalWrite(TrigPin, LOW); //低高低電平發(fā)一個短時間脈沖去TrigPinno
  19.   delayMicroseconds(2);
  20.   digitalWrite(TrigPin, HIGH);
  21.   delayMicroseconds(10);
  22.   digitalWrite(TrigPin, LOW);
  23.   cm = pulseIn(EchoPin, HIGH) / 58; //將回波時間換算成cm
  24.   cm = (int(cm * 100)) / 100; //保留兩位小數(shù)
  25.    for(int i = 0 ; i < 100 ; i++)    //循環(huán)100次
  26.   {
  27.     digitalWrite(beep,HIGH);    //設(shè)置輸出高電平
  28.     delayMicroseconds(220); //延時PotBuffer值 us
  29.     digitalWrite(beep,LOW);     //設(shè)置輸出低電平
  30.     delayMicroseconds(220);       //延時100us
  31.   }
  32.   if (cm < 10)
  33.     {
  34.       digitalWrite(13, HIGH);
  35.      delay(100);
  36.      digitalWrite(13, LOW);
  37.      /*lcd.print(cm);
  38.      lcd.print("cm");//串口輸出
  39.      lcd.println();*/
  40.       }
  41.   else if (cm > 10 && cm < 50)
  42.     {digitalWrite(13, HIGH);
  43.      delay(300);
  44.      digitalWrite(13, LOW);
  45.     /*  lcd.print(cm);
  46.      lcd.print("cm");//串口輸出
  47.      lcd.println();*/
  48.       }
  49.   else if (cm > 50)
  50.     {digitalWrite(13, HIGH);
  51.      delay(10);
  52.      digitalWrite(13, LOW);
  53.       /*lcd.print(cm);
  54.      lcd.print("cm");//串口輸出
  55.      lcd.println();*/
  56.       }
  57.   Serial.print(cm);
  58.   Serial.print("cm");//串口輸出
  59.   Serial.println();  
  60.   lcd.setCursor(0, 1); //將閃爍的光標(biāo)設(shè)置到column 0, line 1 (注釋:從0開始數(shù)起,line 0是顯示第一行,line 1是第二行。)
  61.   lcd.setCursor(5, 1);
  62.    lcd.print(cm);
  63.    lcd.setCursor(11, 1);
  64.      lcd.print("cm");//串口輸出
  65.      lcd.println();
  66. }
復(fù)制代碼

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:979850 發(fā)表于 2021-11-10 18:45 | 顯示全部樓層
這個顯示的代碼是完整的嘛?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表