#include <Servo.h>
int buttonPin = 2; // กำหนดให้สวิทซ์อยู่ที่ขา 2
int buttonPin1 = 4; // กำหนดให้สวิทซ์อยู่ที่ขา 4
const int servoPin = 9; // กำหนดให้ SERVO อยู่ที่ขา9
int ledPin = 13; // กำหนดให้หลอดไฟอยู่ที่ขา 13
int ledPin1 = 11; // กำหนดให้หลอดไฟอยู่ที่ขา 11
boolean buttonState = 0; // สถานะของสวิทซ์ตัวที่ 1 เท่ากับ 0
boolean buttonState1 = 0; // สถานะของสวทซ์ตัวที่ 2 เท่ากับ 0
int directionState = 0; // กำหนดให้สถานะของตำแหน่งเท่ากับ 0
Servo servoOne; // กำหนดให้เป็น SERVO ตัวที่ 1
int pos = 0; // กำหนดองศาให้เท่ากับ 0
void setup() {
servoOne.attach(9); // กำหนดให้ SERVO รับสัญาณจากขา 9
servoOne.write(directionState); // กำหนดอ่านค่าสถานะของตำแหน่ง
pinMode(ledPin, OUTPUT); // กำให้หลอดไฟเป็น เอาต์พุท
pinMode(buttonPin, INPUT); // กำหนดให้สวิทซ์เป็น อินพุท
pinMode(ledPin1, OUTPUT); // กำหนดให้หลอดไฟเป็น เอาต์พุท
pinMode(buttonPin1, INPUT); // กำหนดให้ สวิทซ์เป็นอินพุท
}
void loop() {
buttonState = digitalRead(buttonPin); // ให้สถานะของสวิทซ์ไปอ่านค่าสวิซ์ตัวที่ 1
if (buttonState == LOW) { // กำหนดสถานะของสวิทซ์=LOW
digitalWrite(ledPin,HIGH); // เขียนค่าหลอดไฟเป็น HIGH
directionState = 0; // สถานะของตำแหน่งเท่ากับ 0
for (pos = 0; pos < 180; pos = pos + 1) { // เมื่อกดปุ่มจะทำให้ servo หมุนไป180 องศา
servoOne.write(pos);
delay(5);
}
} else {
digitalWrite(ledPin, LOW); // เมื่อปล่อยมืออกจากปุ่มกดไฟก็จะดับ
}
buttonState1 = digitalRead(buttonPin1); // ให้สถานะของสวิทซ์ไปอ่านค่าสวิซ์ตัวที่ 2
if (buttonState1 == LOW) { // กำหนดสถานะของสวิทซ์=LOW
digitalWrite(ledPin1, HIGH); // เขียนค่าหลอดไฟเป็น HIGH
directionState = 0; // สถานะของตำแหน่งเท่ากับ 0
for (pos = 180; pos > 1; pos = pos - 1) { // เมื่อกดปุ่มจะทำให้ servo หมุนไป 0 องศา
servoOne.write(pos);
delay(5);
}
} else {
digitalWrite(ledPin1, LOW); // เมื่อปล่อยมืออกจากปุ่มกดไฟก็จะดับ
}
}
การต่อวงจรและการอะิบาย
1 . สวิทช์ตัวที่ 1 ต่อกับขา 2 ต่อ ตัวต้านทาน ต่อกับไฟบวก ( +5V ) ขาอีกข้างต่อ( GND )
2. ต่อ Led 1 เข้ากับขา 13 ( ขาสั้น ) ส่วนอีกข้างต่อกับไฟบวก ( +5V )
3. สวิทช์ตัวที่ 2 ต่อกับขา 4 ต่อ ตัวต้านทาน ต่อกับไฟบวก ( +5V ) ขาอีกข้างต่อกาว ( GND )
4.ต่อLed 1 เข้ากับขา 13 ( ขาสั้น ) ส่วนอีกข้างต่อกับไฟบวก ( +5V )
5.ต่อ SERVO โดยนำสายสีแดงต่อไฟบวก(+5V)และสายสีน้ำตาลต่อกาว(GND)ส่วนสายสีส้มที่เป็นสายสัญาณให้ต่อกับขาdigition (9)
5.ต่อ SERVO โดยนำสายสีแดงต่อไฟบวก(+5V)และสายสีน้ำตาลต่อกาว(GND)ส่วนสายสีส้มที่เป็นสายสัญาณให้ต่อกับขาdigition (9)
ความคิดเห็น
แสดงความคิดเห็น