期中 - 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("-");
}
}
留言
張貼留言