From charlesreid1

Revision as of 21:27, 18 July 2015 by Admin (talk | contribs)

Overview

In this article, we go over a simple blink program using the Arduino Micro. This is the same as the Hello World Arduino Micro circuit, but with the Arduino controlling the voltage of the circuit to make it blink.

In the simple Hello World example, we wanted a constant source of potential, 5 volts, to keep the LED light continuously lit. Now, we want to control the voltage so that we can shut the light on and off. The program we load onto the Arduino microcontroller will allow us to create a logical program to control the voltage.

The Circuit

The circuit for our blink program is almost exactly the same as for the Hello World program, except now we plug it into a numbered pin on the Arduino board:

Bb Blink1.png

Instead of plugging into the 5V pin, we plug it into the D13 pin.

The Program

The first half is changing the circuit; the other half is changing the logic. Here's a very simple blink program that's built into Arduino:

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

void dot()
  int wait = 200;
  digitalWrite(13, HIGH);
  delay(wait);
  digitalWrite(13, LOW);
  delay(wait);
}

void dash() {
  int wait = 600;
  digitalWrite(13, HIGH);
  delay(wait);
  digitalWrite(13, LOW);
  delay(wait);
}


void s() {
  int wait = 200;
  dot();
  delay(wait);
  dot();
  delay(wait);
  dot();
  delay(wait);
}

void o() {
  int wait = 200;
  dash();
  delay(wait);
  dash();
  delay(wait);
  dash();
  delay(wait);
}

// the loop function runs over and over again forever
void loop() {
  s();
  o();
  s();
  delay(1000);
}



// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(200);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(200);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(200);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second

  delay(1000);              // wait for a second

  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second

  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second

  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second

  delay(1000);              // wait for a second

  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(200);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(200);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(200);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second

  delay(1000);              // wait for a second

}