Taula de continguts:

Monitor sèrie Arduino a Tinkercad: 7 passos (amb imatges)
Monitor sèrie Arduino a Tinkercad: 7 passos (amb imatges)

Vídeo: Monitor sèrie Arduino a Tinkercad: 7 passos (amb imatges)

Vídeo: Monitor sèrie Arduino a Tinkercad: 7 passos (amb imatges)
Vídeo: Electrones ingresando al cuerpo - Electricidad estática 2024, Desembre
Anonim
Monitor sèrie Arduino a Tinkercad
Monitor sèrie Arduino a Tinkercad

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

Imatge
Imatge

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

Imatge
Imatge

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

Imatge
Imatge

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

Arrencadors bàsics de circuits en sèrie
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

Dades de sèrie de gràfics
Dades de sèrie de gràfics

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)

Imatge
Imatge

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 …

A continuació, prova …
A continuació, prova …

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: