// ตัวอย่าง การเขียนโปรแกรมบอร์ด Multi Function - Arduino uno r3
// LAB06 analogWrite D11
// ครูวิบูลย์ กัมปนาวราวรรณ อาทิตย์ 26 พฤษาภาคม 2567
const int ledPin = 11; // กำหนดขา PWM ที่ใช้ควบคุม LED
int pwmValue = 0; // ตัวแปรสำหรับเก็บค่า PWM ที่จะส่งไปยัง LED
void setup() {
pinMode(ledPin, OUTPUT); // กำหนดขา ledPin เป็น OUTPUT
Serial.begin(9600); // เริ่มต้นการสื่อสารทาง Serial
}
void loop() {
// ให้ความสว่างของ LED เพิ่มขึ้นจาก 0 ถึง 255 อย่างช้าๆ
for (pwmValue = 0; pwmValue <= 255; pwmValue++) {
analogWrite(ledPin, pwmValue); // ส่งค่า PWM ไปยัง LED
Serial.print("PWM Value: "); // แสดงค่าที่ส่งไปยัง LED ทาง Serial Monitor
Serial.println(pwmValue);
delay(20); // หน่วงเวลาเล็กน้อยเพื่อให้เห็นการเปลี่ยนแปลงช้าๆ
}
analogWrite(ledPin, 0); // เมื่อถึงค่า 255 ให้ความสว่างของ LED กลับไปที่มืด
Serial.println("LED is off, waiting for 1 second...");
delay(1000); // หน่วงเวลา 1 วินาที
}