Indholdsfortegnelse:

Arduino seriel skærm i Tinkercad: 7 trin (med billeder)
Arduino seriel skærm i Tinkercad: 7 trin (med billeder)

Video: Arduino seriel skærm i Tinkercad: 7 trin (med billeder)

Video: Arduino seriel skærm i Tinkercad: 7 trin (med billeder)
Video: Lesson 101: Using IR Remote to control TV, AC Bulb with Relay, DC Motor and Servo Motor 2024, Juli
Anonim
Arduino seriel skærm i Tinkercad
Arduino seriel skærm i Tinkercad

Tinkercad -projekter »

At holde styr på alt, hvad der foregår i dit program, kan være en op ad bakke. Den serielle skærm er en måde at lytte til, hvad der foregår i din kode ved at rapportere tilbage til computeren via USB -kablet. I Tinkercad Circuits -simulatoren kan Serial Monitor findes i bunden af kodepanelet og kan også bruges til at tegne variabler, når de ændres. Brug Serial Monitor til at "tale" med computeren som en måde at kontrollere, om Arduino -koden gør, hvad du havde til hensigt. Dette kan være meget nyttigt til at løse problemer med din kode (kaldet 'seriel fejlfinding').

De to kredsløb i denne lektion bruger de samme konfigurationer som de to foregående lektioner om digital indgang med en trykknap og analog indgang med et potentiometer. De eneste forskelle er, at disse kredsløb er ledningsfrie (ingen brødbræt) og ikke har en ekstern LED tilsluttet. Åh, og de kører kode for at generere serielle meddelelser, som vi lærer om i denne lektion.

Du kan følge med praktisk talt ved hjælp af Tinkercad -kredsløb. Du kan endda se denne lektion indefra Tinkercad (gratis login kræves)! Udforsk prøvekredsløbet, og byg dit eget ved siden af det. Tinkercad Circuits er et gratis browserbaseret program, der lader dig bygge og simulere kredsløb. Det er perfekt til læring, undervisning og prototyper.

Trin 1: Udskrivning til den serielle skærm med blokke

Billede
Billede

Lad os bruge kodeblokke -editoren til at lytte til en Arduino -input -pin og derefter udskrive værdien (analog) eller tilstand (digital) af input i vinduet Serial Monitor. Klik på knappen "Kode" for at åbne kodepanelet.

Klik på Serial Monitor nederst på kodepanelet.

Klik på "Start Simulation" for at køre prøven Arduino -kode, og observer tallene i Serial Monitor, mens du interagerer med potentiometeret. Du kan klikke frem og tilbage mellem de to Arduinos, mens simuleringen kører i Tinkercad -kredsløb, men kun det analoge kredsløb vises i det integrerede modul ovenfor.

Når du har kopieret prøvekredsløbet til din Tinkercad -konto, kan du ændre koden. Naviger til kategorien Outputkode, træk derefter en blok "udskriv til seriel skærm" ud og placer den lige før den serielle blok, der allerede er i programmet.

Skift standardteksten for at mærke dine serielle data, f.eks. "Sensor:" (glem ikke mellemrummet efter kolon), og juster rullemenuen til at udskrive uden en ny linje.

Start simuleringen, og observer ændringen i Serial Monitor. Du kan stable serielle blokke som denne for at oprette nyttige feedbackbeskeder, mens du udvikler enhver projektkode.

Trin 2: Serial Monitor Arduino -kode forklaret

Billede
Billede

Når kodeeditoren er åben i Tinkercad Circuits, kan du klikke på rullemenuen til venstre og vælge "Blokke + tekst" for at afsløre Arduino -koden, der genereres af kodeblokkene (ikke tilgængelig i det integrerede modul i det første trin). Denne kode sender data fra Arduino til den serielle skærm, men i en senere lektion kan du også lære at modtage data fra den serielle skærm og tovejs seriel kommunikation.

/*

DigitalReadSerial Læser en digital indgang på pin 2, udskriver resultatet til den serielle monitor Denne eksempelkode er i det offentlige domæne. */

Før

Opsætning()

kan vi se en kommentar med flere linjer, der starter med

/*

og slutter med

*/

int buttonState = 0;

Allerede i starten af vores program opretter vi en variabel, der holder tilstanden for input.

ugyldig opsætning ()

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

Inde i opsætningen, ligesom i de analoge og digitale input -lektioner, er stiften tilsluttet kontakten eller sensoren konfigureret til at være en input ved hjælp af

pinMode ()

fungere. For at kunne sende beskeder skal Arduino åbne en ny kommunikationskanal med

Serial.begin ()

. Det er som at trykke på opkaldsknappen på en telefon-fra det øjeblik åbner du en kommunikationslinje til opkaldet. Argumentet fortæller Arduinoen, hvor hurtigt der skal kommunikeres, f.eks. 9600 bits pr. Sekund (aka baud).

hulrum ()

{// læs input pin buttonState = digitalRead (2); // udskriv tilstanden af knappen Serial.print ("sensor:"); Serial.println (buttonState); forsinkelse (10); // Forsink lidt for at forbedre simuleringseffektiviteten}

Koden inde i sløjfen læser tilstanden af input med digitalRead () og gemmer den i buttonState -variablen. Derefter kaldes en funktion

Serial.println ()

sender dataene til skærmen (over USB -kablet i tilfælde af et fysisk Arduino -kort). Hvis du foretog blokerne ændringer til programmet i det foregående trin, har du også en

Serial.print ()

kode linje.

println

sender en ny linje efter meddelelsen, og

Print

gør ikke. Brug f.eks. Citater omkring tekstetiketter

Serial.print ("sensor:");

. Hvis du vil lave en enkelt serie seriel fejlfindingsoutput, kan du bruge flere

Serial.print ()

kommandoer efterfulgt af en enkelt

Serial.println ()

Trin 3: Kodefejlfinding

Billede
Billede

Der er en særlig funktion i Tinkercad Circuits kaldet Debugger. Det går igennem din kode og giver dig mulighed for at kigge ind på dine variabler og mere.

Når kodeditoren er åben, skal du finde Debugger ved at klikke på knappen med fejlikonet.

I Blokke + Tekst-tilstand (eller kun tekst-tilstand, hvis du foretrækker det), skal du klikke på et linjenummer for at tilføje et brudpunkt, hvor fejlfindingen stopper hver gang gennem løkken.

Start simuleringen.

Hold markøren over variabler, mens de er sat på pause for at se deres værdier.

Trin 4: Grundlæggende serielle kredsløbsstartere

Grundlæggende serielle kredsløbsstartere
Grundlæggende serielle kredsløbsstartere

Disse kredsløb er tilgængelige som kredsløbsstartere. Du kan bruge disse kredsløbsstartere, når du vil læse en digital eller analog indgang og udskrive dens tilstand til den serielle skærm.

Tag Arduino -kredsløbsstarter fra komponentpanelet (rullemenu -> Startere -> Arduino).

Trin 5: Grafiske seriedata

Grafiske serielle data
Grafiske serielle data

Tinkercad Circuits har også indbygget graf af dine serielle data, forudsat at strømmen ikke har nogen tekst i dem. Dette er praktisk til at visualisere ændringer i sensoraflæsninger og andre input, samt til sporing af variabler i dit program.

Mens den serielle skærm er åben, skal du klikke på graf -knappen for at åbne grafpanelet. Fjern sensormærkatblokken, som du tilføjede tidligere, eller brug en frisk Arduino seriel starter til at oprette en seriel datastrøm uden tekst.

Start simuleringen, og interager med input for at se grafværdierne ændre sig.

Trin 6: Prøv det med et fysisk Arduino -kredsløb (valgfrit)

Billede
Billede

Du har mulighed for at opbygge et fysisk kredsløb til at følge med dette eller de digitale input eller analoge input lektioner, og brug derefter din computers Arduino -software til at se de serielle data, der kommer ind via USB -kablet. For at programmere din fysiske Arduino Uno skal du installere den gratis software (eller plugin til web -editoren) og derefter åbne den.

Tilslut Arduino Uno -kredsløbet ved at tilslutte komponenter og ledninger, så de matcher forbindelserne vist her i Tinkercad -kredsløb. For en mere dybdegående gennemgang af arbejdet med dit fysiske Arduino Uno-bord, kan du se den gratis Instructables Arduino-klasse (et lignende kredsløb er beskrevet i tredje lektion).

Kopier koden fra Tinkercad Circuits -kodevinduet, og indsæt den i en tom skitse i din Arduino -software, eller klik på download -knappen (pil nedad) og åbn

den resulterende fil ved hjælp af Arduino. Du kan også finde disse eksempler i Arduino -softwaren ved at navigere til Fil -> Eksempler -> 03. Analog -> AnalogInOutSerial eller Fil -> Eksempler -> 02. Digital -> DigitalInputPullup.

Tilslut dit USB -kabel, og vælg dit kort og port i softwarens menu i Værktøjer.

Upload koden til dit bord, og klik derefter på forstørrelsesglasikonet i øverste højre hjørne for at åbne den serielle skærm. Dobbelttjek, at baudhastigheden matcher den i dit setup

Serial.begin (9600)

Tryk på knappen eller drej på knappen, og se tallene ændre sig i vinduet Serial Monitor.

Trin 7: Prøv derefter …

Prøv derefter…
Prøv derefter…

Nu hvor du har lært at udskrive til den serielle skærm, er du klar til at afprøve nye former for digitale og analoge sensorer og også lære at læse indgående serielle data (brugerens tastaturindgang).

Kan du sammensætte et enkelt kredsløb og et program, der udskriver både de analoge og digitale input, der er vist i denne lektion?

Her er et link til det afbildede kredsløb og dets Arduino -kode:

int int buttonState = 0;

int sensorValue = 0; ugyldig opsætning () {pinMode (2, INPUT); pinMode (A0, INPUT); Serial.begin (9600); } void loop () {// læs input pin buttonState = digitalRead (2); // læs input på analog pin 0: sensorValue = analogRead (A0); // udskriv værdier til den serielle skærm Serial.print (buttonState); Serial.print (","); Serial.println (sensorValue); forsinkelse (10); // Forsink lidt for at forbedre simuleringseffektiviteten}

Fortsæt med at prøve en ny sensor og kombiner ind- og udgange, f.eks. I temperatursensorens LED -søjlediagram -lektion, PIR -bevægelsessensortime eller fotoresistortime. (kommer snart). Brug din computers tastatur til at sende serielle data til din Arduino og fortolke dem med

Serial.read ()

(lektion kommer snart).

Du kan også lære flere elektronikfærdigheder med de gratis Instructables -klasser om Arduino, Grundlæggende elektronik, LED'er og belysning, 3D -udskrivning og mere.

Anbefalede: