Mr Baggins Computer Technology

Arduino Tutorial - Getting Started

The very first thing every electronics course does is teach you to blink a light, and this is no different. We’re going to jump in straight to making it do something, then explain what we just did before moving on.

Open the Arduino IDE. Your teacher willl tell you where to find it Press Ctrl + a few times to make the writing bigger Delete the code that is already there

The program you’ve just opened lets us write code, and then pushes it over to the Arduino board where it will live forever, doing whatever the code says, until we overwrite it again. When we code, we need to make especially sure we get capitals, punctuation and brackets exactly right.

Copy the following code into the Arduino IDE, making sure to get it exactly the same. Copy paste is an option, but before long you’ll be told to write your own code that isn’t on this site, so it’s probably worth typing at least some of this code yourself for practice.

1
2
3
4
5
6
7
8
9
10
11
12
const int LED = 13;

void setup() {
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
}

We can check our code to see if it can be understood by the Arduino by compiling it. This will get it ready for the Arduino UNO even if the computer isn’t connected to it yet. We do this by clicking the Tick icon in the top left corner. First you will get a box asking if you want to save, which you absolutely should. Then down the bottom it will say “Compiling Sketch” and then hopefully Done Compiling. If it goes orange, it means something went wrong. Make sure your code matches exactly.

Compile your code by clicking the Tick button. When it asks where to save, make sure to put it in your home folder, and give it the name “Blink” so that we can tell it apart from all our future projects. If you don’t save your work where you can find it, you’ll have to rewrite code again later on.

Getting connected

At this point, we have successfully written our code, but unless you’ve done this before, we have no idea what it does. We need to move our code onto the Arduino board so that it can actually use it. When we first plug in an Arduino board, it can sometimes take a little while for the IDE to see it. We need to make sure it does before we can proceed. We check by looking at the connected ports in the IDE.

Go to the View menu at the top of the IDE, look for Port and see what options are there.

These are the ports the computer can already talk to. They are NOT the ones we want. Ever.

Now plug in the Arduino using a USB cable to a port on the computer. Let the board do whatever it’s doing (It will flash a few times) and when it settles down there should be at least one light on it. After a few seconds, go back to View and Port and find out which port has shown up. This is your Arduino port.

Using different plugs on the computer will change this number. If you ever see Problem uploading to board in the orange error bar, it’s because this port number is wrong.

Pushing code to the Arduino

With the IDE now knowing where to find the Arduino, we can finally send our code to it. Find and push the Upload button, it is the arrow next to the Compile Tick. Down the bottom it will say “Uploading” and then hopefully “Done Uploading”. While this happens, some more lights on the Arduino will flash to show it is talking to the computer and getting new code. Once it says “Done uploading” our code is now on the Arduino and running. Hopefully you can see something happening!

Changing the code

We’ve made a blinky light! The speed of the blinks is controlled by how much delay the code has between turning off and on. Notice that the code has two delay lines, and both have a number. Big numbers = big delay = slow. It’s measured in milliseconds which means 1000 = 1 second, so delay(1000) means “delay one second”

Change both of the delay lines from 1000 to 100 and see what happens. Try to make a light that stays on for two seconds then turns off for 250 milliseconds (Long on, short off)

New symbols

There’s some punctuation you probably haven’t used before in this code. Semicolons, curly brackets, round brackets, angle brackets, and double quotes. Get used to these and their names, because we need them a lot in the future.

Inspecting the code

We should take a closer look at the 3 sections of our code before we finish up

Section of code What it does
1
const int LED = 13;

This tells the Arduino to keep track of the number 13 as the name LED so that we can write LED”` later to talk about Pin number 13.

1
2
3
void setup() {
  pinMode(LED, OUTPUT);
}

Setup code runs once, when the Arduino first boots up each time it gets power. Restarting or unplugging and re-plugging the Arduino will make it go again. The pinMode code tells the Arduino that LED (which is #13 remember) will be an OUTPUT. This lets it control a light (or a buzzer, or a motor)

1
2
3
4
5
6
void loop() {
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
}

Loop runs forever once setup is finished. It’s usually the biggest part of your code. It will keep doing it as quick as it can over and over. DigitalWrite lets us turn a pin like #13 HIGH or LOW to turn it ON or OFF. Delay tells the Arduino to wait that many milliseconds. 1000 = 1 second. 500 = half a second.

Wrapping up

Make sure you understand how the code is controlling the light in the above code. Once you do, complete the following challenge activities. You might have already done some while experimenting so they can get signed off straight away.

  1. Make the light blink
  2. Make the light blink faster (Lower delay values)
  3. Make the light stay off for a long time, then do a single quick flash
  4. Make the light blink 3 times fast, then stay off for a long time
  5. Make sure at least one of these is saved as “Blink” in your home folder

Goals for this site

How this site was made

About the Author