NodeMCU_PWM.inf
int ledB = D0;
int ledG = D1;
int ledR = D2;
void setup() {
pinMode(D0, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
//Set PWM frequency 500, default is 1000
//Set range 0~100, default is 0~1023
analogWriteFreq(500);
analogWriteRange(100);
}
// the loop function runs over and over again forever
void loop() {
analogWrite(ledR, 0);
analogWrite(ledG, 0);
analogWrite(ledB, 0);
delay(500);
analogWrite(ledR, 100);
analogWrite(ledG, 100);
analogWrite(ledB, 100);
delay(500);
analogWrite(ledR, 0);
analogWrite(ledG, 0);
analogWrite(ledB, 0);
delay(500);
int i;
for(i=0; i<100; i++){
analogWrite(ledR, i);
delay(10);
}
analogWrite(ledR, 0);
for(i=0; i<100; i++){
analogWrite(ledG, i);
delay(10);
}
analogWrite(ledG, 0);
for(i=0; i<100; i++){
analogWrite(ledB, i);
delay(10);
}
analogWrite(ledB, 0);
for(i=0; i<100; i++8){
analogWrite(ledR, i);
analogWrite(ledG, i);
analogWrite(ledB, i);
delay(10);
}
for(i=100; i>0; i--){
analogWrite(ledR, i);
analogWrite(ledG, i);
analogWrite(ledB, i);
delay(10);
}
}
Reference:
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.
Next:
- simple http server to output PWM, to control color/brightness of RGB LED.
for(i=0; i<100; i++8) Is that a bug?
ReplyDelete