Robotics & Arduino
Basics

pwm 1

Move the LED from pin 7 to PWM pin 9, keeping its resistor.

Touched: brighten pin 9 and reset. Not touched: blink pin 13.

const int TOUCH_SENSOR_PIN = 2;
const int LED_1_PIN = 13;
const int LED_2_PIN = 9; // Moved from pin 7 to PWM pin 9

void setup() {
  pinMode(TOUCH_SENSOR_PIN, INPUT);
  pinMode(LED_1_PIN, OUTPUT);
  pinMode(LED_2_PIN, OUTPUT);
}

void loop() {
  if (digitalRead(TOUCH_SENSOR_PIN) == HIGH) {
    raiseBrightness();
  } else {
    blinkLed(LED_1_PIN, LED_2_PIN);
  }
}

void raiseBrightness() {
  digitalWrite(LED_1_PIN, LOW);

  for (int brightness = 0; brightness <= 255; brightness++) {
    // Stop the climb if we release the sensor
    if (digitalRead(TOUCH_SENSOR_PIN) == LOW) {
      break;
    }

    analogWrite(LED_2_PIN, brightness);
    delay(10);
  }

  analogWrite(LED_2_PIN, 0);
}

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 → 255 → reset.