Preview Mode Links will not work in preview mode

Learn Programming and Electronics with Arduino


Apr 25, 2017

In many cases while using an Arduino, you will want to see the data being generated by the Arduino. One common method of doing this is using the Serial.print() function from the Serial library to display information to your computer’s monitor.

In this week’s episode, we will talk about the intricacies of the Serial.print() function.

This is the first part, of a two part series on the Serial.print() function. Here are the specific topics we will cover in this lesson:

  • Why would you want to use the Serial.print() function?
  • A brief overview of the Serial library
  • The basic use of the Serial.print() function

Like this video?  Sign up for our FREE Arduino Crash Course to get more videos that don't assume you have a PhD.

Why Would You Want to Use the Serial.print() Function?

You may know that a function is a programming tool - it performs a specific task for you. The Serial.print() function’s task is to send information from your Arduino to your computer, so you can see the value displayed on your computer’s monitor.

There are an endless number of reasons you may want to send information from the Arduino to a computer display, but two reasons really stand out to me:

The first reason is being able to see information that you are generating with your Arduino.

For example, if you have a temperature sensor hooked up to your Arduino and you want to see the value that the temperature sensor is recording, then you can use the Serial.print() function to send the data to a computer monitor via the USB cable. If you open up the serial monitor window (Tools > Serial Monitor), you will see the values streaming in from the Arduino.

Image of serial monitor widow using Serial.print() with Arduino to send bits one at a time

The other big reason to send information to a computer display using the Serial.print() function is for developing and debugging Arduino sketches.

Very often, when you are developing an Arduino sketch, what you end up coding does something differently than what you expected it to do. Maybe you have a variable that gets incremented every so often and blinks an LED when it reaches a threshold. When you upload the code to the Arduino, you notice that the LED is blinking more often than it should.

You can look at the code until your eyes bleed, but actually visualizing the variable being incremented [via the Serial.print() function], to see its values every time through the loop() can help explain what is happening very quickly.

A Brief Overview of the Serial Library

We can’t talk about the Serial.print() function, without briefly talking about the Serial library.

Generally speaking, a library is simply a collection of functions that all have something in common.

The print() function is part of a library called the Serial library. Now, it's not cereal like Cheerios or Captain Crunch we're talking about - it's serial as in “one after another”.

Serial.print() with Arduino send bits one at a time

The serial library allows us to interface the Arduino with other hardware, like a computer.

In order for us to use the functions of the Serial library, we have to initiate serial communication - to do this we use the Serial.begin() function. Serial.begin() needs to go in the setup().

 void setup() {    //Initiate Serial communication.   Serial.begin(9600);  } 

Now for reasons beyond the scope of this discussion, it is convenient to use the number 9600 in the Serial.begin() function. The value 9600 specifies the baud rate. The baud rate is the rate at which information will pass from the Arduino to the computer, or in the other direction.

The Basic Use of the Serial.print() Function

Let's talk about how to use the Serial.print() function.

Say we have a sketch. This sketch has a variable called coolFactor.

I want to be able to monitor the value of the coolFactor variable – that is, I want it displayed on my computer screen. A perfect use for the Serial.print() function!

The first thing we must do in the Arduino sketch is begin serial communications. Like we just said, we use the Serial.begin() function and place it within the setup() of the sketch.

 //A variable to hold the level of coolness int coolFactor = 3;  void setup() {    Serial.begin(9600);  }  void loop() {    //Send the value of coolFactor to the the Serial port.   //So we can see it in the serial monitor window   Serial.print(coolFactor);  } 

Now in the loop(), if I want to display coolFactor’s value with print(), I simply type Serial.print() and in the parenthesis I type the variable name.

If we upload this sketch to the Arduino, the value of coolFactor will be sent to the serial port every time through the loop(). In the Arduino IDE, if you open up the serial monitor window [Tools > Serial Monitor], you will see the values streaming down.

In next week’s episode, we’ll talk about some more intricacies of the Serial.print() function.

If you enjoyed this lesson, I welcome you to join 1000's of students who have enjoyed our free Arduino Crash Course - it's a 19 part video training series on using Arduino (You can sign up below).