Inhaltsverzeichnis:

Arduino Serial Monitor in Tinkercad - Gunook
Arduino Serial Monitor in Tinkercad - Gunook

Video: Arduino Serial Monitor in Tinkercad - Gunook

Video: Arduino Serial Monitor in Tinkercad - Gunook
Video: TINKERCAD CIRCUITS 04 Send Data to Serial Monitor 2024, November
Anonim
Arduino serieller Monitor in Tinkercad
Arduino serieller Monitor in Tinkercad

Tinkercad-Projekte »

Den Überblick über alles zu behalten, was in Ihrem Programm vor sich geht, kann ein harter Kampf sein. Der serielle Monitor ist eine Möglichkeit, zu hören, was in Ihrem Code vor sich geht, indem Sie dem Computer über das USB-Kabel Bericht erstatten. Im Tinkercad Circuits-Simulator befindet sich der Serial Monitor unten im Code-Bedienfeld und kann auch verwendet werden, um Variablen grafisch darzustellen, wenn sie sich ändern. Verwenden Sie den seriellen Monitor, um mit dem Computer zu "sprechen", um zu überprüfen, ob der Arduino-Code das tut, was Sie beabsichtigt haben. Dies kann sehr nützlich sein, um Probleme mit Ihrem Code zu lösen (sogenanntes „serielles Debugging“).

Die beiden Schaltungen in dieser Lektion verwenden die gleichen Konfigurationen wie in den vorherigen beiden Lektionen zum digitalen Eingang mit einem Druckknopf und zum analogen Eingang mit einem Potentiometer. Der einzige Unterschied besteht darin, dass diese Schaltungen frei verdrahtet sind (kein Steckbrett) und keine externe LED verdrahtet haben. Oh, und sie führen Code aus, um serielle Nachrichten zu generieren, worüber wir in dieser Lektion lernen werden.

Sie können mit Tinkercad Circuits virtuell mitverfolgen. Sie können diese Lektion sogar in Tinkercad ansehen (kostenlose Anmeldung erforderlich)! Erkunden Sie die Beispielschaltung und bauen Sie Ihre eigene direkt daneben. Tinkercad Circuits ist ein kostenloses browserbasiertes Programm, mit dem Sie Schaltungen erstellen und simulieren können. Es ist perfekt zum Lernen, Lehren und Prototyping.

Schritt 1: Drucken auf den seriellen Monitor mit Blöcken

Bild
Bild

Lassen Sie uns den Codeblock-Editor verwenden, um einen Arduino-Eingangspin abzuhören, und drucken Sie dann den Wert (analog) oder den Zustand (digital) des Eingangs im Serial Monitor-Fenster aus. Klicken Sie auf die Schaltfläche "Code", um das Code-Panel zu öffnen.

Klicken Sie unten im Codefeld auf den seriellen Monitor.

Klicken Sie auf "Simulation starten", um den Arduino-Beispielcode auszuführen, und beobachten Sie die Zahlen im Serial Monitor, während Sie mit dem Potentiometer interagieren. Sie können zwischen den beiden Arduinos hin und her klicken, während die Simulation in Tinkercad Circuits läuft, aber nur die analoge Schaltung wird im obigen eingebetteten Modul angezeigt.

Nachdem Sie die Beispielschaltung in Ihr Tinkercad-Konto dupliziert haben, können Sie den Code ändern. Navigieren Sie zur Kategorie Ausgabecode, ziehen Sie dann einen Block "Auf seriellen Monitor drucken" heraus und platzieren Sie ihn direkt vor dem seriellen Block, der sich bereits im Programm befindet.

Ändern Sie den Standardtext, um Ihre seriellen Daten zu beschriften, z. B. "sensor: " (vergessen Sie das Leerzeichen nach dem Doppelpunkt nicht) und passen Sie das Dropdown-Menü an, um ohne eine neue Zeile zu drucken.

Starten Sie die Simulation und beobachten Sie die Änderung im Serial Monitor. Sie können serielle Blöcke wie diesen stapeln, um während der Entwicklung von Projektcode nützliche Feedback-Nachrichten zu erstellen.

Schritt 2: Arduino-Code des seriellen Monitors erklärt

Bild
Bild

Wenn der Code-Editor in Tinkercad Circuits geöffnet ist, können Sie auf das Dropdown-Menü links klicken und "Blöcke + Text" auswählen, um den von den Codeblöcken generierten Arduino-Code anzuzeigen (im ersten Schritt nicht im eingebetteten Modul verfügbar). Dieser Code sendet Daten vom Arduino an den seriellen Monitor, aber in einer späteren Lektion können Sie auch lernen, wie Sie Daten vom seriellen Monitor und der seriellen Zwei-Wege-Kommunikation empfangen.

/*

DigitalReadSerial Liest einen digitalen Eingang an Pin 2, druckt das Ergebnis auf dem seriellen Monitor Dieser Beispielcode ist gemeinfrei. */

Vor dem

erstellen()

sehen wir einen mehrzeiligen Kommentar, der mit beginnt

/*

und endet mit

*/

int buttonState = 0;

Ganz am Anfang unseres Programms erstellen wir eine Variable, die den Status der Eingabe festhält.

Void-Setup ()

{ PinMode (2, EINGANG); Serial.begin (9600); }

Innerhalb des Setups wird, genau wie in den Lektionen mit analogem und digitalem Eingang, der mit dem Schalter oder Sensor verbundene Pin mit dem als Eingang konfiguriert

pinMode()

Funktion. Um Nachrichten senden zu können, muss der Arduino einen neuen Kommunikationskanal mit öffnen

Serial.begin()

. Es ist wie das Drücken der Anruftaste an einem Telefon – von diesem Moment an öffnen Sie eine Kommunikationsleitung für den Anruf. Das Argument sagt dem Arduino, wie schnell er kommunizieren soll, zum Beispiel 9600 Bits pro Sekunde (auch bekannt als Baud).

Leere Schleife ()

{// lesen Sie den Eingangspin buttonState = digitalRead (2); // den Zustand der Taste ausdrucken Serial.print ("sensor: "); Serial.println (buttonState); Verzögerung(10); // Etwas verzögern, um die Simulationsleistung zu verbessern }

Der Code innerhalb der Schleife liest den Zustand des Eingangs mit digitalRead() und speichert ihn in der Variablen buttonState. Dann ist eine Funktion namens

Serial.println()

sendet die Daten an den Monitor (über das USB-Kabel bei einem physischen Arduino-Board). Wenn Sie im vorherigen Schritt die Bausteinänderungen am Programm vorgenommen haben, haben Sie auch eine

Seriendruck()

Codezeile.

println

sendet eine neue Zeile nach der Nachricht, und

drucken

nicht. Verwenden Sie zum Beispiel Anführungszeichen um Textbeschriftungen

Serial.print("Sensor:");

. Wenn Sie eine einzelne Zeile serieller Debugging-Ausgabe erstellen möchten, können Sie mehrere verwenden

Seriendruck()

Befehle gefolgt von einem einzelnen

Serial.println()

Schritt 3: Der Code-Debugger

Bild
Bild

In Tinkercad Circuits gibt es eine spezielle Funktion namens Debugger. Es geht schrittweise durch Ihren Code und ermöglicht Ihnen, Ihre Variablen und mehr zu überprüfen.

Suchen Sie bei geöffnetem Code-Editor den Debugger, indem Sie auf die Schaltfläche mit dem Fehlersymbol klicken.

Klicken Sie im Blocks + Text-Modus (oder im Nur-Text-Modus, wenn Sie es vorziehen) auf eine Zeilennummer, um einen Breakpoint hinzuzufügen, an dem der Debugger jedes Mal durch die Schleife stoppt.

Starten Sie die Simulation.

Bewegen Sie den Mauszeiger über Variablen, während Sie angehalten sind, um deren Werte anzuzeigen.

Schritt 4: Grundlegende serielle Schaltungsstarter

Grundlegende Starter mit serieller Schaltung
Grundlegende Starter mit serieller Schaltung

Diese Schaltungen sind als Schaltungsstarter erhältlich. Sie können diese Schaltungsstarter jederzeit verwenden, wenn Sie einen digitalen oder analogen Eingang lesen und seinen Zustand auf dem seriellen Monitor ausgeben möchten.

Holen Sie sich Arduino-Schaltungsstarter aus dem Komponentenbedienfeld (Dropdown-Menü -> Starter -> Arduino).

Schritt 5: Serielle Daten grafisch darstellen

Serielle Daten grafisch darstellen
Serielle Daten grafisch darstellen

Tinkercad Circuits verfügt auch über eine integrierte grafische Darstellung Ihrer seriellen Daten, sofern der Stream keinen Text enthält. Dies ist praktisch, um Änderungen bei Sensormesswerten und anderen Eingaben zu visualisieren sowie um Variablen in Ihrem Programm zu verfolgen.

Klicken Sie bei geöffnetem seriellen Monitor auf die Grafikschaltfläche, um das Grafikfenster zu öffnen. Entfernen Sie den Sensoretikettenblock, den Sie zuvor hinzugefügt haben, oder verwenden Sie einen neuen seriellen Arduino-Starter, um einen seriellen Datenstrom ohne Text zu erstellen.

Starten Sie die Simulation und interagieren Sie mit der Eingabe, um zu sehen, wie sich die Diagrammwerte ändern.

Schritt 6: Versuchen Sie es mit einer physischen Arduino-Schaltung (optional)

Bild
Bild

Sie haben die Möglichkeit, eine physische Schaltung zu bauen, die zu diesem oder den Lektionen für den digitalen Eingang oder den analogen Eingang passt, und verwenden Sie dann die Arduino-Software Ihres Computers, um die seriellen Daten anzuzeigen, die über das USB-Kabel eingehen. Um Ihren physischen Arduino Uno zu programmieren, müssen Sie die kostenlose Software (oder das Plugin für den Webeditor) installieren und dann öffnen.

Verdrahten Sie die Arduino Uno-Schaltung, indem Sie Komponenten und Drähte anschließen, um den hier in Tinkercad Circuits gezeigten Verbindungen zu entsprechen. Für eine ausführlichere Anleitung zur Arbeit mit Ihrem physischen Arduino Uno-Board besuchen Sie die kostenlose Instructables Arduino-Klasse (eine ähnliche Schaltung wird in der dritten Lektion beschrieben).

Kopieren Sie den Code aus dem Codefenster von Tinkercad Circuits und fügen Sie ihn in eine leere Skizze in Ihrer Arduino-Software ein oder klicken Sie auf die Download-Schaltfläche (nach unten gerichteter Pfeil) und öffnen Sie

die resultierende Datei mit Arduino. Sie können diese Beispiele auch in der Arduino-Software finden, indem Sie zu Datei -> Beispiele -> 03. Analog -> AnalogInOutSerial oder Datei -> Beispiele -> 02. Digital -> DigitalInputPullup navigieren.

Stecken Sie Ihr USB-Kabel ein und wählen Sie Ihr Board und Ihren Port im Tools-Menü der Software aus.

Laden Sie den Code auf Ihr Board hoch und klicken Sie dann auf das Lupensymbol in der oberen rechten Ecke, um den seriellen Monitor zu öffnen. Überprüfen Sie, ob die Baudrate mit der in Ihrem Setup übereinstimmt

Serial.begin(9600)

Drücken Sie die Drucktaste oder drehen Sie den Knopf und beobachten Sie, wie sich die Zahlen in Ihrem Serial Monitor-Fenster ändern.

Schritt 7: Als nächstes versuchen Sie…

Versuchen Sie als Nächstes…
Versuchen Sie als Nächstes…

Nachdem Sie nun gelernt haben, auf dem Serial Monitor zu drucken, können Sie neue Arten von digitalen und analogen Sensoren testen und auch lernen, eingehende serielle Daten zu lesen (Benutzertastatureingabe).

Können Sie eine einzelne Schaltung und ein einzelnes Programm zusammenstellen, das sowohl die analogen als auch die digitalen Eingänge ausdruckt, die in dieser Lektion gezeigt werden?

Hier ist ein Link zur abgebildeten Schaltung und ihrem Arduino-Code:

int int buttonState = 0;

int sensorValue = 0; Void setup () { PinMode (2, INPUT); PinMode (A0, EINGANG); Serial.begin (9600); aufrechtzuerhalten. Void Schleife () {// lesen Sie den Eingangspin buttonState = digitalRead (2); // den Eingang am analogen Pin 0 lesen: sensorValue = analogRead (A0); // Werte auf dem seriellen Monitor ausgeben Serial.print (buttonState); Serial.print (", "); Serial.println (sensorValue); Verzögerung(10); // Etwas verzögern, um die Simulationsleistung zu verbessern }

Fahren Sie fort, einen neuen Sensor auszuprobieren und Ein- und Ausgänge zu kombinieren, zum Beispiel in der Lektion zum Temperatursensor-LED-Balken, zum PIR-Bewegungssensor oder zum Fotowiderstand. (demnächst). Verwenden Sie die Tastatur Ihres Computers, um serielle Daten an Ihren Arduino zu senden und interpretieren Sie sie mit

Serial.read()

(Unterricht kommt bald).

Sie können auch mehr elektronische Fähigkeiten mit den kostenlosen Instructables-Kursen zu Arduino, Basic Electronics, LEDs & Lighting, 3D-Druck und mehr erlernen.

Empfohlen: