Instruccions
Per enviar un missatge a l’ordinador, necessitaràs tres ordres diferents: Serial.begin()
, Serial.println()
o Serial.print()
.
Puja el codi de sota a la teva placa i fes clic a Eines -> Monitor Serial a l’IDE de l’Arduino.
void setup() { Serial.begin(9600); } void loop() { Serial.println("Hola Caracola"); delay(1000); }
Veuràs una petita finestra amb el text “Hola Caracola” que apareix una vegada per segon. Aquesta finestra mostra tot el que s’envia al teu ordinador a través del port serial de l’Arduino.
Les ordres utilitzades a dalt són:
Serial.begin(velocidad)
: Inicia la comunicació serial. Velocitat correspon a la rapidesa amb què els missatges són transmesos. És important que tant l’emissor (en aquest cas la placa Arduino) com el receptor (en aquest cas el monitor serial) es comuniquin a la mateixa velocitat. En cas contrari seria com si dues persones s’intentessin comunicar l’una en xinès i l’altra en català. Per ara, utilitza 9600. Aquesta és la velocitat més habitual quan es treballa amb Arduino i Processing.Serial.println(mensaje)
: Mostra un missatge a través del port serial, amb un salt de línia al final, de manera que cada vegada que cridis a la funcióSerial.println()
, el missatge següent s’iniciarà en una nova línia. Elmensaje
és la cadena de text (tipusString
) que vols enviar.Serial.print(mensaje)
: Mostra un missatge a través del port serial. Cada vegada que cridis aSerial.print()
, el següent missatge apareixerà just després, sense nova línia. Novament, elmensaje
és la cadena de text que vols enviar.
Enviar valors de l’LDR
D’entre tot allò que et permet fer la comunicació serial, el més important és testar els teus programes. D’aquesta manera, enlloc d’enviar missatges estàtics pel port serial, pots enviar valors dinàmics que canviïn amb el temps. Això és útil quan vulguis utilitzar un sensor analògic però no sàpigues exactament quins valors llegeix.
Recordes l’exemple anterior, on utilitzàvem un potenciòmetre per calibrar el nostre programa LDR? Enlloc d’això, ara et mostrarem com utilitzar la comunicació serial per fer-ho.
En aquest exemple, llegirem el valor analògic de l’LDR i imprimirem el valor a través del monitor serial. Connecta un TinkerKit LDR al port serial de tres Pins A1. Puja el següent codi i obre el monitor serial.
void setup() { Serial.begin(9600); }void loop() { int lecturaSensor = analogRead(A1); Serial.println(lecturaSensor); delay(1000); }
Aquí no es necessita cap ordre nova. Llegim el valor de l’LDR connectat al port A1 i imprimim el valor a través del monitor serial. El delay() està aquí només per fer més fàcil la lectura de les dades. Quan tinguis una idea precisa sobre quins valors obtindràs, sabràs quin valor utilitzar com a llindar.