期中 - 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

留言

這個網誌中的熱門文章

設計提案 : 互動音樂傘