จุดประสงค์
- นักเรียนสามารถต่อวงจรในการใช้ Arduino UNO R3 ตรวจวัดฝนตกและสั่งให้ Servo หมุนได้
- นักเรียนสามารถเขียนโปรแกรมเพื่อใช้ Arduino UNO R3 ตรวจวัดฝนตกและสั่งให้ Servo หมุนได้
- นักเรียนสามารถนำความรู้ที่ได้ไปใช้ในการแก้ปัญหาในชีวิตประจำวันได้
เครื่องมือและอุปกรณ์ในการต่อวงจรการใช้ Arduino UNO R3 ตรวจวัดฝนตกและสั่งให้ Servo หมุน
บอร์ดทดลอง Breadboard
Protoboard หรือ Breadboard คือบอร์ดทดลอง สำหรับต่อวงจรไฟฟ้าและอิเล็กทรอนิกส์ต่างๆโดยไม่ต้องบัดกรีวงจร ซึ่งมีประโยชน์มากทั้งสำหรับผู้เริ่มต้นและผู้ที่ต้องการทดลองต่อวงจรใหม่ๆ โดย Protoboard นั้นมีหลายขนาดด้วยกัน ตั้งแต่ 170 รู , 830 รู จนถึง 1,660 รูเลยทีเดียว
Servo Motor 0-180องศา
RC เซอร์โวมอเตอร์ รุ่น Micro Servo Motor SG90 น้ำหนักเบา (เฟืองเป็นพลาสติก) หมุนได้ 180 องศา
สามารถควบคุมการหมุนที่แม่นยำ servo motor control ชุดนี้มีขนาดเล็กแรงบิด 1.2-1.4 KG/cm
สีน้ำตาลสายกราวด์ สีแดงไฟเข้า 4.8-7.2V สีส้มสัญญาณอินพุต สั่งหมุนซ้าย/ขวา ได้180 องศา
Specifications:
Micro Servo Motor SG90
-Dimensions: 22.6 x 21.8 x 11.4mm
-Weight: 9g.
-Operating Speed (4.8V no load) : 0.12sec / 60 degrees
-Stall Torque (4.8V): 10.2oz / in ( 1.98 kg/cm )
-Temperature Range: 0 to 55
-Dead Band Width: 4usec
-Operation Voltage: 3.5 – 8.4Volts
Arduino Uno R3
Arduino อ่านว่า (อา-ดู-อิ-โน่ หรือ อาดุยโน่) เป็นบอร์ดไมโครคอนโทรเลอร์ตระกูล AVR ที่มีการพัฒนาแบบ Open Sourceคือมีการเปิดเผยข้อมูลทั้งด้าน Hardware และ Software ตัว บอร์ด Arduino ถูกออกแบบมาให้ใช้งานได้ง่าย ดังนั้นจึงเหมาะสำหรับผู้เริ่มต้นศึกษา ทั้งนี้ผู้ใช้งานยังสามารถดัดแปลง เพิ่มเติม พัฒนาต่อยอดทั้งตัวบอร์ด หรือโปรแกรมต่อได้อีกด้วย
โมดูล เซนเซอร์น้ำฝน / ระดับน้ำ Rain Raindrop Water Level Sensor Module Height Depth of Detection
เซนเซอร์น้ำฝน / ระดับน้ำ เมื่อน้ำมาถึงจุดเซนเซอร์ จะให้สัญญาณ 1 ออกมา ใช้ไฟ 3.3 – 5 โวลต์
Library การใช้ Servo
การติดตั้ง Library
คำสั่งการใช้ Arduino UNO R3 ตรวจวัดฝนตกและสั่งให้ Servo หมุน
#include
Servo servo_9;
void setup()
{
pinMode(A0, INPUT);
servo_9.attach(9);
Serial.begin(9600);
Serial.flush();
while(Serial.available()>0)Serial.read();
}
void loop()
{
if ((map(analogRead(A0),0,1023,0,100) > 50)) {
servo_9.write(0);
}
else {
servo_9.write(180);
}
Serial.println(map(analogRead(A0),0,1023,0,100));
delay(1000);
}