PWN - wave
A brightness counter and a direction flag. Open Serial Monitor at 9600 baud.
Touched: wave pin 9. Not touched: blink pin 13.
const int TOUCH_SENSOR_PIN = 2;
const int LED_1_PIN = 13;
const int LED_2_PIN = 9;
int brightness = 0;
bool goingUp = true;
void setup() {
pinMode(TOUCH_SENSOR_PIN, INPUT);
pinMode(LED_1_PIN, OUTPUT);
pinMode(LED_2_PIN, OUTPUT);
digitalWrite(LED_1_PIN, LOW);
Serial.begin(9600);
}
void loop() {
Serial.println(digitalRead(TOUCH_SENSOR_PIN));
if (digitalRead(TOUCH_SENSOR_PIN) == HIGH) {
raiseBrightness();
} else {
blinkLed(LED_1_PIN, LED_2_PIN);
}
}
void raiseBrightness() {
if (goingUp) {
brightness = brightness + 5;
} else {
brightness = brightness - 5;
}
if (brightness >= 20) {
goingUp = false;
}
if (brightness <= 0) {
goingUp = true;
}
Serial.print("brightness = ");
Serial.println(brightness);
analogWrite(LED_2_PIN, brightness);
delay(500);
}
void blinkLed(int blinkingLed, int otherLed) {
digitalWrite(otherLed, LOW);
digitalWrite(blinkingLed, HIGH);
delay(500);
digitalWrite(blinkingLed, LOW);
delay(500);
}
Hit ✓ Check → Hit → Upload → Touch the sensor.
0 → 20 → 0 · Steps of 5 · 500 ms