Innehållsförteckning:

Arduino seriell bildskärm i Tinkercad: 7 steg (med bilder)
Arduino seriell bildskärm i Tinkercad: 7 steg (med bilder)

Video: Arduino seriell bildskärm i Tinkercad: 7 steg (med bilder)

Video: Arduino seriell bildskärm i Tinkercad: 7 steg (med bilder)
Video: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, November
Anonim
Arduino seriell bildskärm i Tinkercad
Arduino seriell bildskärm i Tinkercad

Tinkercad -projekt »

Att hålla reda på allt som händer i ditt program kan vara en uppförsbacke. Seriell bildskärm är ett sätt att lyssna på vad som händer i din kod genom att rapportera tillbaka till datorn via USB -kabeln. I Tinkercad Circuits -simulatorn finns seriemonitorn längst ner på kodpanelen och kan också användas för att rita variabler när de ändras. Använd Serial Monitor för att "prata" med datorn som ett sätt att kontrollera om Arduino -koden gör vad du tänkt dig. Detta kan vara mycket användbart för att lösa problem med din kod (kallad "seriell felsökning").

De två kretsarna i den här lektionen använder samma konfigurationer som de två föregående lektionerna om digital ingång med en tryckknapp och analog ingång med en potentiometer. De enda skillnaderna är att dessa kretsar är ledade (inga brödbrädor) och inte har någon extern LED ansluten. Åh, och de kör kod för att generera seriella meddelanden, som vi lär oss om i den här lektionen.

Du kan följa med praktiskt taget med hjälp av Tinkercad Circuits. Du kan till och med se den här lektionen från Tinkercad (gratis inloggning krävs)! Utforska provkretsen och bygg din egen bredvid den. Tinkercad Circuits är ett gratis webbläsarbaserat program som låter dig bygga och simulera kretsar. Det är perfekt för lärande, undervisning och prototyper.

Steg 1: Skriva ut till seriemonitorn med block

Bild
Bild

Låt oss använda kodblockredigeraren för att lyssna på en Arduino -ingångsstift och sedan skriva ut värdet (analogt) eller tillståndet (digitalt) för ingången i seriemonitorfönstret. Klicka på knappen "Kod" för att öppna kodpanelen.

Klicka på Serial Monitor längst ner på kodpanelen.

Klicka på "Start Simulation" för att köra provet på Arduino -koden och observera siffrorna i Serial Monitor när du interagerar med potentiometern. Du kan klicka fram och tillbaka mellan de två Arduinos medan simuleringen körs i Tinkercad Circuits, men bara den analoga kretsen visas i den inbäddade modulen ovan.

Efter att du har kopierat provkretsen till ditt Tinkercad -konto kan du ändra koden. Navigera till kategorin Utmatningskod, dra sedan ut ett "skriv ut till seriell bildskärm" -block och placera det strax före det serieblock som redan finns i programmet.

Ändra standardtexten för att märka dina seriella data, till exempel "sensor:" (glöm inte utrymmet efter kolon) och justera rullgardinsmenyn för att skriva ut utan en ny rad.

Starta simuleringen och observera förändringen i seriemonitorn. Du kan stapla seriella block så här för att skapa användbara feedbackmeddelanden samtidigt som du utvecklar en projektkod.

Steg 2: Arduino -kod för seriell bildskärm förklarad

Bild
Bild

När kodredigeraren är öppen i Tinkercad Circuits kan du klicka på rullgardinsmenyn till vänster och välja "Block + Text" för att avslöja Arduino -koden som genereras av kodblocken (finns inte i den inbäddade modulen i det första steget). Denna kod skickar data från Arduino till seriell bildskärm, men i en senare lektion kan du också lära dig hur du tar emot data från den seriella bildskärmen och tvåvägs seriell kommunikation.

/*

DigitalReadSerial Läser en digital ingång på stift 2, skriver ut resultatet till den seriella bildskärmen. Denna exempelkod är i allmän egendom. */

Innan

uppstart()

kan vi se en kommentar med flera rader som börjar med

/*

och slutar med

*/

int buttonState = 0;

I början av vårt program skapar vi en variabel för att hålla inmatningens tillstånd.

void setup ()

{pinMode (2, INGÅNG); Serial.begin (9600); }

Inuti installationen, precis som i de analoga och digitala ingångslektionerna, är stiftet som är anslutet till omkopplaren eller sensorn konfigurerat för att vara en ingång med hjälp av

pinMode ()

fungera. För att kunna skicka meddelanden måste Arduino öppna en ny kommunikationskanal med

Serial.begin ()

. Det är som att trycka på samtalsknappen på en telefon-från det ögonblicket öppnar du en kommunikationslinje för samtalet. Argumentet berättar för Arduino hur snabbt det ska kommuniceras, till exempel 9600 bitar per sekund (aka baud).

void loop ()

{// läs inmatningsknappen buttonState = digitalRead (2); // skriva ut tillståndet för knappen Serial.print ("sensor:"); Serial.println (buttonState); fördröjning (10); // Fördröj lite för att förbättra simuleringsprestanda}

Koden inuti slingan läser inmatningens tillstånd med digitalRead () och lagrar den i buttonState -variabeln. Då kallades en funktion

Serial.println ()

skickar data till bildskärmen (över USB -kabeln vid ett fysiskt Arduino -kort). Om du gjorde blockets ändringar av programmet i föregående steg kommer du också att ha en

Serial.print ()

kodrad.

println

skickar en ny rad efter meddelandet och

skriva ut

gör inte. Använd citat runt texttiketter, till exempel

Serial.print ("sensor:");

. Om du vill skapa en enda rad med seriell felsökning kan du använda flera

Serial.print ()

kommandon följt av en enda

Serial.println ()

Steg 3: Kodfelsökaren

Bild
Bild

Det finns en speciell funktion i Tinkercad Circuits som kallas Debugger. Den går igenom din kod och låter dig titta in på dina variabler och mer.

Med kodredigeraren öppen hittar du felsökaren genom att klicka på knappen med buggikonen.

I läget Block + Text (eller endast textläge, om du föredrar), klicka på ett radnummer för att lägga till en brytpunkt, där felsökaren stannar varje gång genom loop.

Starta simuleringen.

Håll muspekaren över variabler medan den är pausad för att se deras värden.

Steg 4: Grundläggande seriella kretsstartare

Grundläggande seriella kretsstartare
Grundläggande seriella kretsstartare

Dessa kretsar finns som kretsstartare. Du kan använda dessa kretsstartare när som helst när du vill läsa en digital eller analog ingång och skriva ut dess tillstånd till seriemonitorn.

Ta Arduino -kretsstartare från komponentpanelen (rullgardinsmeny -> Förrätter -> Arduino).

Steg 5: Graf seriell data

Graf seriell data
Graf seriell data

Tinkercad Circuits har också inbyggt diagram över dina seriella data, förutsatt att strömmen inte har någon text i den. Detta är praktiskt för att visualisera förändringar i sensoravläsningar och andra ingångar, samt för att spåra variabler i ditt program.

Med seriell bildskärm öppen, klicka på grafknappen för att öppna diagrampanelen. Ta bort sensoretikettblocket som du har lagt till tidigare, eller använd en ny Arduino seriell starter för att skapa en seriell dataström utan text.

Starta simuleringen och interagera med ingången för att se hur grafvärdena ändras.

Steg 6: Prova med en fysisk Arduino -krets (tillval)

Bild
Bild

Du har möjlighet att bygga en fysisk krets för att följa med den här eller den digitala ingången eller analoga ingångslektioner, och sedan använda datorns Arduino -programvara för att se de seriella data som kommer in via USB -kabeln. För att programmera din fysiska Arduino Uno måste du installera den kostnadsfria programvaran (eller plugin för webbredigeraren) och sedan öppna den.

Koppla upp Arduino Uno -kretsen genom att ansluta komponenter och ledningar för att matcha anslutningarna som visas här i Tinkercad Circuits. För en mer ingående genomgång av arbetet med ditt fysiska Arduino Uno-kort, kolla in den kostnadsfria Instructables Arduino-klassen (en liknande krets beskrivs i den tredje lektionen).

Kopiera koden från kodfönstret för Tinkercad Circuits och klistra in den i en tom skiss i din Arduino -programvara, eller klicka på nedladdningsknappen (pil nedåt) och öppna

den resulterande filen med Arduino. Du kan också hitta dessa exempel i Arduino -programvaran genom att navigera till Arkiv -> Exempel -> 03. Analog -> AnalogInOutSerial eller Fil -> Exempel -> 02. Digital -> DigitalInputPullup.

Anslut din USB -kabel och välj ditt kort och port i programvarans meny Verktyg.

Ladda upp koden till ditt kort och klicka sedan på förstoringsglasikonen i det övre högra hörnet för att öppna den seriella bildskärmen. Dubbelkolla att överföringshastigheten matchar den i din installation

Serial.begin (9600)

Tryck på tryckknappen eller vrid på ratten och se hur siffrorna ändras i fönstret Serial Monitor.

Steg 7: Testa sedan …

Prova sedan …
Prova sedan …

Nu när du har lärt dig att skriva ut på seriell bildskärm är du redo att testa nya typer av digitala och analoga sensorer och också lära dig att läsa inkommande seriell data (tangentbordets ingång).

Kan du komponera en enda krets och ett program som skriver ut både de analoga och digitala ingångarna som visas i den här lektionen?

Här är en länk till kretsen på bilden och dess Arduino -kod:

int int buttonState = 0;

int sensorValue = 0; void setup () {pinMode (2, INPUT); pinMode (A0, INPUT); Serial.begin (9600); } void loop () {// läs input pin buttonState = digitalRead (2); // läs ingången på analog pin 0: sensorValue = analogRead (A0); // skriva ut värden till seriell bildskärm Serial.print (buttonState); Serial.print (","); Serial.println (sensorValue); fördröjning (10); // Fördröj lite för att förbättra simuleringsprestanda}

Fortsätt med att prova en ny sensor och kombinera in- och utgångar, till exempel i temperatursensorns LED -stapeldiagramlektion, PIR -rörelsesensorlektion eller fotoresistorlektion. (kommer snart). Använd datorns tangentbord för att skicka seriell data till din Arduino och tolka den med

Serial.read ()

(lektion kommer snart).

Du kan också lära dig mer elektronik med de kostnadsfria Instructables -klasserna om Arduino, grundläggande elektronik, lysdioder och belysning, 3D -utskrift och mer.

Rekommenderad: