Taula de continguts:
- Pas 1: Impressió al monitor sèrie amb blocs
- Pas 2: explicació del codi Arduino del monitor de sèrie
- Pas 3: el depurador de codi
- Pas 4: Arrencadors bàsics de circuits en sèrie
- Pas 5: gràfic de dades de sèrie
- Pas 6: proveu-ho amb un circuit físic d'Arduino (opcional)
- Pas 7: a continuació, proveu …
Vídeo: Monitor sèrie Arduino a Tinkercad: 7 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Projectes Tinkercad »
Fer un seguiment de tot el que passa al vostre programa pot ser una batalla ascendent. El monitor sèrie és una manera d’escoltar el que passa al vostre codi informant de l’ordinador a través del cable USB. Al simulador de circuits de Tinkercad, el monitor sèrie es pot trobar a la part inferior del tauler del codi i també es pot utilitzar per representar gràficament les variables a mesura que canvien. Utilitzeu el monitor sèrie per "parlar" amb l'ordinador com una forma de comprovar si el codi Arduino està fent el que volíeu. Això pot ser molt útil per resoldre problemes amb el vostre codi (anomenat "depuració en sèrie").
Els dos circuits d’aquesta lliçó utilitzen les mateixes configuracions que les dues lliçons anteriors sobre entrada digital amb polsador i entrada analògica amb potenciòmetre. Les úniques diferències són que aquests circuits són de cable lliure (sense taulers de suport) i no tenen un LED extern connectat. Ah, i estan executant codi per generar missatges en sèrie, que aprendrem en aquesta lliçó.
Podeu seguir-lo virtualment utilitzant Tinkercad Circuits. Fins i tot podeu veure aquesta lliçó des de Tinkercad (cal iniciar sessió gratuïta). Exploreu el circuit de mostra i creeu-ne el vostre al costat. Tinkercad Circuits és un programa gratuït basat en navegador que us permet construir i simular circuits. És perfecte per aprendre, ensenyar i crear prototips.
Pas 1: Impressió al monitor sèrie amb blocs
Utilitzem l'editor de blocs de codi per escoltar un pin d'entrada Arduino i, a continuació, imprimim el valor (analògic) o l'estat (digital) de l'entrada a la finestra del monitor sèrie. Feu clic al botó "Codi" per obrir el tauler de codis.
Feu clic al monitor sèrie a la part inferior del tauler de codi.
Feu clic a "Inicia la simulació" per executar el codi Arduino de mostra i observeu els números del monitor sèrie mentre interactueu amb el potenciòmetre. Podeu fer clic endavant i enrere entre els dos Arduinos mentre la simulació s’executa als circuits de Tinkercad, però només el circuit analògic es mostrarà al mòdul incrustat anterior.
Després de duplicar el circuit de mostra al vostre compte de Tinkercad, podeu canviar el codi. Aneu a la categoria de codi de sortida i, a continuació, arrossegueu un bloc "imprimeix al monitor sèrie" i col·loqueu-lo just abans del bloc sèrie que ja està al programa.
Canvieu el text predeterminat per etiquetar les vostres dades de sèrie, com ara "sensor:" (no oblideu l'espai després dels dos punts) i ajusteu el menú desplegable per imprimir sense cap línia nova.
Inicieu la simulació i observeu el canvi al monitor sèrie. Podeu apilar blocs en sèrie com aquest per crear missatges de retroalimentació útils mentre desenvolupeu qualsevol codi de projecte.
Pas 2: explicació del codi Arduino del monitor de sèrie
Quan l'editor de codi està obert a Tinkercad Circuits, podeu fer clic al menú desplegable de l'esquerra i seleccionar "Blocs + Text" per mostrar el codi Arduino generat pels blocs de codi (no disponible al mòdul incrustat al primer pas). Aquest codi envia dades des del Arduino al monitor de sèrie, però en una lliçó posterior també podeu aprendre a rebre dades del monitor de sèrie i la comunicació serial de dues vies.
/*
DigitalReadSerial Llegeix una entrada digital al pin 2, imprimeix el resultat al monitor sèrie Aquest codi d'exemple és de domini públic. * /
Abans de
setup ()
podem veure un comentari de diverses línies que comença per
/*
i acaba amb
*/
int buttonState = 0;
Al principi del nostre programa, crearem una variable per mantenir l'estat de l'entrada.
configuració nul·la ()
{pinMode (2, INPUT); Serial.begin (9600); }
Dins de la configuració, igual que a les lliçons d’entrada analògica i digital, el pin connectat al commutador o al sensor està configurat per ser una entrada mitjançant
pinMode ()
funció. Per poder enviar missatges, Arduino ha d’obrir un nou canal de comunicació amb
Serial.begin ()
. És com prémer el botó de trucada d’un telèfon: des d’aquest moment obriu una línia de comunicació per a la trucada. L'argument indica a l'Arduino la velocitat de comunicació, per exemple, 9600 bits per segon (també conegut com baud).
bucle buit ()
{// llegeix el pin d'entrada buttonState = digitalRead (2); // imprimeix l'estat del botó Serial.print ("sensor:"); Serial.println (buttonState); retard (10); // Retardar una mica per millorar el rendiment de la simulació}
El codi dins del bucle llegeix l'estat de l'entrada amb digitalRead () i l'emmagatzema a la variable buttonState. Llavors una funció anomenada
Serial.println ()
envia les dades al monitor (a través del cable USB en el cas d’una placa Arduino física). Si heu fet els canvis de blocs al programa al pas anterior, també tindreu un
Serial.print ()
línia de codi.
println
envia una nova línia després del missatge i
imprimir
no ho fa. Utilitzeu cometes al voltant de les etiquetes de text, per exemple
Serial.print ("sensor:");
. Si voleu crear una sola línia de sortida de depuració en sèrie, podeu utilitzar-ne diverses
Serial.print ()
ordres seguides d'una sola
Serial.println ()
Pas 3: el depurador de codi
Hi ha una funció especial als circuits de Tinkercad anomenada Depurador. Passa pel vostre codi i us permet examinar les vostres variables i molt més.
Amb l'editor de codi obert, cerqueu el depurador fent clic al botó amb la icona d'error.
Al mode de blocs + text (o del mode només text, si ho preferiu), feu clic a un número de línia per afegir un punt d’interrupció, on el depurador s’aturarà cada cop a través del bucle.
Inicieu la simulació.
Passeu el cursor per sobre de les variables mentre estigueu en pausa per veure els seus valors.
Pas 4: Arrencadors bàsics de circuits en sèrie
Aquests circuits estan disponibles com a arrencadors de circuits. Podeu utilitzar aquests arrencadors de circuits sempre que vulgueu llegir una entrada digital o analògica i imprimir-ne l’estat al monitor sèrie.
Agafeu els arrencadors del circuit Arduino al tauler de components (menú desplegable -> Arrencadors -> Arduino).
Pas 5: gràfic de dades de sèrie
Tinkercad Circuits també inclou gràfics integrats de les vostres dades de sèrie, sempre que el flux no contingui cap text. Això és útil per visualitzar canvis en les lectures del sensor i altres entrades, així com per al seguiment de variables del vostre programa.
Amb el monitor sèrie obert, feu clic al botó de gràfic per obrir el tauler de gràfics. Traieu el bloc d’etiquetes del sensor que heu afegit anteriorment o utilitzeu un nou arrencador sèrie Arduino per crear un flux de dades sèrie sense text.
Inicieu la simulació i interactueu amb l'entrada per veure com canvien els valors del gràfic.
Pas 6: proveu-ho amb un circuit físic d'Arduino (opcional)
Teniu l’opció de crear un circuit físic que s’adapti a aquesta lliçó d’entrada digital o d’entrada analògica i, a continuació, utilitzeu el programari Arduino de l’ordinador per veure les dades serials que arriben pel cable USB. Per programar el vostre Arduino Uno físic, haureu d’instal·lar el programari gratuït (o el connector per a l’editor web) i obrir-lo.
Connecteu el circuit Arduino Uno endollant components i cables perquè coincideixin amb les connexions que es mostren aquí als circuits de Tinkercad. Per aprofundir en el treball amb la placa física Arduino Uno, consulteu la classe gratuïta Instructables Arduino (es descriu un circuit similar a la tercera lliçó).
Copieu el codi de la finestra del codi de Tinkercad Circuits i enganxeu-lo en un esbós buit al vostre programari Arduino o feu clic al botó de descàrrega (fletxa cap avall) i obriu
Podeu trobar aquests exemples al programari Arduino si aneu a Fitxer -> Exemples -> 03. Analògic -> AnalogInOutSerial o Fitxer -> Exemples -> 02. Digital -> DigitalInputPullup.
Connecteu el cable USB i seleccioneu la placa i el port al menú Eines del programari.
Pengeu el codi al tauler i feu clic a la icona de la lupa que hi ha a l'extrem superior dret per obrir el monitor sèrie. Comproveu que la velocitat de transmissió coincideixi amb la de la configuració
Serial.begin (9600)
Premeu el botó o gireu el comandament i observeu com canvien els números a la finestra del monitor sèrie.
Pas 7: a continuació, proveu …
Ara que heu après a imprimir al Serial Monitor, esteu a punt per provar nous tipus de sensors digitals i analògics i també apreneu a llegir les dades serials entrants (entrada de teclat d’usuari).
Podeu compondre un únic circuit i programa que imprimeixi les entrades analògiques i digitals que es mostren en aquesta lliçó?
Aquí teniu un enllaç al circuit de la imatge i el seu codi Arduino:
int int buttonState = 0;
int sensorValue = 0; void setup () {pinMode (2, INPUT); pinMode (A0, INPUT); Serial.begin (9600); } void loop () {// llegir el pin d'entrada buttonState = digitalRead (2); // llegiu l'entrada al pin analògic 0: sensorValue = analogRead (A0); // imprimeix valors al monitor sèrie Serial.print (buttonState); Serial.print (","); Serial.println (sensorValue); retard (10); // Retardar una mica per millorar el rendiment de la simulació}
Continueu provant un sensor nou i combineu entrades i sortides, per exemple, a la lliçó de gràfics de barres LED del sensor de temperatura, a la lliçó del sensor de moviment PIR o a la de fotoresistència. (properament). Utilitzeu el teclat de l'ordinador per enviar dades de sèrie al vostre Arduino i interpretar-les amb
Serial.read ()
(Pròximament la lliçó).
També podeu aprendre més habilitats electròniques amb les classes Instructables gratuïtes d’Arduino, Electrònica bàsica, LED i il·luminació, impressió 3D i molt més.
Recomanat:
Rellotge independent Arduino 3,3 V amb relleu extern de 8 MHz programat des d’Arduino Uno mitjançant ICSP / ISP (amb monitorització en sèrie!): 4 passos
Arduino autònom de 3,3 V amb rellotge extern de 8 MHz programat des d’Arduino Uno a través d’ICSP / ISP (amb supervisió en sèrie!): Objectius: Construir un Arduino autònom que funcioni a 3,3 V des d’un rellotge extern de 8 MHz. Programar-lo mitjançant ISP (també conegut com ICSP, programació sèrie en circuit) des d’un Arduino Uno (que funciona a 5 V). Editeu el fitxer del carregador d’arrencada i graveu
Sensor de llum (fotoresistència) amb Arduino a Tinkercad: 5 passos (amb imatges)
Sensor de llum (fotoresistència) amb Arduino a Tinkercad: aprenem a llegir un fotoresistor, un tipus de resistència variable sensible a la llum, mitjançant l’entrada analògica d’Arduino. També s’anomena LDR (resistència dependent de la llum). Fins ara ja heu après a controlar els LED amb la sortida analògica d’Arduino i a
Mescla de colors LED RGB amb Arduino a Tinkercad: 5 passos (amb imatges)
Mescla de colors LED RGB amb Arduino a Tinkercad: aprenem a controlar els LED multicolors mitjançant les sortides analògiques d’Arduino. Connectarem un LED RGB a l’Arduino Uno i compondrem un programa senzill per canviar-ne el color. Podeu seguir-lo virtualment utilitzant Tinkercad Circuits. Fins i tot podeu veure això
Smartphone Arduino Coms / Monitor de sèrie mitjançant Bluetooth HC-05, HC-06: 4 passos (amb imatges)
Smartphone Arduino Coms / Monitor de sèrie mitjançant Bluetooth HC-05, HC-06: és increïblement útil si voleu provar el vostre esbós en un entorn real, allunyat del vostre PC. El resultat és que el telèfon intel·ligent funciona igual que el monitor sèrie Arduino del vostre PC. Els mòduls Bluetooth HC-05 i HC-06 estan disponibles
Sèrie sense fils (UART) per Arduino / STM32 / etc .: 3 passos (amb imatges)
Wireless Serial (UART) per a Arduino / STM32 / etc .: Esperem que tothom estigui d'acord amb mi que l'Arduino Serial és una gran eina per depurar els vostres projectes. Bé, bàsicament és l'única opció per depurar un Arduino. Però, de vegades, no és possible ni pràctic executar un cable USB des de l'Ard