การใช้ Arduino UNO R3 ตรวจวัดฝนตกและสั่งให้ Servo หมุน

Microcontroller เด่น

จุดประสงค์

  1. นักเรียนสามารถต่อวงจรในการใช้ Arduino UNO R3 ตรวจวัดฝนตกและสั่งให้ Servo หมุนได้
  2. นักเรียนสามารถเขียนโปรแกรมเพื่อใช้ Arduino UNO R3 ตรวจวัดฝนตกและสั่งให้ Servo หมุนได้
  3. นักเรียนสามารถนำความรู้ที่ได้ไปใช้ในการแก้ปัญหาในชีวิตประจำวันได้

เครื่องมือและอุปกรณ์ในการต่อวงจรการใช้ 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);
}

Arduino Block การใช้ Arduino UNO R3 ตรวจวัดฝนตกและสั่งให้ Servo หมุน

การต่อวงจร การใช้ Arduino UNO R3 ตรวจวัดฝนตกและสั่งให้ Servo หมุน