- Building an Arduino Sketch
- Creating Your First Sketch
- Interfacing with Electronic Circuits
- Summary
- Workshop
Creating Your First Sketch
Now that you’ve seen the basics for creating an Arduino program, let’s dive in and create a simple sketch to get a feel for how things work.
Working with the Editor
When you open the Arduino IDE, the editor window starts a new sketch. The name of the new sketch appears in the tab at the top of the editor window area, in the following format:
sketch_mmmddx
where mmm is a three-letter abbreviation of the month, dd is the two-digit numerical date, and x is a letter to make the sketch name unique for the day (for example, sketch_jan01a).
As you type your sketch code into the editor window, the editor will color-code different parts of the sketch code, such as making function names brown and text strings blue. This makes it easier to pick out syntax errors, and comes in handy when you’re trying to debug your sketch.
Now you’re ready to start coding. Listing 4.1 shows the code for the sketch0401 file that we’ll use to test things out. Enter this code into the Arduino IDE editor window.
LISTING 4.1 The sketch0401 Code
int counter = 0; int pin = 13; void setup() { Serial.begin(9600); pinMode(pin, OUTPUT); digitalWrite(pin, LOW); } void loop() { counter = counter + 1; digitalWrite(pin, HIGH); Serial.print(“Blink #”); Serial.println(counter); delay(1000); digitalWrite(pin, LOW); delay(1000); }
You’ll learn what all these different lines of code mean as you go through the rest of the hours, so don’t worry too much about the code for now. The main point now is to have a sketch to practice compiling and running.
The basic idea for this code is to make the Arduino blink the L LED connected to digital port 13 on the Arduino once per second, and also output a message to the Arduino serial port, counting each blink.
After you enter the code into the editor window, choose File > Save As from the menu bar to save the sketch as sketch0401 . Now you’re ready to verify and compile the sketch.
Compiling the Sketch
The next step in the process is to compile the sketch code into the machine language code that the Arduino runs.
Click the verify icon on the toolbar (the checkmark icon), or choose Sketch > Verify/Compile from the menu bar. Figure 4.1 shows the results that you should get if things worked correctly.
FIGURE 4.1 Compiling the sketch0401 code.
As shown in Figure 4.1, you should see a message in the message area that the compile has completed, and the console window should show the final size of the compiled machine language code that will be uploaded to the Arduino.
If you have any typos in the sketch code that cause the compile process to fail, you’ll see an error message in the message area, as shown in Figure 4.2.
FIGURE 4.2 A compiler error displayed in the Arduino IDE.
The Arduino IDE also highlights the line of code that generated the error, making it easier for you to pick out the problem. Also, a more detailed error message appears in the console window area to help even more.
After you get the sketch to compile without any errors, the next step is to upload it to your Arduino.
Uploading Your Sketch
The key to successfully uploading sketches to your Arduino unit is in defining how the Arduino is connected to your workstation. Hour 3, “Using the Arduino IDE,” walked through how to use the Tools > Serial Port menu bar option to set which serial port your Arduino is connected to. After you set that, you should be able to easily upload your compiled sketches.
Just click either the upload icon on the toolbar (the right arrow icon), or select File > Upload from the menu bar. Before the upload starts, the Arduino IDE recompiles the sketch code. This comes in handy when you’re just making quick changes; you can compile and upload the new code with just one click.
When the upload starts, you should see the TX and RX LEDs on the Arduino blink, indicating that the data transfer is in progress. When the upload completes, you should see a message in both the Arduino IDE message area and console window indicating that the upload was completed. If anything does go wrong, you’ll see an error message appear in both the message area and the console window, as shown in Figure 4.3.
FIGURE 4.3 Upload problem message in the Arduino IDE.
If all goes well, you’re ready to start running your sketch on the Arduino. The next section shows you how.
Running Your Program
Now that the sketch code is uploaded onto your Arduino, you’re ready to start running it. However, you might have noticed that once the upload process finished in the Arduino IDE, the L and the TX LEDs on your Arduino unit already started to blink. That’s your sketch running. When the upload process completes, the bootloader automatically reboots the Arduino and runs your program code.
The L LED is blinking because of the digitalWrite() function setting the digital pin 13 first to 0 (no voltage) and then after a second, setting it to 1 (producing a 5V signal). The TX LED is blinking because the Serial.print() function is sending data out the serial port.
You can view the output from the serial port on your Arduino using the serial monitor built in to the Arduino IDE. Just choose Tools > Serial Monitor from the menu bar, or click the serial monitor icon (the magnifying glass icon) on the toolbar. The serial monitor window appears and displays the output received from the Arduino, as shown in Figure 4.4.
FIGURE 4.4 Viewing the Arduino serial port output from the serial monitor.
You might have noticed that after you started the serial monitor, the blink count output restarted back at 1. When you start serial monitor, it sends a signal to the Arduino to reset it, which in turn runs the bootloader to reload the sketch and start over from the beginning.
You can also manually restart a running sketch using the Reset button on the Arduino. On the Arduino Uno R3, you’ll find the Reset button in the upper-left corner of the circuit board. Just push the button and release it to reset the Arduino.
You don’t have to connect the Arduino to the USB port on your workstation for it to run. You can run the Arduino from an external power source, as well, such as a battery pack or AC/DC converter. Just plug the power source into the power socket on the Arduino unit. The Arduino Uno R3 automatically detects power applied to either the USB port or the power port and starts the bootloader program to start your sketch.