สอนใช้งาน Arduino UNO รับสัญญาณ AnalogInput จากตัวต้านทานปรับค่าได้ ปรับความสว่างหลอดไฟ LED และแสดงผลค่า Voltage ผ่านจอ LCD
บทความนี้จะสอนใช้งานสอนใช้งาน Arduino UNO รับสัญญาณ AnalogInput จากตัวต้านทานปรับค่าได้หรือที่เรียกกันว่า Volume ให้ปรับความสว่างของหลอดไฟ LED และมีการค่า Voltage ผ่านจอ LCD จะมีวิธีการทำอย่างไรกันนั้น ไปดูกันเลยครับ
แวะอ่านตรงนี้สักหน่อย ⛔
คำสั่ง Analog Read();
int Sensor_Value = analogRead (pin);
pin คือขา Analog -ของ Arduino ที่ต้องการอ่านค่า
Sensor_Value หมายถึง ตัวแปร int สำหรับเก็บค่า สัญญาณ analog มีค่า 0-1023 ที่ขา pin
ตัวอย่างคำสั่ง Analog Read
int val = analogRead (A0);
ต้องการอ่านค่า ขา Analog A0 เก็บในตัวแปรชื่อ val
ค่าที่อ่านได้จาก analogRead(); คือช่วง 0-1023
ส่วนค่าที่สั่งให้แสดงผลจาก analogWrite(); คือช่วง 0-255
ดังนั้น “เราจึงไม่สามารถนำค่าช่วง 0-1023 ไปแสดงผลในช่วง 0-255 ได้”
จะต้องมีการคำนวนก่อน เช่น นำค่าที่อ่านได้ 1023 ไปหาร 4 เพื่อให้ได้ค่า 255 แต่มีอีกวิธีที่แนะนำ จะง่ายกว่าคำนวนเอง ใน Arduino รู้ถึงปัญหาการแปลงข้อมูลไปกลับนี้ จึงมีฟังก์ชั่น map ออกมาช่วย
คำสั่ง map
map(value, fromLow, fromHigh, toLow, toHigh);
value คือ ค่าที่ต้องการคำนวน
fromLow คือ ช่วงที่รับมาค่าต่ำสุด
fromHig คือ ช่วงที่รับมาค่าสูงสุด
toLow คือ ช่วงที่ต้องการแปลง ค่าต่ำสุด
toHigh คือ ช่วงที่ต้องการแปลง ค่าสูงสุด
ตัวอย่างคำสั่ง ต้องการแปลงค่าของ Data ซึ่งมาจากช่วง 0-1023 ให้เป็นช่วง 0-255 เก็นไว้ในตัวแปร outputValue
int outputValue = 0;
int analog_value = analogRead(A0);
outputValue = map(analog_value, 0, 1023, 0, 255);
อุปกรณ์ที่ต้องใช้
- Arduino UNO R3 board + USB CABLE
- ตัวต้านทานปรับค่าได้ 5K Ω
- จอLCD 20×4
- สาย Jumper 20 cm Male to Male
- บอร์ดทดลอง – 400 จุด
- LED สีแดง
- ตัวต้านทาน 330 Ω
หมายเหตุ หลอด LED กับตัวต้านทาน ขึ้นอยู่กับผู้ใช้ว่าจะสีอะไร และตัวต้านทานกี่โอห์ม ศึกษาเพิ่มเติม → คลิก
การต่อวงจร
LCD ⇒ Arduino UNO
SDA → SDA
SCL → SCL
VCC → 5V
GND → GND
Volume ⇒ Arduino UNO
ขา กลาง → Pin A0
ขา ซ้าย → 5V
ขา ขวา → GND
LED ⇒ Arduino UNO
ขา + (ยาว) → Pin 9
ขา – (สั้น) → GND
การติดตั้งโปรแกรม Arduino IDE → คลิก
ทำความรู้จักกับ บอร์ด ARDUINO UNO R3 → คลิก
การใช้งาน LCD 20×4 พร้อม I2C Interface กับบอร์ด Arduino UNO → คลิก
โหลด Library
LCD 20×4 → https://drive.google.com/file/d/1fODSxAGeanyoDC7q7LGIs-K59jSNnXrt/view?usp=sharing
สอนการติดตั้ง Library สำหรับโปรแกรม Arduino IDE → คลิก
ตัวอย่างโค้ด
ดาวน์โหลดโค้ด → คลิก
เมื่ออัพโหลดโค้ดลงบอร์ดเรียบร้อยแล้วเมื่อทำการทดสอบจะได้ผลดังรูป
ยังไงก็ลองเอาไปปรับใช้กับงานของเพื่อน ๆ ดูนะครับ