期中 - Useless box
零件 · Arduino nano · 搖頭開關 · 小開關 · 伺服舵機 · 金屬軸 · 9V電池 · 9V電池扣 · 無用盒本體(3D列印) 說明 透過伺服馬達轉動帶動手臂旋轉,把上蓋頂開後推動搖頭開關。 程式碼 #include <Servo.h> Servo myservo; const int switch_Pin=4; int servo_Position=0; int start_Position=20; void setup() { myservo.attach(2); myservo.write(start_Position); pinMode(switch_Pin,INPUT_PULLUP); Serial.begin(9600); } void loop() { //當搖頭開關往前推時,伺服馬達得位置就會一直+1 //直到手臂把開關推回去,就會跳出該迴圈 while(digitalRead(switch_Pin)==HIGH){ servo_Position++; delay(5); myservo.write(servo_Position); Serial.println("+"); } //當開關在後面時,以及伺服馬達位置不等於start_Position時,馬達位置就會一直-1 //直到開關再次被推到前面,或是馬達位置到start_Position時,就會跳出迴圈。 while(digitalRead(switch_Pin)==LOW&&myservo.read()!=start_Position){ servo_Position--; delay(5); myservo.write(servo_Position); Serial.println("-"); } } 影片 參考 https://crazymaker.com.tw/arduino-useless-box/ https://www.thingiverse.com/thing:1258082