付偉韜
垃圾桶是日常生活中的常用物品。傳統(tǒng)的垃圾桶開蓋時(shí)均需采用手動(dòng)或腳踩方式實(shí)現(xiàn),既不衛(wèi)生又不方便。同時(shí),隨著垃圾桶中垃圾的增多,細(xì)菌在其中滋生,如果不及時(shí)清理,會(huì)散發(fā)臭氣和有害物質(zhì),影響人體的健康。
我設(shè)計(jì)了一種智能垃圾桶,它無需手或腳接觸垃圾桶,只需讓手靠近垃圾桶頂部,垃圾桶的蓋子就會(huì)自動(dòng)打開,投入垃圾后桶蓋自動(dòng)關(guān)閉。當(dāng)垃圾桶快裝滿時(shí),會(huì)發(fā)出聲音和燈光提醒。
一、工作原理
1.自動(dòng)感應(yīng)開蓋
人體感應(yīng)模塊可安裝在垃圾桶頂部,便于用戶接近時(shí)受到感應(yīng)。觸發(fā)距離建議設(shè)在15cm左右,既能保證及時(shí)打開蓋子,又能防止誤觸發(fā)。開蓋動(dòng)作可采用伺服電機(jī)驅(qū)動(dòng),便于根據(jù)桶蓋的開合角度設(shè)定電機(jī)的定位角度值。
2.垃圾桶裝滿提示
當(dāng)垃圾將要裝滿時(shí),超聲波信號(hào)被遮擋,傳感器測(cè)得的距離減小,系統(tǒng)計(jì)算的距離小于設(shè)定的閥值時(shí),系統(tǒng)將進(jìn)行警示,提醒及時(shí)處理垃圾。測(cè)距模塊可安裝在垃圾桶內(nèi)側(cè)頂部,并根據(jù)垃圾桶的口徑設(shè)定閥值??赏ㄟ^同時(shí)點(diǎn)亮LED燈和使蜂鳴器發(fā)聲進(jìn)行警示。
智能垃圾桶的系統(tǒng)結(jié)構(gòu)如下圖。
二、線路連接
所需的元器件有Arduino UNO R3開發(fā)板、紅外避障模塊、伺服電機(jī)SG90、測(cè)距模塊HC-SR04、LED燈(紅、綠)、蜂鳴器、9V電池、面包板、10K電阻、連接線。
把以上各組件分別和垃圾桶組裝在一起,通過導(dǎo)線連接各組件,輸入代碼程序測(cè)試各部位動(dòng)作和信號(hào)。最終測(cè)試成功,同時(shí)發(fā)出聲、光提示信號(hào)。
三、編寫代碼
void openDoor() //檢測(cè)開門信號(hào)
{int SensorState =digitalRead(SensorPin); //讀取2引腳的電平
if (SensorState == 1){
digitalWrite(greenledPin,LOW);
myservo.write(180); //關(guān)門
openCheck=0;
}
else{ if (openCheck==1){
digitalWrite(greenledPin,HIGH);
myservo.write(90); //開門 }
else openCheck=1; //保存第一次檢測(cè)結(jié)果
} delay(2000); //防止開蓋誤判延時(shí)2秒
}
void fullCheck() //檢測(cè)桶滿信號(hào)
{ digitalWrite(TrigPin, HIGH); // 向TRIG接口發(fā)送高電平
delayMicroseconds(15); //延時(shí)15微秒
digitalWrite(TrigPin, LOW); // 向TRIG接口發(fā)送低電平
int pulseTime = pulseIn(EchoPin, HIGH); // 讀出脈沖時(shí)間,單位為微秒
distance= pulseTime*0.17; // 將脈沖時(shí)間轉(zhuǎn)化為距離,單位為毫米,聲速為340m/s
if (distance {digitalWrite(redledPin,HIGH); tone(tonePin,523);delay(200); tone(tonePin,578);delay(200); tone(tonePin,659);delay(200); noTone(tonePin); } else // 如果距離大于閥值警示燈熄滅,蜂鳴器不發(fā)聲 { digitalWrite(redledPin,LOW); noTone(tonePin); } 四、改進(jìn) 智能垃圾桶功能基本實(shí)現(xiàn),但在測(cè)試過程中還存在如下問題。 1. 當(dāng)有人或物體偶然從垃圾桶前經(jīng)過,可能會(huì)導(dǎo)致桶蓋誤開。可在系統(tǒng)第一次檢測(cè)到開門信號(hào)時(shí),不立即開桶蓋,而是延遲2秒鐘后再次檢測(cè),如果又接收到開門信號(hào),才觸發(fā)伺服電機(jī)動(dòng)作,打開桶蓋。這也要求手在感應(yīng)器前至少停留2秒鐘才有效。 2. 消除伺服電機(jī)的抖動(dòng)。在測(cè)試過程中,需使用USB線連接電腦、上傳代碼,發(fā)現(xiàn)伺服電機(jī)在固定角位有微小的顫動(dòng)。這是由于伺服電機(jī)較敏感,在驅(qū)動(dòng)伺服電機(jī)轉(zhuǎn)向時(shí)接入負(fù)載的變化會(huì)引起電壓的微小變化,導(dǎo)致伺服電機(jī)抖動(dòng)。所以,可改用獨(dú)立的電源為伺服電機(jī)供電。 總之,Arduino電子互動(dòng)平臺(tái)擁有使用簡單、功能多樣、價(jià)格低廉等優(yōu)點(diǎn),每個(gè)愛上它的人都可以插上想象的翅膀,創(chuàng)造出一個(gè)個(gè)屬于自己的智能創(chuàng)意作品。
發(fā)明與創(chuàng)新·中學(xué)生2017年12期