基于Ameba的倒车雷达系统

电子说

1.2w人已加入

描述

倒车雷达已经非常普遍,这个专案做一个倒车雷达系统。将这个倒车雷达系统整合到遥控车里,就可以实现自动倒车的功能。

硬件方面,我们使用的开发板是webduino,webduino的优点是可以因为web的开发模式简单达成跨平台的需求,亦可以因为网络联机而能遥控操作,缺点则是也受限于网络联机,若无网络则无法运作。

开发工具

Ameba 8195AM

N条连接线蜂鸣器*1

超音波模块*1

超音波链接库(library)

面包版

系统连接如下图

程序代码如下

#include

#define TRIGGER_PIN 12 // 定义模块triger端为数字接脚12

#define ECHO_PIN 13 // 定义模块echo端为数字接脚11

int spk=8; // 定义扬声器为数位接脚13

Ultrasonic ultrasonic(TRIGGER_PIN,ECHO_PIN); //设定HC-SR04初始化参数

void setup()

Serial.begin(9600);

pinMode(spk, OUTPUT);

void loop()

float cmMsec; // 定义浮动数

long microsec = ultrasonic.timing(); //测距,返回的是一个时间单位(microsec)

cmMsec =ultrasonic.convert(microsec,Ultrasonic::CM); //将测得的时间单位计算为距离单位

Serial.print(" CM: ");

Serial.println(cmMsec);

if( cmMsec >= 80 && cmMsec <=100){ // 假设距离介于80~100之间

for(int i = 0; i < 12000; i++) // 循环重复

digitalWrite(spk, 0);

digitalWrite(spk, 1);

delay(300);

else if (cmMsec >= 60 && cmMsec<= 79){ // 假设距离介于60~79之间

for(int i = 0; i < 12000; i++) // 循环重复

digitalWrite(spk, 1);

digitalWrite(spk, 0);

delay(100);

else if (cmMsec >= 40 && cmMsec<= 59){ // 假设距离介于40~59之间

for(int i = 0; i < 12000; i++) // 循环重复

digitalWrite(spk, 1);

digitalWrite(spk, 0);

delay(50);

else if (cmMsec >= 30 && cmMsec<= 39){ // 假设距离介于30~39之间

for(int i = 0; i < 12000; i++) // 循环重复

digitalWrite(spk, 1);

digitalWrite(spk, 0);

delay(20);

else if (cmMsec >= 20 && cmMsec<= 29){ // 假设距离介于20~29之间

for(int i = 0; i < 6000; i++) // 循环重复

digitalWrite(spk, 1);

digitalWrite(spk, 0);

delay(10);

else if (cmMsec<19){ // 假设距离小于19

digitalWrite(spk, 1);

delay(10);

else

digitalWrite(spk, 0);

下载程序到Ameba板,完成

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分