Skip to main content

Arduino Blinking LEDs

Arduino boards have I/Os (Input/Output) that can either receive or transmit signals. One of its basic functions is digital input/output. It can be programmed to output digital signals that can be used drive devices, such as an LED.

To drive an LED, you will have to add a resistor to regulate the current to the LED. The digital output is about 3V (5V or a little less for 5V board), and for an LED the forward voltage is about 2V. What is left (1V) divided by the resistor sets the current. Current is typically 10 to 20mA.



Driving an LED




Below is an example code for alternating LEDs on Arduino Pro Micro Board. It uses pins 2, 3, 4, and 5 as digital outputs. My 11 year old son helped out in the programming. :)

void setup() {
  // initialize digital pins 2, 3, 4, and 5 as outputs.
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(2, LOW);   // turn the LED off (LOW is the voltage level)
  digitalWrite(3, LOW);  
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
 
  delay(500);
 
  digitalWrite(2, LOW);  
  digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
 
  delay(500);
  
  digitalWrite(2, LOW);  
  digitalWrite(3, HIGH); 
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
 
  delay(500);
   
  digitalWrite(2, HIGH);  
  digitalWrite(3, LOW);  
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH); 
 
  delay(500);
  
  digitalWrite(2, HIGH);  
  digitalWrite(3, HIGH);  
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH); 

  delay(500);
 
  digitalWrite(2, LOW);  
  digitalWrite(3, HIGH);  
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);

  delay(500);
 
  digitalWrite(2, HIGH);  
  digitalWrite(3, LOW);  
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
 
  delay(500);
 
  digitalWrite(2, HIGH);  
  digitalWrite(3, HIGH);  
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
 
  delay(500);
 
  digitalWrite(2, HIGH);  
  digitalWrite(3, HIGH);  
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
 
   delay(500);
  
  digitalWrite(2, HIGH);  
  digitalWrite(3, HIGH);  
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
 
  delay(500);

  digitalWrite(2, HIGH);  
  digitalWrite(3, LOW);  
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);

  delay(500);
 
  digitalWrite(2, LOW);  
  digitalWrite(3, LOW);  
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
 
  delay(1000);              // wait for a second
}






Comments

  1. Please accept my deepest gratitude for your outstanding effort. Your writing is flawless, and it is genuinely amazing how well you are able to communicate difficult concepts. Reading your work has been a real pleasure for me, and I've learned a lot and developed some new perspectives.
    if you want to buy robotic components then kindly click here.Arduino Boards

    ReplyDelete

Post a Comment

Popular posts from this blog

Arduino Transistor DC Motor Control

Arduino boards have PWM (Pulse Width Modulation) outputs that can be used to control like the speed of a DC motor. On a Pro Micro, those outputs are encircled white on the board. You can program it such that it outputs on a scale of 1-255, 1 being the slowest and 255 being the fastest. PWM gives out pulses whose width is varied (modulated) while the period is constant. The longer it is high, the higher power it delivers to the circuit. PWM can be used to drive a transistor (switch) which in turn drives the motor ON and OFF. The longer the switch is ON, the higher the power delivered to the motor, and thus faster. The circuit consists of a transistor Q1 (TIP31) NPN transistor, driven by the PWM from Arduino. The resistor is to limit the current to the base, but enough to operate the transistor in saturation when the input is high. The diode is to protect the motor from any back emf that might come from the motor when the current is cut off. The circuit is supplied by a 9V battery. ...

What Can You Do With Two Transistors (BJT)? Part 2 - Transistor Regulator

In the first installment of this series, we talked about what exciting things we can do with just two transistors, in particular BJT transistors. Some of us might probably think that we don't talk a lot about BJT transistors nowadays, not with the thrill, excitement, and trend brought about by high advancements in the technology in the Internet of Things, Machine Learning, Machine Intelligence, Advanced Algorithm, etc.. But we argue that these little circuits and components are constantly in the background of the advancements we see around us and we should not ignore them, as much we will not ignore what we currently enjoy and what the future holds for us. Let's continue to look at the Two-Transistor Series Regulator we talked about in Part 1 . The circuit below is a different version, now using the transistor to provide feedback from the output. This makes the output voltage higher. The output is still derived from the zener voltage. The output voltage is now a s...

To Use Star Ground or Ground Plane? Grounding Series Part II

Building circuits whether on a PC (Printed Circuit) board or a breadboard, grounding have always been important. Careful grounding becomes critical on applications where performance and integrity of the signals are of prime importance. Examples are low-level application such as in audio, in precision sensing and measurement circuits, and in mixed analog and digital circuits . When do we use star ground and ground plane? What is the difference between the two? Which is actually better? We will try to answer first what the difference between the two is. Star Ground Also sometimes called mecca ground, this is based on the concept of creating a single return point in the circuit as a common reference in order to avoid ground loops and thus circuit errors (See figure 1 [1]). In the figure, we could see the input signal return path is shared, assuming very high input impedance and no significant current flowing in it. Those in the path of significant current flow, such as the power supp...