coloz 发表于 2013-6-3 15:40
还以为是送硬盘呢,你直接看论坛的超声波和1602的教程吧~~你用的东西教程论坛都有,自己搜索 ...
学习后,写了个程序,求大神指导错误,
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,10,5,4,3,2);//定义LCD的引脚连接情况
int TrigPin=14; // 将Arduino 的 Pin3 连接至 HC-SR04 的Trig/TX,或定义超声波信号发出接口
int EchoPin=13; // 将Arduino 的 Pin2 连接至 HC-SR04 的Echo/RX,或定义超声波信号接收接口
int ledpin1=6;
int ledpin2=7;
int ledpin3=8; //分别定义变色灯(红 黄 绿)LED的三个输出接口
int beeppin =9;//蜂鸣器的pin
void setup()
{
Serial.begin(9600); //测量结果将通过此串口输出至 PC 上的串口监视器
pinMode(EchoPin, INPUT); //设置EchoPin 为输入模式
pinMode(TrigPin, OUTPUT); //设置超声波数字IO脚模式,OUTPUT为输出
pinMode(ledpin1,OUTPUT);
pinMode(ledpin2,OUTPUT);
pinMode(ledpin3,OUTPUT); //初始化变色灯的LED三个输出接口模式
pinMode(beeppin,OUTPUT); //设置蜂鸣器借口输出模式
lcd.begin(16,2); //定义lcd列数及行数
lcd.clear(); //清屏
lcd.setCursor(0,0); //光标位置置于0,0
}
void loop()
{
// unsigned char i,j;
digitalWrite(TrigPin, LOW); // 通过Trig/Pin 发送脉冲,触发 HC-SR04 测距,使发出发出超声波信号接口低电平2μs
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH); // 使发出发出超声波信号接口高电平10μs,这里是至少10μs
delayMicroseconds(10);
digitalWrite(TrigPin, LOW); // 保持发出超声波信号接口低电平
int distance = pulseIn(EchoPin, HIGH); // 读出脉冲时间
distance= distance/58; // 将脉冲时间转化为距离(单位:厘米)
Serial.println(distance); //输出距离值
Serial.println("mm"); //输出结果至串口监视器
delay(5);
lcd.clear(); //清屏
lcd.setCursor(0,0); //光标从这里开始
lcd.print("Distance is"); //使屏幕显示文字
lcd.setCursor(0,1); //设置光标位置为第二行第一个位置
lcd.print(distance);
lcd.print("CM"); //显示距离和单位
if (distance <=20)
{
digitalWrite(ledpin1,HIGH); //红灯提示危险距离
digitalWrite(ledpin2,LOW);
digitalWrite(ledpin3,LOW);
digitalWrite(beeppin,HIGH); //蜂鸣器发出一个频段的声音
delay(1); //延时1ms
digitalWrite(beeppin,LOW);
delay(1); //延时1ms
}
else
{
if(distance<=80)
{
digitalWrite(ledpin2,HIGH); //黄灯提示注意距离
digitalWrite(ledpin1,LOW);
digitalWrite(ledpin2,LOW);
digitalWrite(beeppin,HIGH); //蜂鸣器发出另一个频段的声音
delay(2); //延时2ms
digitalWrite(beeppin,LOW);
delay(2); //延时2ms
}
else
{
digitalWrite(ledpin3,HIGH); //绿灯提示安全距离
digitalWrite(ledpin1,LOW);
digitalWrite(ledpin2,LOW);
digitalWrite(beeppin,HIGH); //蜂鸣器发出另一个频段的声音
delay(3); //延时3ms
digitalWrite(beeppin,LOW);
delay(3); //延时3ms
}
}
}
|