ผู้เขียน หัวข้อ: งานครั้งที่ 4 เขียนโปรแกรมปรับค่าความสว่างของ LED (PWM)  (อ่าน 6645 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
เขียนโปรแกรมปรับค่าความสว่างของ  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);
  } 
}
« แก้ไขครั้งสุดท้าย: พฤศจิกายน 16, 2017, 02:48:04 PM โดย admin »