/* AnalogWriteSerial.ino
https://wokwi.com/projects/395348450321670145
per https://forum.arduino.cc/t/basic-digitalwriteserial-or-analogwriteserial-arduino-examples/1248538?u=davex
This example reads characters from the serial port an sets the dimming level of
the LED with analogWrite().
*/
const int LedPin = 3;
void setup() {
Serial.begin(115200);
Serial.println("Enter characters 0 through 9 to control a LED with analogWrite().");
pinMode(LedPin, OUTPUT);
}
void loop() {
if (Serial.available()) {
int ch = Serial.read();
switch (ch) {
case '0': analogWrite(LedPin, 0); break;
case '1': analogWrite(LedPin, 1); break;
case '2': analogWrite(LedPin, 2); break;
case '3': analogWrite(LedPin, 4); break;
case '4': analogWrite(LedPin, 8); break;
case '5': analogWrite(LedPin, 16); break;
case '6': analogWrite(LedPin, 32); break;
case '7': analogWrite(LedPin, 64); break;
case '8': analogWrite(LedPin, 128); break;
case '9': analogWrite(LedPin, 255); break;
default:
; // ignore other characters
}
}
}