กลับไปหน้ารวมไฟล์
led-blink-and-fade-with-arduino-9fb899.md

LED กระพริบและค่อยๆ สว่าง/ดับด้วย Arduino

ภาพลวงตาแบบอนาล็อก: การค่อยๆ สว่าง/ดับของ LED

โปรเจกต์ LED Blink and Fade แนะนำแนวคิดที่สำคัญในอิเล็กทรอนิกส์ดิจิทัล นั่นคือ Pulse Width Modulation (PWM) ไมโครคอนโทรลเลอร์เป็นแบบดิจิทัลโดยสมบูรณ์ สามารถส่งเอาต์พุต 5 Volts (เปิด) หรือ 0 Volts (ปิด) ได้เท่านั้น ไม่สามารถส่งเอาต์พุต 2.5 Volts ได้ แล้วเราจะทำให้ LED สว่างที่ความเข้ม 50% ได้อย่างไร?

button_led_basic_interaction_1772681969235.png

แนวคิดของ PWM

เราใช้เทคนิคหลอกตาของมนุษย์ โดยการเปิดและปิด pin อย่างรวดเร็วหลายพันครั้งต่อวินาที ดวงตาจะรวมแสงเข้าด้วยกัน

  • หาก pin เปิดเป็นเวลา 50% และปิดเป็นเวลา 50% LED จะดูสว่างเพียงครึ่งหนึ่ง
  • หากเปิดเป็นเวลา 10% และปิดเป็นเวลา 90% LED จะดูหรี่มาก

ฟังก์ชัน analogWrite()

คุณสามารถใช้ PWM ได้เฉพาะกับ pin บางตัวบนบอร์ดของคุณ (ซึ่งมีเครื่องหมายคลื่น ~ กำกับไว้ เช่น ~3, ~5, ~6, ~9, ~10, ~11 บน Uno)

  1. ฟังก์ชัน analogWrite(pin, value) ยอมรับค่าระหว่าง 0 (ปิดสนิท) ถึง 255 (เปิดสนิท)
  2. ลูปการหายใจ (The Breathing Loop): คุณสร้างลูป for ที่จะเพิ่มค่าตัวแปร brightness อย่างรวดเร็วจาก 0 ไปจนถึง 255 โดยมีการหน่วงเวลาเล็กน้อยเพียง 5 มิลลิวินาที ทำให้ LED ค่อยๆ สว่างขึ้นอย่างนุ่มนวลจากสีดำไปสู่ความสว่างที่จ้ามาก!
  3. ลูปย้อนกลับ (The Return Loop): ลูป for ที่สองจะนับถอยหลัง (brightness--) จาก 255 กลับไปที่ 0 ทำให้ LED ค่อยๆ หรี่แสงลงอย่างนุ่มนวล

ส่วนประกอบที่จำเป็น

  • Arduino Uno/Nano: ตัวสร้าง PWM
  • LED ขนาด 5 มม. ทั่วไป และ ตัวต้านทาน 220-ohm
  • Breadboard และ Jumper Wires

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

title: "LED Blink and Fade with Arduino"
description: "The next step in coding! Move beyond simply turning a light ON and OFF by learning how to use Pulse Width Modulation (PWM) to create smooth, pulsing 'breathing' effects."
category: "Basic Electronics"
difficulty: "Easy"