Sommario:

Monitor seriale Arduino in Tinkercad: 7 passaggi (con immagini)
Monitor seriale Arduino in Tinkercad: 7 passaggi (con immagini)

Video: Monitor seriale Arduino in Tinkercad: 7 passaggi (con immagini)

Video: Monitor seriale Arduino in Tinkercad: 7 passaggi (con immagini)
Video: Arduino #9: Fotoresistori, Analog e Serial Monitor 2024, Luglio
Anonim
Monitor seriale Arduino in Tinkercad
Monitor seriale Arduino in Tinkercad

Progetti Tinkercad »

Tenere traccia di tutto ciò che accade nel tuo programma può essere una battaglia in salita. Il monitor seriale è un modo per ascoltare cosa sta succedendo nel tuo codice riportando al computer tramite il cavo USB. Nel simulatore di circuiti Tinkercad, il monitor seriale si trova nella parte inferiore del pannello Codice e può essere utilizzato anche per rappresentare graficamente le variabili man mano che cambiano. Usa il monitor seriale per "parlare" al computer come un modo per verificare se il codice Arduino sta facendo ciò che intendevi. Questo può essere molto utile per risolvere problemi con il codice (chiamato "debug seriale").

I due circuiti di questa lezione utilizzano le stesse configurazioni delle due lezioni precedenti su ingresso digitale con pulsante e ingresso analogico con potenziometro. Le uniche differenze sono che questi circuiti sono cablati liberamente (nessuna breadboard) e non hanno un LED esterno cablato. Oh, e stanno eseguendo il codice per generare messaggi seriali, che impareremo in questa lezione.

Puoi seguire virtualmente usando i circuiti di Tinkercad. Puoi persino visualizzare questa lezione da Tinkercad (è richiesto l'accesso gratuito)! Esplora il circuito di esempio e costruisci il tuo proprio accanto ad esso. Tinkercad Circuits è un programma gratuito basato su browser che ti consente di costruire e simulare circuiti. È perfetto per l'apprendimento, l'insegnamento e la prototipazione.

Passaggio 1: stampa sul monitor seriale con blocchi

Immagine
Immagine

Usiamo l'editor dei blocchi di codice per ascoltare un pin di input di Arduino, quindi stampare il valore (analogico) o lo stato (digitale) dell'input nella finestra Serial Monitor. Fare clic sul pulsante "Codice" per aprire il pannello del codice.

Fare clic sul monitor seriale nella parte inferiore del pannello del codice.

Fai clic su "Avvia simulazione" per eseguire il codice Arduino di esempio e osserva i numeri nel monitor seriale mentre interagisci con il potenziometro. Puoi fare clic avanti e indietro tra i due Arduino mentre la simulazione è in esecuzione in Tinkercad Circuits, ma solo il circuito analogico verrà visualizzato nel modulo incorporato sopra.

Dopo aver duplicato il circuito di esempio nel tuo account Tinkercad, puoi modificare il codice. Passare alla categoria Codice output, quindi trascinare un blocco "stampa su monitor seriale" e posizionarlo appena prima del blocco seriale già presente nel programma.

Modifica il testo predefinito per etichettare i tuoi dati seriali, ad esempio "sensore: " (non dimenticare lo spazio dopo i due punti) e regola il menu a discesa per stampare senza una nuova riga.

Avvia la simulazione e osserva il cambiamento nel monitor seriale. Puoi impilare blocchi seriali come questo per creare utili messaggi di feedback durante lo sviluppo di qualsiasi codice di progetto.

Passaggio 2: spiegazione del codice Arduino del monitor seriale

Immagine
Immagine

Quando l'editor di codice è aperto in Tinkercad Circuits, puoi fare clic sul menu a discesa a sinistra e selezionare "Blocchi + Testo" per rivelare il codice Arduino generato dai blocchi di codice (non disponibile nel modulo incorporato nel primo passaggio). Questo codice invia i dati da Arduino al monitor seriale, ma in una lezione successiva puoi anche imparare come ricevere dati dal monitor seriale e la comunicazione seriale bidirezionale.

/*

DigitalReadSerial Legge un ingresso digitale sul pin 2, stampa il risultato sul monitor seriale Questo codice di esempio è di dominio pubblico. */

Prima di

impostare()

possiamo vedere un commento su più righe che inizia con

/*

e finisce con

*/

int buttonState = 0;

All'inizio del nostro programma, creeremo una variabile per mantenere lo stato dell'input.

configurazione nulla()

{ pinMode(2, INGRESSO); Serial.begin(9600); }

All'interno del setup, proprio come nelle lezioni sugli ingressi analogici e digitali, il pin collegato all'interruttore o sensore è configurato per essere un ingresso utilizzando il

pinMode()

funzione. Per poter inviare messaggi, Arduino deve aprire un nuovo canale di comunicazione con

Seriale.inizio()

. È come premere il pulsante di chiamata su un telefono: da quel momento si apre una linea di comunicazione per la chiamata. L'argomento dice ad Arduino quanto velocemente comunicare, ad esempio 9600 bit al secondo (aka baud).

ciclo vuoto()

{ // legge il pin di input buttonState = digitalRead(2); // stampa lo stato del pulsante Serial.print("sensor: "); Serial.println(buttonState); ritardo(10); // Ritarda un po' per migliorare le prestazioni della simulazione }

Il codice all'interno del ciclo legge lo stato dell'input con digitalRead() e lo memorizza nella variabile buttonState. Allora una funzione chiamata

Serial.println()

invia i dati al monitor (tramite il cavo USB nel caso di una scheda Arduino fisica). Se hai apportato le modifiche ai blocchi al programma nel passaggio precedente, avrai anche un

Serial.print()

riga di codice.

println

invia una nuova riga dopo il messaggio e

Stampa

non. Usa le virgolette intorno alle etichette di testo, ad esempio

Serial.print("sensore: ");

. Se vuoi creare una singola riga di output di debug seriale, puoi usarne diversi

Serial.print()

comandi seguiti da un singolo

Serial.println()

Passaggio 3: il debugger del codice

Immagine
Immagine

C'è una funzione speciale in Tinkercad Circuits chiamata Debugger. Passa attraverso il tuo codice e ti consente di sbirciare le tue variabili e altro ancora.

Con l'editor di codice aperto, trova il debugger facendo clic sul pulsante con l'icona del bug.

In modalità Blocchi + Testo (o in modalità Solo testo, se preferisci), fai clic su un numero di riga per aggiungere un punto di interruzione, in cui il debugger si fermerà ogni volta durante il ciclo.

Avvia la simulazione.

Passa il mouse sulle variabili durante la pausa per vedere i loro valori.

Passaggio 4: avviatori di circuiti seriali di base

Avviatori di circuiti seriali di base
Avviatori di circuiti seriali di base

Questi circuiti sono disponibili come avviatori di circuito. È possibile utilizzare questi avviatori di circuito ogni volta che si desidera leggere un ingresso digitale o analogico e stamparne lo stato sul monitor seriale.

Prendi gli avviatori del circuito Arduino dal pannello dei componenti (menu a discesa -> Antipasti -> Arduino).

Passaggio 5: grafico dei dati seriali

Grafico dei dati seriali
Grafico dei dati seriali

Tinkercad Circuits ha anche un grafico integrato dei tuoi dati seriali, a condizione che il flusso non contenga alcun testo. Questo è utile per visualizzare i cambiamenti nelle letture del sensore e altri input, nonché per tenere traccia delle variabili nel programma.

Con il monitor seriale aperto, fare clic sul pulsante del grafico per aprire il pannello del grafico. Rimuovi il blocco dell'etichetta del sensore che hai aggiunto in precedenza o usa un nuovo dispositivo di avviamento seriale Arduino per creare un flusso di dati seriale senza testo.

Avvia la simulazione e interagisci con l'input per osservare il cambiamento dei valori del grafico.

Passaggio 6: provalo con un circuito fisico Arduino (opzionale)

Immagine
Immagine

Hai la possibilità di costruire un circuito fisico per accompagnare questo o l'ingresso digitale o le lezioni di ingresso analogico, quindi utilizzare il software Arduino del tuo computer per visualizzare i dati seriali in arrivo tramite il cavo USB. Per programmare il tuo Arduino Uno fisico, dovrai installare il software gratuito (o plug-in per l'editor web), quindi aprirlo.

Collega il circuito Arduino Uno collegando componenti e fili in modo che corrispondano alle connessioni mostrate qui in Circuiti Tinkercad. Per una guida più approfondita su come lavorare con la tua scheda fisica Arduino Uno, dai un'occhiata alla classe Arduino Instructables gratuita (un circuito simile è descritto nella terza lezione).

Copia il codice dalla finestra del codice di Tinkercad Circuits e incollalo in uno schizzo vuoto nel tuo software Arduino, oppure fai clic sul pulsante di download (freccia rivolta verso il basso) e apri

il file risultante utilizzando Arduino. Puoi anche trovare questi esempi nel software Arduino navigando su File -> Esempi -> 03. Analog -> AnalogInOutSerial o File -> Esempi -> 02. Digital -> DigitalInputPullup.

Collega il cavo USB e seleziona la scheda e la porta nel menu Strumenti del software.

Carica il codice sulla tua scheda, quindi fai clic sull'icona della lente di ingrandimento nell'angolo in alto a destra per aprire il monitor seriale. Controlla che il baud rate corrisponda a quello della tua configurazione

Serial.begin(9600)

Premi il pulsante o ruota la manopola e guarda i numeri cambiare nella finestra del monitor seriale.

Passaggio 7: quindi, prova…

Quindi, prova…
Quindi, prova…

Ora che hai imparato a stampare sul monitor seriale, sei pronto per testare nuovi tipi di sensori digitali e analogici e anche per imparare a leggere i dati seriali in ingresso (input da tastiera dell'utente).

Riesci a comporre un singolo circuito e programma che stampi sia gli ingressi analogici che quelli digitali mostrati in questa lezione?

Ecco un collegamento al circuito nella foto e il suo codice Arduino:

int int Stato pulsante = 0;

int valoresensore = 0; void setup() { pinMode(2, INPUT); pinMode(A0, INGRESSO); Serial.begin(9600); } void loop() { // legge il pin di input buttonState = digitalRead(2); // legge l'input sul pin analogico 0: sensorValue = analogRead(A0); // stampa i valori sul monitor seriale Serial.print(buttonState); Serial.print(", "); Serial.println(sensorValue); ritardo(10); // Ritarda un po' per migliorare le prestazioni della simulazione }

Continuare a provare un nuovo sensore e combinare ingressi e uscite, ad esempio nella lezione di grafico a barre LED del sensore di temperatura, lezione di sensore di movimento PIR o lezione di fotoresistenza. (disponibile a breve). Usa la tastiera del tuo computer per inviare dati seriali al tuo Arduino e interpretarli con

Serial.read()

(lezione in arrivo).

Puoi anche apprendere più abilità di elettronica con le lezioni gratuite di Instructables su Arduino, Elettronica di base, LED e illuminazione, stampa 3D e altro ancora.

Consigliato: