IOT > Internet of Thing ESP32 | ESP8266 : เขียนโปรแกรมปรับค่าความสว่างของ LED (PWM)

เขียนโปรแกรมปรับค่าความสว่างของ  LED (PWM)
ฟังก์ชั่นที่ใช้งาน
-analogWrite() http://arduino.cc/en/Reference/AnalogWrite

Analog output
analogWrite(pin, value) enables software PWM on the given pin. PWM may be used on pins 0 to 16. Call analogWrite(pin, 0) to disable PWM on the pin. value may be in range from 0 to PWMRANGE, which is equal to 1023 by default. PWM range may be changed by calling analogWriteRange(new_range).
PWM frequency is 1kHz by default. Call analogWriteFreq(new_frequency) to change the frequency.
Reference http://esp8266.github.io/Arduino/versions/2.0.0/doc/reference.html

ผลของ PWM กับความสว่าง


โจทย์การทดลอง
-เขียนโปรแกรมควบคุมความสว่างของ LED 4 ตัว
-รูปแบบเป็นไฟวิ่งและระดับความสว่างในแต่ละจังหวะและรูปแบบที่แตกต่างกัน
-โปรแกรมรายละเอียดพิเศษรายกลุ่ม (แจ้งให้ทราบเมื่อถึงชั่วโมงเรียน)

วงจรที่ใช้ทดลอง
กรณีใช้บอร์ดรุ่น NodeMCU

กรณีใช้บอร์ดรุ่น WeMos D1 mini


ตัวอย่างโปรแกรม

โค๊ด: [Select]
#define LED1 D2
#define LED2 D3
void setup()  
{
  pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);  
}
void loop()                     
{
  for(int x=0;x<=1023;x+=5)    //Add up step to 5 
  {
    analogWrite(LED1,x);
    analogWrite(LED2,1023-x);    
    delay(50);
  }  
}

ความคิดเห็น