
#include <Wireh>
#include "MPU6050h"
#include <Ultrasonich>
#include "I2Cdevh"
#define LED_PIN 13 //指示灯
//MPU6050陀螺仪
//MPU6050 my_gyro(3);
//使用ax, rx来获取二轮车姿态
//x轴加速度 & 偏转角
short ax,rx;
//short = int16_t
//HC-SRO4超声波传感器
//TRIG_PIN & ECHO_PIN
Ultrasonic my_hcsr(5,6);
float distance;
int startTime;
void setup() {
pinMode(LED_PIN,LOW);
//加入I2C总线
Wirebegin();
//初始化串口通信频道
Serialbegin(9600);
//初始化模块
//my_gyroinitialize();
my_hcsrmeasure();
startTime = millis();
//初始化完成后指示灯常亮
pinMode(LED_PIN,HIGH);
}
void loop() {
//获取车身姿态
//ax=my_gyrogetAccelerationX();
//rx=my_gyrogetRotationX();
//获取前方障碍物距离
my_hcsrmeasure();
distance=millis()-startTime;
distance/=1000;
distance=my_hcsrget_cm();
Serialprint(distance,3);
Serialprintln("cm");
delay(50);
}
我的程序,这是超声波测距的程序,检测到物体,你直接让小车左拐,或者右拐就行了:
#include<reg52h>//超声波测距
#include<intrinsh>
#define uint unsigned int
#define uchar unsigned char
uint a,s,time;
sbit tr=P2^1; //发送
sbit re=P2^2; //接收
void delay_us() //延时50us
{
uint i;
for(i=0;i<50;i++)
_nop_();
}
void delay_ms(uint x) //毫秒级延时
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void getdistance1()
{
//uint i=2353;//40厘米来回需要的时间(us) (042/340)1000000
TR1=0;
TH1=0;
TL1=0;
re=0;//接收信号端置0
tr=1;//开始触发
delay_us();//延时50微秒
tr=0; //停止触发
while(re==0); //没有信号返回并且在40厘米障碍物信号返回需要的时间前则等待 (无信号即时返回,防止死循环,阻碍其它程序的执行)
TR1=1;
while(re==1);
TR1=0;
time=TH1256+TL1; //读取脉宽长度
TH1=0;
TL1=0;
s=(time17)/100; //算出来是厘米
if(s<30)
P1=0xfe;
else
P1=0xff;
}
void main()
{
TMOD=0x10;//定时器1模式1
TR1=0;
tr=0;
re=0;
while(1)
{
getdistance1();
}
}
智能家居是以住宅为平台,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。
智能家居就是方便,怎么方便?之前建配龙商场就有个活动,是个智能门锁,通过指纹识别开锁,通过钥匙开锁,通过手机APP开锁,你忘记带钥匙,不会忘记带手机,忘记带手机不会忘了带指纹。所以这就是智能家居的方便点。
问题太大。这个有成熟产品面世了。温度传感器、麦克风模块、雨滴传感器、红外传感器、通过类似的传感器进行判断,通过arinowifi模块继电器模块做个wifi控制。
不过现在成本很大价格很贵。再等2年左右绝对商业化。下面说个应用
这是一个很简单的单片机应用,但与一般单片机不同的是,本作品使用ArinoUNO单片机和Arblock软件编程来实现,所以很适合非专业的爱好者、中小学生来制作,其原理主要是利用超声波传感器检测头部与书本的距离,通过Led发光管和报警声音,提醒使用者,及时纠正不良读写姿势,保护眼睛,预防近视。
一、硬件介绍:
(一)ArinoUNO单片机:这是由一个开放源码的硬件平台和一套专门的软件开发环境组成。它可以用来开发交互产品,它可以读取开关和传感器信号,可以控制电灯、电机和其他物理设备。ArinoUNO(R3版本)采用的微处理器是ATmega328。该版本包括14个数字输入输出IO,6个模拟输入IO,16MHZ的晶体,USB接口,电源接口,烧录头,复位按钮等。
电路结构图
(二)传感器:
1、超声波传感器的引脚有5根,分别是:①VCC电源端②TRIG控制端③ECHO接收端④、⑤GND地线(也即电源的负极)
2、引脚连接:1脚VCC和arino板的VCC脚连接,5脚GND也和相应的GND连接,2脚TRIG可以连接到A板的任意一个数字端口,如3号口,3脚ECHO也一样,如连连至2号口。
3、使用方式——“电平触发”
(三)LED和蜂鸣器:
LED可以选用普通发光二极管,蜂鸣器用普通的就可以,没有特别要求。
二、编程语言的选择:
ArBlock是一款基于Arino爱好者的图形化编程软件,所有程序都可以通过搭积木的方式,把高级的计算机语言和专业的语法,简化为一个个模块,堆砌在一起。
主程序
超声波检测程序
三、功能说明与外观制作:
(一)实物面板图如上所示:
(二)功能说明:
1、开电源,系统自检,8个小灯一闪一闪,LED1亮,表示正常工作。
2、系统读取人头部与书本的距离作为参考数据。
3、系统进入检测状态
LED1——灯亮,电源工作中
LED2:闪烁,表示在检测状态中。
LED3——LED4:姿势正确
LED5——LED6:姿势不对,闪烁,轻轻发出“滴”声提醒。
LED7——LED8:要纠正姿势,闪烁,同时播放音乐,提醒调整距离。
(三)电路焊接与外观制作:
1、电路焊接:
本作品电路结构简单,通过制作这一作品,可以培养初学者焊接技术。焊接顺序是这样:首先用烙铁头给要焊接的地方加热,然后把焊锡丝送到焊接点,等锡熔化到所需要的量时,先移开焊锡丝,再拿开烙铁头,此时焊接点不能移动,否则会出现虚焊。
有一个说明,初学者可能会使用助焊剂来帮助焊接,实际上常用的焊锡丝内部就有松香,就是起到肋焊剂的作用,所以不需要再使用肋焊剂,有些肋焊剂还具有腐蚀性,所以建议不要使用。
2、外观结构制作:
本作品外观采用PVC线槽来设计,这一方法主要还是受PVCBOT-Jason的启发,主要是考虑PVC线槽具有方便切割的特点,因此本作品也算是PVCBOT的一个ArinoUNO单片机实现案例,同时也向Jason和他的团队表示感谢,感谢他们为大家提供那么多的PVCOBOT作品。
以上就是关于这是我在arduino上用hc-sr04超声波测距的代码,但是结果一直都是0.00,不知道哪里错了,求大神解答全部的内容,包括:这是我在arduino上用hc-sr04超声波测距的代码,但是结果一直都是0.00,不知道哪里错了,求大神解答、谁有超声波避障功能的51芯片程序,我的单片机型号是89C52RC、怎么用arduino实现智能家居_arduino智能家居控制系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)