基于Ameba的倒车雷达系统

倒车雷达已经非常普遍,这个专案做一个倒车雷达系统。将这个倒车雷达系统整合到遥控车里,就可以实现自动倒车的功能。
硬件方面,我们使用的开发板是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板,完成

空中客车与澳大利亚公司签署谅解备忘录 百联集团与华为签署协议
四个PLC程序实例讲解!
周立功教你学程序设计技术:做好软件模块的分层设计,回调函数要这样写
寒武纪三年持续亏损?IPO的背面到底意味着什么?
微型交流电机调速器原理
基于Ameba的倒车雷达系统
如何在PCB设计中考虑电磁兼容性
第六代高通AI引擎进一步提升智能手机AI算力
断路器的保护原理及计算方法
为什么现在手机都采用Type-C接口,它到底有什么不同之处
浅谈GPU: 衡量计算效能的正确姿势(3)
三大运营商正式公布了2019年8月份运营数据
浅谈LoRa与LoRaWAN 分析两者区别
苹果发布macOS Catalina开发者预览版,新添Sidecar功能
小米推出首款无线充电宝容量为10000mAh支持10W无线快充
如何使用深度学习执行文本实体提取
双管正激开关电源的设计原理是什么
使用NineData快速、高效完成Redis差异数据对比!
Imagination GPU获瑞昱半导体(Realtek)选用,助其拓展数字电视市场
从技术对比和产业分析为何5G如此重要?