1、arduino 创新训练 实验报告贵州大学大数据与信息工程学院创新训练与设计性实验报告学 院:大数据与信息工程学院专 业:电子信息科学与技术班 级:电科151学 号:1500890129 150890141学生姓名:蒋帅 朱亮指导教师:周骅2017年 7月 12 日 贵 贵州大学大数据与信息工程学院实习报告 第 1 页基于ArduinoUNO的倒车雷达系统设计与实现一、 设计目标利用Arduino UNO 设计倒车雷达系统的功能:1、 利用超声波模块 HC-SR04 实现避障功能,并可以通过Arduino的串口监视器读取距离的参数;2、 利用蜂鸣器模块实现不同频率的警报声音;3、 利用贴片式R
2、BG LED实现不同颜色的警报灯光。二、 设计思路超声波模块(如图一)的原理是使超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即:,作用为测距。 贵州大学大数据与信息工程学院实习报告 第 2 页将超声波模块的Echo引脚设置为输入模式,Trig引脚设置为IO脚模式,通过Trig引脚发送脉冲触发HC-SR04 测距,并输出测得的距离值。设置不同的距离值范围,使之输出不同的函数,不同的函数将会输出不同的电平
3、输入至LED(如图二)和蜂鸣器(如图三),然后使LED与蜂鸣器输出不同的结果,即不同颜色的灯光和不同频率的蜂鸣声。三、 设计内容本次实验使用的Arduino主板的型号为UNO(如图四),编程程序为Arduino IDE(如图五)。 贵 贵州大学大数据与信息工程学院实习报告 第 3 页代码如下(附带注释):const int TrigPin = 3;const int EchoPin = 4; / 定义变色灯LED的三个输出接口int ledpin1 = 5; / R引脚int ledpin2 = 6; / G引脚int ledpin3 = 7; / B引脚int beeppin = 8; /
4、蜂鸣器的pinint i = 0;void setup () Serial.begin(9600); /测量结果将通过此串口输出至 PC 上的串口监视器 pinMode(EchoPin, INPUT); /设置EchoPin 为输入模式 pinMode(TrigPin, OUTPUT); /设置超声波数字IO脚模式,OUTPUT为输出 pinMode(ledpin1,OUTPUT); pinMode(ledpin2,OUTPUT); pinMode(ledpin3,OUTPUT); pinMode(beeppin,OUTPUT); /设置蜂鸣器引脚输出模式void loop() digital
5、Write(TrigPin, LOW); / 通过TrigPin 发送脉冲,触发 HC-SR04 测距,使发出发出超声波信号接口低电平2s delayMicroseconds(2); digitalWrite(TrigPin, HIGH); / 使发出发出超声波信号接口高电平10s,这里是至少10s delayMicroseconds(10); digitalWrite(TrigPin, LOW); / 保持发出超声波信号接口低电平 int distance = pulseIn(EchoPin, HIGH); / 读出脉冲时间 distance= distance/58; / 将脉冲时间转化为
6、距离(单位:厘米) Serial.println(distance); /输出距离值 if(distance20) /当距离20cm setColor(255, 0, 0);/三色LED的设置颜色 buzzer1(); else if (distance=120) /当距离120cm setColor(0, 0, 255); buzzer2(); else 贵 贵州大学大数据与信息工程学院实习报告 第 4 页 setColor(0, 255, 0); buzzer3(); /*void buzzer1() tone(beeppin,900); delay(300); /响声间隔300ms 听上
7、去更急促 noTone(beeppin); void buzzer2() tone(beeppin,600); delay(500); /响声间隔500ms 听上去普通 noTone(beeppin); void buzzer3() /这里我用了除余的方法,目的是如果处在安全距离,在不用delay的情况下蜂鸣器响声不要那么频繁 if(i%100 = 1) tone(beeppin,500); else noTone(beeppin); i+; void setColor(int red, int green, int blue) /三色LED的设置颜色函数 analogWrite(ledpin3, red); analogWrite(ledpin2, green); analogWrite(ledpin1, blue); 贵 贵州大学大数据与信息工程学院实习报告 第 5 页四、 设计结果将超声波模块,LED模块和蜂鸣器模块连接至Arduino UNO上(如图六)。将代码上传至Arduino电路板中,即可通过遮挡超声波发射器来模拟倒车的情景来测试作品的雷达功能,下面将会用一系列图片来展示测试结果。 贵 贵州大学大数据与信息工程学院实习报告 第 6 页 贵 贵州大学大数据与信息工程学院实习报告 第 7 页 贵 贵州大学大数据与信息工程学院实习报告 第 8 页
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2