Introduction: Arduino Start Signal

In this project, you'll learn how to make a simple start signal, complete with three signal lights and a starting chime, using Arduino. The starting signal is great to use for games with friends, or if you want to teach kids and students about the basics of circuits!

Supplies

  • Jumper Wire x8
  • 10 Kiloohm Resistor x4
  • 220 Ohm Resistor x1
  • Red, Yellow, and Green LED
  • Button x1
  • Piezo x1
  • Arduino Uno
  • Breadboard

Step 1: Building the Circuit

  1. Connect 5V power and ground from the Arduino to the the Breadboard using jumper wires.
  2. Add in the button, using the 10 kiloohm resistor and connecting it to digital pin 8. Don't forget to also connect the button to power!
  3. Add in the three LEDs, using the 220 ohm resistors and connecting them to digital pin 5,6, and 7.
  4. Finally, add in the piezo again using a 220 ohm resistor and connecting it to digital pin 4.

Step 2: The Code

  • The following code is to be written using Arduino Editor.
  • Read the comments in the code to understand what each section is doing.
const int buttonPin = 8;
const int ledPin = 7; 
const int led2Pin = 6; 
const int led3Pin = 5;
const int buzzerPin = 4; 
int buttonState = 0;
//defining what digital pin each piece of hardware is connected to, and assigning it a name. 

//If you change the positioning of anything on the breadboard, make sure to change it here to. 

void setup(){
  pinMode(ledPin, OUTPUT);
  pinMode(led2Pin, OUTPUT); 
  pinMode(led3Pin, OUTPUT); 
  pinMode(buzzerPin, OUTPUT);
  pinMode(buttonPin, INPUT); 
//defining the lights and buzzer as outputs, and the button as an input
}

void loop(){
  buttonState = digitalRead(buttonPin); 
  if(buttonState == HIGH){
    digitalWrite(ledPin, HIGH); 
    delay(1250);
    digitalWrite(led2Pin, HIGH); 
    delay(1250);
    digitalWrite(led3Pin, HIGH);
    tone(buzzerPin, 1000);
    delay(1000); 
    noTone(buzzerPin);
    //this section dictates what happens when the button is pressed. The first light will turn on, with a 1.25 second break between each. 

    //Once the third light turns on, the buzzer will buzz for 1 second before stopping. If you want to change the time between the lights turning on, change the number in the delay() brackets.
    } else {
    digitalWrite(ledPin, LOW);
    digitalWrite(led2Pin, LOW);
    digitalWrite(led3Pin, LOW); 
    noTone(buzzerPin); 
    //this section dictates what will happen when the button is NOT pressed. It makes sure that the LEDs and buzzer all off when the button isn't pressed. 
  }
}

Step 3: Upload Code to Arduino

  • Use a USB cable to upload the code from the Arduino editor to the Arduino.
  • Press the button to see the start signal go!