El monitor sèrie ens permet comunicar l'ordinador i la placa del microcontrolador mentre estem fent programes de prova.
Per obrir el monitor cal picar sobre la icona
En el nostre programa, haurem d'inicialitzar la comunicació sèrie amb Serial.begin indicant la velocitat (normalment 9600 baud).
Si el nostre programa necessita una segona comunicació sèrie per comunicar-se amb algun sensor o altres dispositius disposem també del Serial1. Amb la majoria de les plaques no podem obrir més de dos canals sèrie ni tampoc fer-ho amb noms diferents.
void setup() {
Serial.begin(9600);
...
}
Per enviar coses al monitor sèrie podem fer servir Serial.print i ens anirà posant les coses una al costat de l'altra. Si fem servir Serial.print enviarà un salt de línia al final i així la següent cosa que s'enviï quedarà a la línia següent.
...
Serial.print("a = ");
Serial.println(a);
...
El següent programa envia a l'ordinador els números de l'1 al 10 i els seus quadrats.
int a;
void setup() {
Serial.begin(9600);
}
void loop() {
delay(1000); // Espera 1 segon
for (a=1; a <= 10; a++) {
Serial.print("a = ");
Serial.print(a);
Serial.print(" a·a = ");
Serial.println(a*a);
}
Serial.println();
Serial.println();
}
El resultat que apareixerà a la pantalla del monitor sèrie serà:
a = 1 a·a = 1 a = 2 a·a = 4 a = 3 a·a = 9 a = 4 a·a = 16 a = 5 a·a = 25 a = 6 a·a = 36 a = 7 a·a = 49 a = 8 a·a = 64 a = 9 a·a = 81 a = 10 a·a = 100 a = 1 a·a = 1 a = 2 a·a = 4 ...
També podem enviar informació al microcontrolador. El següent exemple senzill ens ho mostra.
int rebut;
void setup() {
Serial.begin(9600);
}
void loop() {
// Mira si hi ha caràcters per llegir
if (Serial.available() > 0) {
// Llegim el següent caràcter
rebut = Serial.read();
// i l'escriu al canal sèrie
Serial.print("S'ha rebut: ");
Serial.println(rebut, DEC);
}
}
Si escrivim, per exemple "A4" en la línia d'entrada de la consola sèrie, rebrem:
S'ha rebut: 65 S'ha rebut: 52 S'ha rebut: 10
Ja que 65 és el codi ASCII d ela lletra A i 52 el del dígit 4.El darrer valor, 10, correspon al salt de línia. En la part inferior de la consola sèrie tenim un desplegable que ens permet triar què s'envia quan premem la tecla ENTER. Pot ser un salt de línia (10), un retorn de carro (13), les dues coses o cap de les dues.
També tenim l'opció de rebre text directament, com mostra el següent programa:
String rebut;
void setup() {
Serial.begin(9600);
}
void loop() {
// Mira si hi ha caràcters per llegir
if (Serial.available() > 0) {
// Llegim el següent caràcter
rebut = Serial.readString();
// i l'escriu al canal sèrie
Serial.print("S'ha rebut: ");
Serial.println(rebut);
}
}
Important: Alguns dels programes d'exemple dels sensors d'Adafruit tenen al començament del setup una línia similar a la següent:
while (!Serial);
Aquesta línia bloqueja el programa fins que la connexió sèrie està disponible. Això evita que perdem informació que s'ha enviat a la consola sèrie abans d'haver-la obert.
Quan fem servir les funcions print i println si el que hi posem com a paràmetre són variables de text (o un text entre cometes) s'enviarà el ext corresponent com a caràcters ASCII. Si hi posem una variable numèrica, convertirà les xifres en caràcters ASCII per tal que es mostri correctament un nombre decimal.
En aquestes funcions, podem posar un segon caràcter que indica en quin format es mostren les dades. Els formats possibles són:
| Paràmetre | Format | Exemple | |
| Instruccions | Sortida al monitor sèrie | ||
| No ho indiquem | Decimal | int n = 90; print(b); |
90 |
| DEC | Decimal | int n = 90; print(b, DEC); |
90 |
| HEX | Hexadecimal | int n = 90; print(b, HEX); |
5A |
| OCT | Octal | int n = 90; print(b, OCT); |
132 |
| BIN | Binari | int n = 90; print(b, BIN); |
1011010 |
En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.