Sommario:
- Passaggio 1: stampa sul monitor seriale con blocchi
- Passaggio 2: spiegazione del codice Arduino del monitor seriale
- Passaggio 3: il debugger del codice
- Passaggio 4: avviatori di circuiti seriali di base
- Passaggio 5: grafico dei dati seriali
- Passaggio 6: provalo con un circuito fisico Arduino (opzionale)
- Passaggio 7: quindi, prova…
Video: Monitor seriale Arduino in Tinkercad: 7 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
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
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
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
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
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
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)
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…
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:
Risolvere il problema della porta seriale/driver USB del Mac Lilypad: 10 passaggi (con immagini)
Risolvere il problema della porta seriale/driver USB del Mac Lilypad: a partire dal 2016, il tuo Mac ha meno di 2 anni?Hai recentemente aggiornato al sistema operativo più recente (Yosemite o qualcosa di più recente)?Le tue USB/MP3 Lilypad non funzionano più?Il mio il tutorial ti mostrerà come ho riparato le mie USB Lilypad. L'errore che ho riscontrato era correlato
Luce LED seriale che utilizza LED multicolori: 3 passaggi (con immagini)
Luce LED seriale che utilizza LED multicolori: una luce LED seriale non è così costosa, ma se sei un amante del fai-da-te (un hobbista) come me, puoi creare i tuoi LED seriali ed è più economico della luce disponibile sul mercato. Quindi, oggi io realizzerò la mia luce LED seriale che funziona a 5 Vol
Smartphone Arduino Coms/Monitor seriale tramite Bluetooth HC-05, HC-06: 4 passaggi (con immagini)
Arduino Smartphone Coms/Monitor seriale Via Bluetooth HC-05, HC-06: questo è incredibilmente utile se vuoi testare il tuo schizzo in un ambiente reale, lontano dal tuo PC. Il risultato è che il tuo smartphone si comporta come il monitor seriale Arduino sul tuo PC. I moduli Bluetooth HC-05 e HC-06 sono disponibili
Seriale wireless (UART) per Arduino/STM32/ecc.: 3 passaggi (con immagini)
Wireless Serial (UART) per Arduino/STM32/ecc.: Spero che tutti siano d'accordo con me sul fatto che Arduino Serial sia un ottimo strumento per il debug dei tuoi progetti. Bene, è fondamentalmente l'unica opzione per il debug di un Arduino. Ma a volte non è possibile o pratico far passare un cavo USB dall'Ard
SCHEDA ROBOT PICAXE ECONOMICA E FACILE CON CAVO SERIALE: 12 passaggi (con immagini)
SCHEDA ROBOT PICAXE ECONOMICA E FACILE CON CAVO SERIALE: Ecco le istruzioni su come costruire una SCHEDA PICAXE facile, semplice ed economica per controllare un ROBOT SUMO o da utilizzare su un numero qualsiasi di altri progetti PICAXE 18M2+