สวัสดีน้องๆทุกคน! วันนี้พี่จะมาสอนทำเอฟเฟกต์ไฟกระพริบ 3 แบบด้วย Arduino Uno กัน เอฟเฟกต์ 3 แบบนี่ก็คือการทำให้ไฟ LED มันกระพริบเป็นแพทเทิร์นต่างๆนั่นเอง โปรเจกต์นี้เป็นโปรเจกต์ Arduino ระดับเริ่มต้น หัวใจช่างต้องรอด! มันจะช่วยให้น้องเข้าใจเรื่องการจัดการสัญญาณดิจิทัล (Digital signal), ตรรกะควบคุมเวลา (Timing control logic) และการออกแบบวงจรพื้นฐาน เอาล่ะ เริ่มกันเลยดีกว่า อย่าช็อตนะตัวนี้!
อุปกรณ์ที่ต้องใช้
- Arduino Uno R3 (1 บอร์ด): บอร์ดไมโครคอนโทรลเลอร์ที่ใช้ชิป ATmega328P เป็น "สมอง" หลักในการประมวลผลคำสั่ง
- LED (3 ดวง): แนะนำให้ใช้สีเดียวกันเพื่อความสวยงามของแพทเทิร์น (พี่ชอบใช้สีเดียวกันนะ ดูเป็นระเบียบดี)
- ตัวต้านทาน 1k โอห์ม (1-3 ตัว): ทำหน้าที่เป็น ตัวต้านทานจำกัดกระแส (Current Limiting Resistor) เพื่อป้องกันไม่ให้กระแสไหลผ่าน LED มากเกินไปจนพัง (1 ตัว - สำหรับต่อกราวด์ร่วม / 3 ตัว - สำหรับต่อที่ขา 5v ของ LED แต่ละดวง)
- สายจัมเปอร์ (ผู้-เมีย, 4 เส้น): สำหรับเชื่อมต่อสัญญาณระหว่างบอร์ด Arduino กับเบรดบอร์ด
- เบรดบอร์ด (1 อัน): ใช้สำหรับประกอบวงจรโดยไม่ต้องบัดกรี
การต่อวงจร
ต่อ LED ทั้งหมดลงบนเบรดบอร์ดให้เรียบร้อย พี่ต่อแบบ (+ve -ve, +ve -ve, +ve -ve) เพื่อให้เข้าใจง่าย วงจรเน้นความเรียบง่ายและเป็นระเบียบ จะได้ไล่สัญญาณได้สะดวก
- ขาเอาต์พุตดิจิทัล:
- ต่อขา แอโนด (ขายาว/5v) ของ LED ดวงแรกเข้ากับขา Digital Pin 5
- ต่อขา แอโนด ของ LED ดวงที่สองเข้ากับขา Digital Pin 6
- ต่อขา แอโนด ของ LED ดวงที่สามเข้ากับขา Digital Pin 7
- ระบบกราวด์: ต่อขา แคโทด (ขาสั้น/Gnd) ของ LED ทั้งสามดวงเข้าด้วยกัน (Common Cathode) จากนั้นต่อเข้ากับขา GND ของ Arduino Uno พร้อมกับตัวต้านทาน 1k โอห์มเพื่อครบวงจร
เป็นอันเรียบร้อย ต่อเสร็จแล้ว!
ตรรกะการเขียนโปรแกรม
หัวใจของโปรเจกต์นี้คือการเขียนโค้ดเพื่อสร้าง "แพทเทิร์น" หรือลำดับการเปิด-ปิด LED โดยใช้คำสั่งพื้นฐานใน Arduino IDE:
pinMode(): กำหนดให้ขา 5, 6 และ 7 เป็นโหมดOUTPUTเพื่อส่งแรงดัน 5V ไปขับ LEDdigitalWrite(): สั่งให้ขานั้นเป็นHIGH(LED ติด) หรือLOW(LED ดับ)delay(): กำหนดช่วงเวลาเป็นมิลลิวินาที (ms) เพื่อสร้างจังหวะของเอฟเฟกต์
ตัวอย่างเอฟเฟกต์ 3 แบบที่น้องเขียนได้:
- เอฟเฟกต์ 1 (ไฟวิ่ง): สั่งให้ LED ติดทีละดวง ตามลำดับจากดวงที่ 1 ไป 3 แล้ววนกลับมาใหม่ (ให้ความรู้สึกเหมือนไฟวิ่ง)
- เอฟเฟกต์ 2 (ไฟเด้ง / Knight Rider): สั่งให้ไฟวิ่งจาก LED ดวงที่ 1 ไป 3 แล้วเด้งกลับจาก 3 มาที่ 1 สร้างเอฟเฟกต์ต่อเนื่อง
- เอฟเฟกต์ 3 (ไฟกระพริบพร้อมกัน): สั่งให้ LED ทั้ง 3 ดวงกระพริบพร้อมกันเป็นจังหวะ เหมาะสำหรับการแจ้งสถานะ
วิดีโอสอน
ดูวิดีโอสอนเต็มได้ที่ YouTube
ทรัพยากรเพิ่มเติม
ดาวน์โหลด Arduino IDE
เริ่มต้นจากโปรเจกต์ LED เล็กๆ แบบนี้จะช่วยสร้างพื้นฐานที่แข็งแรงให้กับโปรเจกต์ที่ซับซ้อนขึ้นในอนาคต เช่น การควบคุมมอเตอร์หรือการใช้เซนเซอร์ต่างๆ ได้เลย สู้งานนะน้อง! Happy coding!