這幾天工做忙得差很少了,有點時間繼續折騰個人arduino,上次從TB買的arduino 套件中有一我的體熱能感應模塊,就是用來感應人體接近信號的。今天咱們用這個東東來作一個簡易的智能垃圾桶。要實現的功用是:當有人接近時,垃圾能用自動打開蓋子,人離開時,蓋子能自動關閉。html
1 Arduino單片機 我用的是Arduino Nano
2 人體熱能感應模塊
我用的是一個雜牌的,但接線和使用方式和HC-SR501同樣
3 舵機 SG90
4 翻蓋式垃圾桶 最好是小一點的。
5 手機充電頭和mini USB電源線 直接給單片機供電用的,不是咱們手機個經常使用的microUSB接口或TYPE C接口。
6 導線
7 熱熔膠槍
8 電烙鐵
9 刀片及其它工具
說明:
一、由於SG90舵機的扭矩很小(能夠理解爲這個舵機沒多大勁),只能推進小垃圾桶的蓋子,若是垃圾桶過大,咱們就須要扭矩更大的舵機,並須要給舵機單獨供電。
二、個人arduiono套件隨機贈送的人體熱能感應模塊是一個雜牌的東東,但接線和使用方法與HC-SR501相同。ide
代碼很簡單,只有幾行。工具
#include <Servo.h>//舵機所需類的頭文件 /* * 本例結合人體紅外感應模塊和舵機實現對垃圾桶的自動控制。 * 當人接近或離開垃圾桶時,單片機根據信號強度的變化,操做舵機旋轉到指度角度,實現垃圾桶的自動開關。 * 人體紅外感應模塊型號爲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); }
實物鏈接以下圖:
說明一下:
一、SG-90舵機上有三條線,通常狀況下棕色是地線,接GND,紅色是V+,接正5伏,橙色爲控制線,我接在9號接口。
舵機有兩種驅動方式,第一種方式是無驅動的,能夠用在全部可用的端口上,但程序代碼比較複雜,用起來相對麻煩,第二種是有驅動的,代碼很是簡單,但只能接在九、10兩個口上,本例中使用第二種方式(所在咱們代碼的開頭第一行就引用了舵機驅動類的頭文件)。
二、HC-SR501人體熱能感應模塊也有三個接口,上面標的有,VCC接正5伏,GND接地線,OUT我接在A3上。
三、原本還想加一個LED指示燈,用來在夜間指示垃圾桶的位置,但感應模塊上有一個藍色的指示燈,在人體接近時就會自動點亮,因此這個就省了。oop
一、寫入程序,這個都會,我用的是arduino IDE(1.8.5版的),將上面的代碼複製進去,在麪包板上按上圖接好,編譯後直接點擊上傳就好了。
ui
二、改裝垃圾桶
我找的垃圾桶是那種翻蓋的桌上小垃圾桶,蓋子像一個翹翹板。將蓋子從限位銷中取出來,用刀片將限位銷去掉,而後在限位銷的位置打孔。
而後找一個用完的水筆芯(之因此選擇水筆芯,是由於他的粗細恰好能套在舵機主軸的齒輪上,並且結合得很是緊。)穿過剛纔打的孔和垃圾桶蓋子上的孔,並用熱熔膠固定。
而後在垃圾外側固定舵機、單片機和感應模塊,爲了外面美觀一些,我用3D打印機作了一個小盒子放單片機和感應模塊,沒有的朋友能夠用一個雪茄盒或其它材料代替。
將舵機主軸插入水筆芯的孔中,並用熱熔膠將舵機和小盒子固定住。
須要注意的時,舵機主軸固定在水筆芯的時候要注意舵機的0度和90度位置,以避免出現初始化時垃圾桶蓋子關不嚴的狀況。
調試
使用miniUSB線和手機充電頭給arduino經過5伏直流電,就能夠運行了,運行狀況見如下視頻鏈接。看起來拉風吧!
https://v.youku.com/v_show/id_XNDM5Nzk3MTQ1Mg==.html?spm=a2h3j.8428770.3416059.1code