找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3348|回复: 1
打印 上一主题 下一主题
收起左侧

基于Arduino的超声波测距倒车系统源程序 lcd1602显示

[复制链接]
跳转到指定楼层
楼主
代码已包括蜂鸣器 图中并没有显示出蜂鸣器 需自行加入


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);  //蜂鸣器引脚设定为输出
  15.   lcd.print("yan wu"); //将hello,world!显示在LCD上
  16. }

  17. void loop()
  18. { digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去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; //保留两位小数
  25.    for(int i = 0 ; i < 100 ; i++)    //循环100次
  26.   {
  27.     digitalWrite(beep,HIGH);    //设置输出高电平
  28.     delayMicroseconds(220); //延时PotBuffer值 us
  29.     digitalWrite(beep,LOW);     //设置输出低电平
  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); //将闪烁的光标设置到column 0, line 1 (注释:从0开始数起,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. }
复制代码

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:979850 发表于 2021-11-10 18:45 | 只看该作者
这个显示的代码是完整的嘛?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表