Arduino 自動掀蓋垃圾桶 使用教學

軟體

請先下載連結內的兩個資料夾

Arduino IDE安裝

安裝開發板

  • 點擊左側欄的圖標開啟開發板管理員
  • 搜尋”ESP32″
  • 安裝ESP32開發板

安裝程式庫

  • 點擊左側欄的圖標開啟程式庫管理員
  • 搜尋”ESP32SERVO”
  • 安裝ESP32Servo程式庫
  • 重新啟動Arduino IDE

上傳程式碼

  • 開啟Min資料夾內的”Min.ino”檔案
  • 點擊上方下拉選單,並點擊”選擇其他開發板及連接埠

程式碼參考:

#include <ESP32Servo.h> 

Servo myservo;  // create servo object to control a servo

int servoPin = 4;      // GPIO pin (使用pin 4)

void setup()
{
	// Allow allocation of all timers
	ESP32PWM::allocateTimer(0);
	ESP32PWM::allocateTimer(1);
	ESP32PWM::allocateTimer(2);
	ESP32PWM::allocateTimer(3);
  myservo.attach(servoPin, 500, 2400);
  myservo.write(85);                                      
}

void loop() {
  myservo.write(0);                  // 設定伺服馬達為最小值(開啟狀態)
}
  • 搜尋esp32 c3,選擇ESP32C3 Dev Module
  • 選擇開發板的連接埠,每個電腦連接埠號碼不一定相同(可透過插拔USB確認連接埠號碼)
  • 點擊上傳按鈕
  • 完成! 這個程式會讓伺服馬達設定為最小值,方便我們安裝

硬體

  • 將搖臂鎖上垃圾桶蓋
  • ⚠️請勿過度用力,避免塑膠損壞
  • 使用”厚”雙面泡棉膠將開發板黏在殼體對應的位置
  • ⚠️避免與伺服馬達搖臂碰撞
  • 將伺服馬達的線材接入開發板
  • ⚠️注意線材顏色,不要接錯
  • 將開發板接上TYPE-C電源,伺服馬達會順時針旋轉至最小值
  • 將搖臂卡入伺服馬達軸心,垃圾桶蓋子與本體呈略大於90度,並鎖上軸心螺絲
  • ⚠️請勿過度用力,避免塑膠損壞
  • 使用”薄”雙面泡棉膠將紅外線模組黏貼在外殼側面(左、右側皆可)
  • 將杜邦線插入模組 ⚠️注意線材顏色
  • 將紅外線模組的三條線接上開發板
  • 使用束線帶整理線材

上傳自動掀蓋的程式碼

  • 點擊Knob資料夾,並開啟Knob.ino
  • 與前面相同,選擇好開發板型號與連接埠號碼並上傳

程式碼參考:

#include <ESP32Servo.h> 

Servo myservo;  // create servo object to control a servo

int servoPin = 4;      // 伺服馬達接腳(PIN 4)
int sensorPin = 3;      // 傳感器接腳(PIN 3)
int sensor = 1;

void setup()
{
	// Allow allocation of all timers
	ESP32PWM::allocateTimer(0);
	ESP32PWM::allocateTimer(1);
	ESP32PWM::allocateTimer(2);
	ESP32PWM::allocateTimer(3);
  myservo.attach(servoPin, 500, 2400);

  pinMode(sensorPin,INPUT);                                     
}

void loop() {
  sensor = digitalRead(sensorPin);

  if(sensor == 0){
  myservo.write(0);          // 設定伺服馬達角度(開啟)
  delay(2000);                          
  }
  
  if(sensor == 1){
  myservo.write(90);          // 設定伺服馬達角度(關閉)
  }
}

此時會發現蓋子無法完全閉合,請將程式內下列代碼中的”90″稍微加大(例如95),並上傳,重複此操作直至完全閉合

if(sensor == 1){
  myservo.write(90);         // 設定伺服馬達角度(關閉)
  }

⚠️若閉合時伺服馬達發出異音或是有電流聲,請將參數逐次-1進行微調

恭喜你已完成Arduino 自動掀蓋垃圾桶的學習!


分類:

作者:

標籤: