用arduino做一个智能垃圾桶 | 您所在的位置:网站首页 › 智能垃圾桶作品简介怎么写的 › 用arduino做一个智能垃圾桶 |
这几天工作忙得差不多了,有点时间继续折腾我的arduino,上次从TB买的arduino 套件中有一个人体热能感应模块,就是用来感应人体接近信号的。今天我们用这个东东来做一个简易的智能垃圾桶。要实现的功用是:当有人接近时,垃圾能用自动打开盖子,人离开时,盖子能自动关闭。 一、所需材料和工具:1 Arduino单片机 我用的是Arduino Nano
代码很简单,只有几行。 #include //舵机所需类的头文件 /* * 本例结合人体红外感应模块和舵机实现对垃圾桶的自动控制。 * 当人接近或离开垃圾桶时,单片机根据信号强度的变化,操作舵机旋转到指度角度,实现垃圾桶的自动开关。 * 人体红外感应模块型号为HC-SR501,三条线分别为+5伏,地线和输出信号口,输出信号接A3 * 舵机用型号为sg90,本舵机有三条线,红为+5伏,褐色为GND,橙色为信号给,本例接pin9 * 本例在arduino nano上实验通过 */ Servo myservo; // 创建舵机对象来控制舵机 int angle_pos = 0; int pin_sensory= A3;//设置A3接人体感应信号的out口 int value; void setup() { // 初始化串口通信 Serial.begin(9600); Serial.println("Signal Intensity:"); // 把连接在引脚9上的舵机赋予舵机对其控制 myservo.attach(9); pinMode(pin_sensory,INPUT); myservo.write(angle_pos); } void loop() { value= analogRead(pin_sensory); Serial.println(value); angle_pos=myservo.read(); if (value>=400)//当值大于400时,舵机转到90度,垃圾桶开盖。 //这个值需要自己根据不同距离调整,距离越近,信号越强,经验数据:在距离探头20公分时,强度值约800,人离开后,强度值约40。 { myservo.write(90);//舵机转到90度 delay(50); } else { delay(50); myservo.write(0);//舵机回到0度 } delay(1000); } 三、线路连接实物连接如下图:
1、写入程序,这个都会,我用的是arduino IDE(1.8.5版的),将上面的代码复制进去,在面包板上按上图接好,编译后直接点击上传就行了。
使用miniUSB线和手机充电头给arduino通过5伏直流电,就可以运行了,运行情况见以下视频连接。看起来拉风吧! https://v.youku.com/v_show/id_XNDM5Nzk3MTQ1Mg==.html?spm=a2h3j.8428770.3416059.1 |
CopyRight 2018-2019 实验室设备网 版权所有 |