【自動偵測】智慧垃圾桶

Description

Description
作者:黃文玉

前言

前陣子在尋找PM2.5的資料時,發現有一篇文章是寫「智慧家庭」,其中有一個應用是國小學生很容易可以做到的,那就是「智慧垃圾桶」,也把此作品拿到今年冬令營來創作!所以今天就去大創找一下有沒有適合創作的垃圾桶,雖沒有很滿意,但還是找到一個比較合適的!

題目一:智慧垃圾桶

 

說明:此垃圾桶當人一靠近就會自動把蓋子掀開,10秒後再把蓋子蓋住

所需材料:

  • Arduino控制板 X 1
  • 超音波距離感測器 HC-SR04 X 1
  • SG90 伺服馬達 X 1
  • 16孔的自由手臂 X 1
  • 18650電池盒及18650電池 X 2 (註:9V電池電力不足)
  • LED燈 X 1
  • 杜邦線 X
  • 垃圾桶 X 1

硬體部分:

註:原本的程式,SG90的活動角度是介於0度與90度,但發現程式執行久了之後(特別是離線版),啟動SG90到90度時,SG90不會動,會發出怪異的高頻嗡嗡聲音,本體發燙,出現嚴重問題!經上網查資料,發現:

只讓SG90從30 跑到150 度,這是因為SERVO 裡面的定位是透過一顆VR 讀取數值來定位,若是讀者買過電子材料行的可變電阻就會知道,一般的可變電阻能轉的角度就是約120 度。各家SERVO 製造商對於這個角度設定是差很多的,有些甚至只有80 度(中點左右各40 度)而已,有些則可以高達360 度。若是超過許可的運動角度,有可能害SERVO 燒毀或是卡住,甚至可能因此害控制板燒毀

第二個要注意的問題是delay(20); 這行,這有什麼好注意? 這跟SERVO 的特性有關,一般的便宜SERVO,標準的PWM 接受格式是50Hz/sec,也就是每個波長= 1秒/ 50 = 20ms 為每一個脈波的週期長度,所以一個改變位置的指令送出後,需要等待至少20ms再送會比較好,況且,SERVO 是有運動速度的,也得給他時間確實的移動到指令要求的時間,而不是拼命的送出移動指令,送太快並沒有意義,可能還會干擾SERVO 運作。

進入Moto Blockly,剛好這兩個模組 HC-SR04 、SG90 伺服馬達 ,motoblockly也都有相關積木可用

程式碼

#include <Servo.h>

int ultrasonic_trig = 10;
int ultrasonic_echo = A0;

float ultrasonic_distance() {
digitalWrite(ultrasonic_trig, LOW);
digitalWrite(ultrasonic_echo, LOW);
delayMicroseconds(5);
digitalWrite(ultrasonic_trig, HIGH);
delayMicroseconds(10);
digitalWrite(ultrasonic_trig, LOW);
unsigned long sonic_duration = pulseIn(ultrasonic_echo, HIGH);
float distance_cm = (sonic_duration / 2.0) / 29.1;
return distance_cm;
}

Servo servo_6;

void setup()
{
pinMode( ultrasonic_trig , OUTPUT);
pinMode( ultrasonic_echo , INPUT);
pinMode(13, OUTPUT);
servo_6.attach(6);
}
void loop()
{
if (ultrasonic_distance( ) <= 15) {
digitalWrite(13,HIGH);
servo_6.write(120);
delay(5000);

}
digitalWrite(13,LOW);
servo_6.write(30);
delay(20);

}

後記

另外遇到的問題:
1.一開始SG90 伺服馬達的位置是放在桶子後方,但發現蓋子好像太重,SG90無法將蓋子撐開,所以改到後來的位置!大家知道這裡的物理原理嗎?

答案:這與「力矩」有關,一開始的位置要將蓋子打開的力臂很短,所以就要出很大的力才能將蓋子打開,由於力道不足,所以蓋子就打不開!第二個位置因為力臂變很長,所以同樣的力量就可以把蓋子打開了!<< 力矩=力 X 力臂 >>

2.發現用9V的電池電力好像不夠,改用兩顆18650來試試

黃 文玉

黃 文玉

現職為高雄市左營區新上國小電腦老師。
黃 文玉

Latest posts by 黃 文玉 (see all)

    Contact

    Contact
    • Category
      Smart Office
    • Tags
      智慧家庭

    Project簡述

    Project簡述
    • 簡述
      在尋找PM2.5的資料時,發現有一篇文章是寫「智慧家庭」,其中有一個應用是國小學生很容易可以做到的,那就是「智慧垃圾桶」,也把此作品拿到今年冬令營來創作!所以今天就去大創找一下有沒有適合創作的垃圾桶,雖沒有很滿意,但還是找到一個比較合適的!
    • 作者
      黃文玉

    您的姓名 〈需填寫〉

    您的電子郵件信箱 〈需填寫〉

    主旨

    您的信件內容