超声测距+1602显示
本帖最后由 弘毅 于 2017-4-9 22:10 编辑今天刚到的HC-Sr04超声波传感器,果断安装组合1602显示屏。程序见下:
// 2016 -1 -23 编程:1602显示 超声测距
//材料 arduino uno 开发板 + HC-SR04超声模块+1602显示屏 +面包板
//1602 显示屏各脚接线:
// 1VSS接uno GND // 2(Vdd)接uno 5V
//3 接47K电位器中间 //4 接12 PIN //5 接GND //6 接11 PIN7 8 9 10 空
//1602显示屏11 12 13 14 接arduino 7 6 5 8 PIN
//电位器504,左端接5V(调节罗丝侧),中间接1602 的3,右端接GND
//电位器 左端调节罗丝顺时针拧到顶,可听见响。
//SR04超声模块的 Trig 接 uno 2 Echo 接 uno 3
//电位器 左端调节罗丝顺时针拧到顶,可听见响。
//SR04 各脚接线:
// Trig接 uno 2针;echo 接uno 3针;其他两针接UNO GND 和 5V
//面包板 接线:
// +接5V,-接GND
#include <LiquidCrystal.h>
//LiquidCrystal lcd(12,11,5,4,3,2);//定义脚位
LiquidCrystal lcd(10,9,7,6,5,8);//定义显示屏接脚位
const int TrigPin = 2; //超声发送
const int EchoPin = 3; //超声接收
float cm;
void setup()
{
lcd.begin(16,2); //设置LCD显示的数目。16 X 2:16格2行。
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop()
{
//lcd.setCursor(0,1);//将闪烁的光标设置到column 0, line 1 (注释:从0开始数起,line 0是显示第一行,line 1是第二行。)
//lcd.print(millis()/1000); //开机后屏幕现实以秒几时的时间
digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm
cm = (int(cm * 100.0)) / 100.0; //保留两位小数
Serial.print(cm);
Serial.print("cm");
Serial.println();
lcd.setCursor(0,0);
if(cm<100)lcd.print(" ");
if(cm<10)lcd.print(" ");
lcd.print(cm);
lcd.print("cm");
delay(1000);
}
本帖最后由 gzx901 于 2016-1-23 17:29 编辑
一次成功,非常鼓舞人。 本帖最后由 gzx901 于 2016-1-23 17:30 编辑
首次发帖,请鼓掌。 怎么加图,请指教。 本帖最后由 gzx901 于 2016-1-23 17:36 编辑
图见附件,多多网赐教。 好帖,求你的库文件 易苍天 发表于 2016-4-28 19:45 static/image/common/back.gif
好帖,求你的库文件
这个库有帖子,连接我忘记了 看起來比數碼管顯示的那種簡單,晚些時間試試
謝謝! 我昨天连接了,怎么显示不了呢,屏幕没有亮,而且超声波串口出现负数 lcd.print(millis()/1000); //开机后屏幕现实以秒几时的时间 这是什么意思啊?没看懂,初学者,请指教:)谢谢
深度好文啊,刚好需要,非常感谢~ 认真学习中
页:
[1]