侵权投诉
技术:
GPU/CPU 传感器 基础元器件 网络通信 显示 交互技术 电源管理 材料 操作系统 APP 云技术 大数据 人工智能 制造 其它
应用:
可穿戴设备 智能家居 VR/AR 机器人 无人机 手机数码 汽车 平衡车/自行车 医疗健康 运动设备 美颜塑身 早教/玩具 安防监控 智能照明 其它
订阅
纠错
加入自媒体

用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板,完成

作者:Tsao Bruce

声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    智能硬件 猎头职位 更多
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号