กลับไปหน้ารวมไฟล์
ir-remote-controlled-led-chaser-using-arduino-64b304.md

ในบทความนี้ ผมจะนำเสนอ LED Chaser อีกหนึ่งโปรเจกต์

คุณอาจจะถามว่า “LED Chaser อีกแล้วเหรอ! ทำไมล่ะ? มีอะไรใหม่หรือน่าสนใจเหรอ?”

คำตอบของผมคือ “ใช่” ครับ ตามชื่อโปรเจกต์เลย นี่ไม่ใช่แค่ LED Chaser พื้นฐานที่ใช้ micro controller ธรรมดา แต่เป็น IR Remote Controlled LED Chaser หมายความว่าเอฟเฟกต์การไล่ของ LED สามารถเปลี่ยนได้ด้วยรีโมทคอนโทรล ไม่เพียงเท่านั้น อัตราการกะพริบของ LED ยังสามารถเพิ่มหรือลดลงได้ เพื่อทำให้เอฟเฟกต์การไล่เร็วขึ้นหรือช้าลงได้ด้วยรีโมท

โปรเจกต์นี้แสดงให้เห็นถึงวิธีสร้างเอฟเฟกต์การไล่ที่แตกต่างกันบน LED สีต่างๆ โดยใช้ IR Remote (เช่น รีโมท TV, DVD, AC, STB เป็นต้น) ด้วยความช่วยเหลือของ Arduino นอกจากนี้ยังสามารถปรับความเร็วของเอฟเฟกต์การไล่ได้ด้วยรีโมท โปรเจกต์นี้ใช้ IR Remote ของกล่องรับสัญญาณ (STB) ทั่วไป, IR Sensor รุ่น TSOP, LED สีต่างๆ (แดง, เขียว, น้ำเงิน, เหลือง, ขาว) และบอร์ด Arduino UNO ทุกคนสามารถใช้ IR Remote ประเภทใดก็ได้ เพียงแค่ต้องเปลี่ยน Remote Codes ใน Arduino sketch (โปรแกรม) ให้ตรงกับรีโมทที่ใช้ ขั้นตอนการทำนี้จะอธิบายไว้ในส่วนการทำงานด้วย ดังนั้นเรามาดูกันว่าทำได้อย่างไร อันดับแรก มาดูแผนภาพวงจร ตามด้วยคำอธิบายและการทำงานของวงจร

คำอธิบายวงจร:

ดังแสดงในภาพ มีส่วนประกอบในวงจรเพียงไม่กี่ชิ้น เช่น LED สีต่างๆ, Resistors, IR Sensor รุ่น TSOP1738 และส่วนประกอบหลักคือบอร์ด Arduino UNO

· Sensor TSOP1738 มี 3 ขา (1) Vcc (2) Gnd และ (3) output ขา Vcc ได้รับไฟ 5 V จากบอร์ด และขา Gnd ต่อเข้ากับ Ground ของบอร์ด ขา output ของ Sensor ต่อเข้ากับ Digital Input Pin 2 และ 3 ของบอร์ด Arduino Pin 2 ของบอร์ด Arduino ใช้เป็น Interrupt Pin และ Pin 3 ใช้สำหรับรับ IR Remote Code เมื่อ Sensor รับ Code ได้ Pin 2 จะสร้าง Interrupt

· Digital Pin 4 ถึง 13 ของบอร์ดเชื่อมต่อกับ Anode ของ LED สีต่างๆ ผ่าน Current Limiting Resistors ขนาด 470Ω ส่วน Cathode ของ LED ทั้งหมดเชื่อมต่อกับ Ground ของบอร์ด

· Stepper Motor และ ULN2003A Chip ได้รับแหล่งจ่ายไฟภายนอก 5 V

การทำงานของวงจร:

อันดับแรก เราต้องตัดสินใจว่าปุ่มต่างๆ บน IR Remote ปุ่มใดบ้างที่เราจะใช้เพื่อสร้างเอฟเฟกต์การไล่ที่แตกต่างกันและปรับความเร็วของมัน เราต้องการดำเนินการดังต่อไปนี้

1. สร้างเอฟเฟกต์การไล่ 5 แบบที่แตกต่างกัน เช่น สร้างเอฟเฟกต์ที่ 1 เมื่อกดปุ่ม 1 และอื่นๆ

2. เพิ่ม/ลดความเร็วของเอฟเฟกต์การไล่

ผมใช้รีโมทของกล่องรับสัญญาณ (STB) ซึ่งมีปุ่มมากมาย เช่น ปุ่มตัวเลข 0-9, ปุ่มควบคุม Volume, ปุ่มเปลี่ยนช่องขึ้น/ลง, ปุ่มลูกศร เป็นต้น จากปุ่มทั้งหมดเหล่านี้ ผมได้เลือก 7 ปุ่มต่อไปนี้สำหรับการทำงานที่แตกต่างกัน

Digit 1 - สร้างเอฟเฟกต์ 1

Digit 2 - สร้างเอฟเฟกต์ 2

Digit 3 - สร้างเอฟเฟกต์ 3

Digit 4 - สร้างเอฟเฟกต์ 4

Digit 55- สร้างเอฟเฟกต์ 1

Volume UP - เพิ่มความเร็วของเอฟเฟกต์การไล่

Volume down - ลดความเร็วของเอฟเฟกต์การไล่

นั่นหมายความว่าเมื่อกดปุ่มตัวเลขใดๆ ระหว่าง 1 ถึง 5, LED จะเริ่มแสดงเอฟเฟกต์การไล่ที่แตกต่างกัน ปุ่ม Volume UP จะลด LED Blinking Delay ทำให้ความเร็วของเอฟเฟกต์การไล่เร็วขึ้น และปุ่ม Volume Down จะเพิ่ม LED Blinking Delay ทำให้ความเร็วของเอฟเฟกต์การไล่ช้าลง

หลังจากตัดสินใจเลือกปุ่มแล้ว ขั้นตอนต่อไปคือการถอดรหัส Codes ของปุ่มเหล่านี้ ดังที่เราทราบ เมื่อกดปุ่มใดๆ จากรีโมท มันจะส่ง Code ออกมาหนึ่ง Code และการทำงานจะถูกดำเนินการตาม Code นี้ ดังนั้นในการถอดรหัส Codes เหล่านี้ ผมจึงใช้ IR Remote Library สำหรับ Arduino ซึ่งหาได้ง่ายบนอินเทอร์เน็ต

ดังนั้น ให้ดาวน์โหลด Library และใช้ตัวอย่างเพื่อถอดรหัส Codes ของปุ่มรีโมท อัปโหลดโปรแกรมเข้าสู่ Arduino micro controller และเชื่อมต่อ IR Sensor ตามที่แสดงในภาพ ตอนนี้ให้ชี้รีโมทคอนโทรลไปที่ IR Sensor แล้วกดปุ่ม เปิด Serial Monitor แล้วคุณจะสามารถสังเกตเห็น Code ของปุ่มที่กดในรูปแบบตัวเลขได้ จดบันทึก Codes ของปุ่มที่ต้องการ เช่นที่ผมได้จดบันทึก Codes ตามตารางต่อไปนี้

Digit 1 : 2210

Digit 2 : 6308

Digit 3 : 2215

Digit 4 : 6312

Digit 5 : 2219

Volume UP : 6338

Volume down :6292

ใน Arduino sketch Codes ข้างต้นจะถูกใช้เพื่อให้สอดคล้องกับปุ่มที่กดเพื่อดำเนินการตามตารางก่อนหน้า ทีนี้ เรามาดูการทำงานจริงกัน

มีเอฟเฟกต์การไล่ที่แตกต่างกันห้าแบบ

Effect 1: LED ทุกดวงจะติดทีละดวงจากซ้ายไปขวา และจะดับทีละดวงจากขวาไปซ้าย

Effect 2: LED ทุกดวงจะกะพริบทีละดวงจากซ้ายไปขวา และกลับจากขวาไปซ้าย

Effect 3: LED สองดวงจะกะพริบพร้อมกันจากซ้ายไปขวา และกลับจากขวาไปซ้าย

Effect 4 – Water Fall: LED จะติดทีละดวงจากปลายทั้งสองข้างเข้าสู่กึ่งกลาง จากนั้นจะดับจากกึ่งกลางไปยังปลายทั้งสองข้าง เอฟเฟกต์แบบนี้ดูเหมือน water fall

Effect 5 – Fountain: LED จะติดทีละดวงจากกึ่งกลางออกไปยังปลายทั้งสองข้าง จากนั้นจะดับจากปลายทั้งสองข้างกลับเข้าสู่กึ่งกลาง เอฟเฟกต์แบบนี้ดูเหมือน fountain

วิดีโอ IR Remote Controlled LED Chaser Using Arduino 1

วิดีโอ IR Remote Controlled LED Chaser Using Arduino 2

· บอร์ด Arduino ได้รับการจ่ายไฟผ่าน USB

· ในตอนแรก LED จะดับลง และข้อความจะแสดงบน Serial Monitor ของ Arduino IDE ว่า “IRremote controlled LED chaser” Arduino จะรอ Interrupt จาก IR Sensor

· เมื่อกดปุ่ม Digit 1 จากรีโมท IR Sensor จะรับ Code และ Pin 2 จะสร้าง Interrupt

· Arduino จะข้ามไปที่ ISR (Interrupt Service Routine) และถอดรหัส Code สำหรับปุ่มที่กด

· เมื่อได้รับ Code สำหรับปุ่ม 1 มันจะเริ่มสร้างเอฟเฟกต์การไล่แบบที่ 1 บน LED และรอการกดปุ่มใหม่จากรีโมทอีกครั้ง

· ในทำนองเดียวกัน เมื่อกดปุ่มตัวเลขใดๆ Arduino จะถอดรหัสและรับ Code จาก ISR และเริ่มสร้างเอฟเฟกต์การไล่แบบใดแบบหนึ่งจาก 5 แบบ

· เมื่อกดปุ่ม Volume UP, Delay ที่ใช้ระหว่างการกะพริบของ LED จะลดลง ดังนั้น LED จะกะพริบเร็วขึ้น ซึ่งหมายถึงความเร็วของเอฟเฟกต์การไล่เพิ่มขึ้น และข้อความจะแสดงบน Serial Monitor ว่า “blinking speed increased

· ในทำนองเดียวกัน เมื่อกดปุ่ม Volume DOWN, Delay ที่ใช้ระหว่างการกะพริบของ LED จะเพิ่มขึ้น ดังนั้น LED จะกะพริบช้าลง และข้อความจะแสดงบน Serial Monitor ว่า “blinking speed decreased

· หลังจากเพิ่มหรือลดความเร็วแล้ว เมื่อกดปุ่มใดๆ ตั้งแต่ 1 ถึง 5 อีกครั้ง เอฟเฟกต์การไล่จะช้าลงหรือเร็วขึ้น

· LED Blinking Delay จะถูกเปลี่ยนทีละ 25 mili second (ms) ตั้งแต่ 50 ms ถึง 200ms

โปรแกรมSoftware:

การทำงานของโปรเจกต์ทั้งหมดเป็นผลมาจากโปรแกรมที่ดาวน์โหลดลงใน Arduino bo

ข้อมูล Frontmatter ดั้งเดิม

title: "IR Remote Controlled LED Chaser Using Arduino"
description: "The project given here, demonstrates how to generate different chasing effect on different colour LEDs using IR remote (any remote)."
author: "ambhatt"
category: ""
tags:
  - "ir sensor"
  - "ir remote"
  - "led"
  - "arduino"
  - "chaser"
views: 2886
likes: 0
price: 2450
difficulty: "Easy"
components:
  - "1x Arduino UNO"
  - "1x Thermopile IR Sensor, TS105-10L5.5mm"
  - "1x 5 mm LED: Green"
  - "1x Breadboard, 270 Pin"
  - "1x 5 mm LED: Red"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "fdec80a6182fd3199df01a48ee04a29c3e631fa515b1b312d0f15cb95ba0e167"
encryptedPayload: "U2FsdGVkX19UJuYZyKlM1YLB/3BYiKp6RvpwsIQgx6nRyoFvC3Y+WqQYpFKXfwaMyM0V67W9Tpo0udWdrDyROHVhlgh+J2fLm2shwFaaFfw="
seoDescription: "Build an IR Remote Controlled LED Chaser using Arduino to create various chasing effects on LEDs."
videoLinks:
  - "https://www.youtube.com/embed/sGPQ7VQWYlk"
  - "https://www.youtube.com/embed/uvtuPkddxkQ"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/ir-remote-controlled-led-chaser-using-arduino-64b304_cover.jpg"
lang: "th"