Group B

Q7: Create a program so that when the user enters 'b', the green light blinks, 'g' the green light is illuminated, 'y' the yellow light is illuminated, and 'r' the red light is illuminated.

LED Control

Solution and implementation for Q7 from Internet of Things (iotl).

led_control.c++ Download
const int green_led = 0;
const int yellow_led = 1;
const int red_led = 2;

void setup() {
  // Initialize serial communication
  Serial.begin(9600);
}

char key = 0;

void loop() {
  Serial.begin(9600);

  while (1) {
    key = Serial.read();
    if ((key == 'b') || (key == 'B')) break;
    if ((key == 'g') || (key == 'G')) break;
    if ((key == 'r') || (key == 'R')) break;
    if ((key == 'y') || (key == 'Y')) break;
    delay(100);
  }

  Serial.end();
  delay(200);

  // Set LED pins as outputs
  pinMode(green_led, OUTPUT);
  pinMode(red_led, OUTPUT);
  pinMode(yellow_led, OUTPUT);

  if ((key == 'b') || (key == 'B')) {
    digitalWrite(yellow_led, HIGH);
    digitalWrite(red_led, HIGH);

    for (int i = 0; i < 10; i++) {
      digitalWrite(green_led, LOW);
      delay(500);

      digitalWrite(green_led, HIGH);
      delay(500);
    }
    key = 0;
  }

  if ((key == 'g') || (key == 'G')) {
    digitalWrite(yellow_led, HIGH);
    digitalWrite(green_led, LOW);
    digitalWrite(red_led, HIGH);
    delay(5000);

    digitalWrite(yellow_led, HIGH);
    digitalWrite(green_led, HIGH);
    digitalWrite(red_led, HIGH);
    key = 0;

  } else if ((key == 'y') || (key == 'Y')) {
    digitalWrite(yellow_led, LOW);
    digitalWrite(green_led, HIGH);
    digitalWrite(red_led, HIGH);
    delay(5000);

    digitalWrite(yellow_led, HIGH);
    digitalWrite(green_led, HIGH);
    digitalWrite(red_led, HIGH);
    key = 0;

  } else if ((key == 'r') || (key == 'R')) {
    digitalWrite(yellow_led, HIGH);
    digitalWrite(green_led, HIGH);
    digitalWrite(red_led, LOW);
    delay(5000);

    digitalWrite(yellow_led, HIGH);
    digitalWrite(green_led, HIGH);
    digitalWrite(red_led, HIGH);
    key = 0;
    
  }
}

Other Questions in Internet of Things

See All Available Questions
Download