Inhaltsverzeichnis:
- Schritt 1: Einige Komponenten hinzufügen
- Schritt 2: Eine Anmerkung zu Steckbrettern
- Schritt 3: Zwei Sensoren hinzufügen
- Schritt 4: Lichtempfindlicher Sensor
- Schritt 5: Starten Sie den Code
- Schritt 6: Simulation
- Schritt 7: Verdrahten Sie den Temperatursensor
- Schritt 8: Testen und Prüfen
Video: Arduino Datenlogger - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
In diesem Tutorial werden wir einen einfachen Datenlogger mit Arduino erstellen. Es geht darum, die Grundlagen der Verwendung von Arduino zum Erfassen von Informationen und Drucken auf dem Terminal zu erlernen. Wir können diese Grundeinstellung verwenden, um eine Reihe von Aufgaben zu erledigen.
Um loszulegen:
Sie benötigen ein Tinkercad-Konto (www.tinkercad.com). Gehen Sie vorbei und melden Sie sich mit Ihrem E-Mail- oder Social-Media-Konto an.
Wenn Sie sich anmelden, gelangen Sie zum Tinkercad-Dashboard. Klicken Sie links auf "Circuits" und wählen Sie "Create new Circuit". Lass uns anfangen!
Sie finden die vollständige Datei auf TInkercad Circuits - Danke fürs Auschecken!
Schritt 1: Einige Komponenten hinzufügen
Sie benötigen einige grundlegende Komponenten. Diese beinhalten:
- Arduino-Board
- Steckbrett
Fügen Sie diese hinzu, indem Sie nach ihnen suchen und sie per Mausklick in den mittleren Bereich ziehen.
Platzieren Sie das Steckbrett über dem Arduino. Es macht es einfacher, die Verbindungen später anzuzeigen.
Schritt 2: Eine Anmerkung zu Steckbrettern
Ein Steckbrett ist ein super hilfreiches Gerät für das Rapid Prototyping. Wir verwenden es, um Komponenten zu verbinden. Einige Dinge zu beachten.
- Die Punkte sind vertikal verbunden, aber die Linie in der Mitte trennt diese Verbindung von der oberen und unteren Spalte.
- Spalten sind nicht von links nach rechts verbunden, wie in der Zeile. Dies bedeutet, dass alle Komponenten über die Säulen hinweg verbunden werden sollten, anstatt sie vertikal nach unten zu führen.
- Wenn Sie Knöpfe oder Schalter verwenden müssen, verbinden Sie diese über die Unterbrechung in der Mitte. Wir werden dies in einem späteren Tutorial besuchen.
Schritt 3: Zwei Sensoren hinzufügen
Die beiden Sensoren, die wir verwenden, sind ein lichtempfindlicher Sensor und ein Temperatursensor.
Diese Sensoren werten Licht und Temperatur aus. Wir verwenden Arduino, um den Wert zu lesen und ihn im seriellen Monitor auf dem Arduino anzuzeigen.
Suchen Sie nach den beiden Sensoren und fügen Sie sie hinzu. Stellen Sie sicher, dass sie über den Spalten auf dem Steckbrett positioniert sind. Platzieren Sie genug Platz zwischen ihnen, damit Sie sie besser sehen können.
Schritt 4: Lichtempfindlicher Sensor
- Fügen Sie für den lichtempfindlichen Sensor einen Draht vom 5V-Pin des Arduino in die gleiche Spalte wie das rechte Bein des Teils im Steckbrett ein. Ändern Sie die Kabelfarbe in Rot.
- Verbinden Sie das linke Bein über den Pin in der gleichen Spalte mit dem A0 (A-Null) Pin des Arduino. Dies ist der analoge Pin, mit dem wir den Wert vom Sensor auslesen. Färben Sie diesen Draht gelb oder etwas anderes als rot oder schwarz.
-
Platzieren Sie einen Widerstand (Suchen und Klicken-Ziehen) auf die Platine. Dies vervollständigt den Stromkreis und schützt den Sensor und den Pin.
- Drehen Sie es um, sodass es über die Säulen geht.
- Verbinden Sie ein Bein mit der rechten Beinsäule auf dem Steckbrett
-
Legen Sie einen Draht vom anderen Ende des Widerstands nach Masse
Ändern Sie die Kabelfarbe in Schwarz
- Überprüfen Sie alle Verbindungen. Wenn etwas nicht an der richtigen Stelle ist, funktioniert dies nicht richtig.
Schritt 5: Starten Sie den Code
Sehen wir uns den Code für diese Komponente an.
Betrachten Sie zunächst das dritte Bild in diesem Schritt. Es enthält Code mit zwei Funktionen:
Void-Setup ()
Leere Schleife ()
In C++ liefern alle Funktionen ihren Rückgabetyp, dann den Namen, dann die beiden runden Klammern, die verwendet werden können, um Argumente, normalerweise als Variablen, zu übergeben. In diesem Fall ist der Rückgabetyp void oder nichts. Der Name ist eingerichtet und die Funktion nimmt keine Argumente an.
Die Setup-Funktion wird einmal ausgeführt, wenn Arduino bootet (wenn Sie es einstecken oder Batterien anschließen).
Die Schleifenfunktion läuft in einer konstanten Schleife ab der Millisekunde, die die Setup-Funktion abgeschlossen hat.
Alles, was Sie in die Schleifenfunktion einfügen, wird ausgeführt, wenn Arduino ausgeführt wird. Alles außerhalb, das nur läuft, wenn es aufgerufen wird. Als ob wir eine andere Funktion außerhalb der Schleife definiert und aufgerufen hätten.
Aufgabe
Öffnen Sie das Code-Panel mit der Schaltfläche in Tinkercad. Ändern Sie die Dropdown-Liste Blöcke in Text. Stimmen Sie dem angezeigten Warnfeld zu. Löschen Sie nun alles, was Sie sehen, außer dem Text im dritten Bild in diesem Schritt.
Variablen
Um zu beginnen, müssen wir einige Variablen zuweisen, damit wir unseren Code wirklich effizient machen.
Variablen sind wie Eimer, die nur ein Objekt enthalten können (C++ nennen wir objektorientiert). Ja, wir haben Arrays, aber das sind spezielle Variablen, über die wir später sprechen werden. Wenn wir eine Variable zuweisen, müssen wir ihr den Typ mitteilen und ihr dann einen Wert zuweisen. Es sieht aus wie das:
int einigeVar = A0;
Also haben wir eine Variable zugewiesen und ihr den Typ int gegeben. Ein int ist eine ganze Zahl oder eine ganze Zahl.
"Aber du hast keine ganze Zahl benutzt!", höre ich dich sagen. Das stimmt.
Arduino macht etwas Besonderes für uns, damit wir A0 als Ganzzahl verwenden können, da es in einer anderen Datei A0 als Ganzzahl definiert, sodass wir die A0-Konstante verwenden können, um auf diese Ganzzahl zu verweisen, ohne wissen zu müssen, was es ist. Wenn wir nur 0 eingeben würden, würden wir uns auf den digitalen Pin an Position 0 beziehen, was nicht funktionieren würde.
Also schreiben wir für unseren Code eine Variable für den Sensor, den wir angehängt haben. Obwohl ich empfehle, ihm einen einfachen Namen zu geben, liegt das an Ihnen.
Ihr Code sollte so aussehen:
int Lichtsensor = A0;
Void setup () { } Void Schleife () { }
Lassen Sie uns nun Arduino sagen, wie der Sensor an diesem Pin zu handhaben ist. Wir führen eine Funktion innerhalb des Setups aus, um den Pin-Modus einzustellen und Arduino mitzuteilen, wo er danach suchen soll.
int Lichtsensor = A0;
Void setup () {pinMode (lightSensor, INPUT); } Leere Schleife () { }
Die Funktion pinMode teilt Arduino mit, dass der Pin (A0) als INPUT-Pin verwendet wird. Beachten Sie das camelCaseUsed (siehe jeder erste Buchstabe ist ein Großbuchstabe, da es Höcker hat, daher … Kamel …!) für die Variablen- und Funktionsnamen. Dies ist eine Konvention und gewöhnungsbedürftig.
Schließlich verwenden wir die analogRead-Funktion, um einige Daten abzurufen.
int Lichtsensor = A0;
Void setup () { pinMode (lightSensor, INPUT); aufrechtzuerhalten. Void Schleife () { Int Reading = analogRead (lightSensor); }
Sie werden sehen, dass wir den Messwert in einer Variablen gespeichert haben. Dies ist wichtig, da wir es drucken müssen. Verwenden wir die serielle Bibliothek (eine Bibliothek ist Code, den wir unserem Code hinzufügen können, um das Schreiben für uns zu beschleunigen, indem wir sie einfach per Definition aufrufen), um dies auf dem seriellen Monitor auszugeben.
int Lichtsensor = A0;
Void setup () {// Setzen Sie die Pin-Modi pinMode (lightSensor, INPUT); // Fügen Sie die serielle Bibliothek Serial.begin (9600) hinzu; aufrechtzuerhalten. Void Schleife () {// Lesen Sie den Sensor Int Reading = analogRead (lightSensor); // Den Wert auf dem Monitor ausgeben Serial.print ("Light: "); Serial.println (Lesen); // die nächste Schleife um 3 Sekunden verzögern delay (3000); }
Ein paar neue Sachen! Zuerst sehen Sie diese:
// Dies ist ein Kommentar
Wir verwenden Kommentare, um anderen mitzuteilen, was unser Code tut. Diese sollten Sie häufig verwenden. Der Compiler liest diese nicht und konvertiert sie in Code.
Jetzt haben wir auch die Serial-Bibliothek mit der Zeile hinzugefügt
Serial.begin(9600)
Dies ist ein Beispiel für eine Funktion, die ein Argument akzeptiert. Sie haben die Bibliothek Serial aufgerufen, dann eine Funktion ausgeführt (wir wissen, dass es eine Funktion aufgrund der runden Klammern ist) und eine Ganzzahl als Argument übergeben, wodurch die Serial-Funktion auf 9600 Baud eingestellt wurde. Machen Sie sich keine Sorgen warum - wissen Sie einfach, dass es funktioniert, für den Moment.
Als nächstes drucken wir auf den seriellen Monitor. Wir haben zwei Funktionen verwendet:
// Dieser druckt ohne Zeilenumbruch in die Seriennummer (eine Eingabe am Ende)
Serial.print ("Licht: "); // Dieser fügt den Zeilenumbruch ein, so dass jedes Mal, wenn wir lesen und schreiben, eine neue Zeile beginnt Serial.println (reading);
Wichtig zu sehen ist, dass jeder einen eigenen Zweck hat. Stellen Sie sicher, dass Ihre Strings doppelte Anführungszeichen verwenden und dass Sie das Leerzeichen nach dem Doppelpunkt lassen. Das hilft der Lesbarkeit für den Benutzer.
Schließlich haben wir die Verzögerungsfunktion verwendet, um unsere Schleife zu verlangsamen und sie nur alle drei Sekunden zu lesen. Dies ist in Tausendstelsekunden geschrieben. Ändern Sie es, um nur alle 5 Sekunden zu lesen.
Groß! Auf geht's!
Schritt 6: Simulation
Überprüfen Sie immer, ob die Dinge funktionieren, indem Sie die Simulation ausführen. Für diese Schaltung müssen Sie auch den Simulator öffnen, um zu überprüfen, ob er funktioniert und Ihre Werte überprüfen.
Starten Sie die Simulation und überprüfen Sie den seriellen Monitor. Ändern Sie den Wert des Lichtsensors, indem Sie darauf klicken und den Wert mit dem Schieberegler ändern. Sie sollten die Wertänderung auch im seriellen Monitor sehen. Wenn dies nicht der Fall ist oder wenn Sie beim Drücken der Schaltfläche Simulation starten Fehler erhalten, gehen Sie sorgfältig zurück und überprüfen Sie Ihren gesamten Code.
- Konzentrieren Sie sich auf die Zeilen, die im roten Debugging-Fenster angezeigt werden, das Ihnen angezeigt wird.
- Wenn Ihr Code richtig ist und die Simulation immer noch nicht funktioniert, überprüfen Sie Ihre Verkabelung.
- Laden Sie die Seite neu. Möglicherweise liegt ein unabhängiger System-/Serverfehler vor.
- Schütteln Sie Ihre Faust am Computer und überprüfen Sie es erneut. Das machen alle Programmierer. Alle. Die. Zeit.
Schritt 7: Verdrahten Sie den Temperatursensor
Ich gehe davon aus, dass Sie jetzt auf dem richtigen Weg sind. Fahren Sie fort und verdrahten Sie den Temperatursensor, wie das Bild vermuten lässt. Beachten Sie die Platzierung der 5V- und GND-Drähte im gleichen Raum wie die für das Licht. Das ist in Ordnung. Es ist wie eine Parallelschaltung und verursacht keine Probleme im Simulator. In einer tatsächlichen Schaltung sollten Sie eine Breakout-Platine oder eine Abschirmung verwenden, um eine bessere Energieverwaltung und Verbindungen zu gewährleisten.
Lassen Sie uns nun den Code aktualisieren.
Der Temperatursensorcode
Dies ist etwas kniffliger, aber nur, weil wir etwas rechnen müssen, um den Messwert umzuwandeln. Es ist nicht so schlimm.
int Lichtsensor = A0;
int tempSensor = A1; Void setup () {// Setzen Sie die Pin-Modi pinMode (lightSensor, INPUT); // Fügen Sie die serielle Bibliothek Serial.begin (9600) hinzu; aufrechtzuerhalten. Void loop () { // Der Temperatursensor // Zwei Variablen in einer Zeile erstellen - oh Effizienz! // Float var zum Speichern einer dezimalen Float-Spannung, GradC; // Den Wert des Pins lesen und in einen Messwert von 0 - 5 umwandeln // Im Wesentlichen Spannung = (5/1023 = 0,004882814); Spannung = (analogRead (tempSensor) * 0,004882814); // In Grad C umwandeln GradC = (Spannung - 0,5) * 100; // Auf den seriellen Monitor drucken Serial.print ("Temp: "); Serial.print (Grad C); Serial.println("oC"); // Lesen Sie den Sensor aus Int Reading = analogRead (lightSensor); // Den Wert auf dem Monitor ausgeben Serial.print ("Light: "); Serial.println (Lesen); // die nächste Schleife um 3 Sekunden verzögern delay (3000); }
Ich habe einige Updates am Code vorgenommen. Gehen wir sie einzeln durch.
Zuerst habe ich die Zeile hinzugefügt
int tempSensor = A1;
Genau wie beim lightSensor muss ich den Wert in einer Variablen speichern, um es später einfacher zu machen. Wenn ich die Position dieses Sensors ändern müsste (wie die Platine neu zu verdrahten), muss ich nur die eine Codezeile ändern, nicht die gesamte Codebasis durchsuchen, um A0 oder A1 usw. zu ändern.
Dann haben wir eine Zeile hinzugefügt, um den Messwert und die Temperatur in einem Float zu speichern. Notieren Sie zwei Variablen in einer Zeile.
Erhaltungsspannung, GradC;
Dies ist wirklich hilfreich, da es die Anzahl der Zeilen, die ich schreiben muss, reduziert und den Code beschleunigt. Es kann jedoch schwieriger sein, Fehler zu finden.
Jetzt lesen und speichern wir es und konvertieren es dann in unseren Ausgabewert.
Spannung = (analogRead (tempSensor) * 0,004882814);
Grad C = (Spannung - 0,5) * 100;
Diese beiden Zeilen sehen schwierig aus, aber in der ersten nehmen wir den Messwert und multiplizieren ihn mit 0,004… weil er 1023 (der analoge Messwert gibt diesen Wert zurückgibt) in einen Messwert von 5 umwandelt.
Die zweite Zeile dort multipliziert diesen Messwert mit 100, um den Dezimalpunkt zu verschieben. Das gibt uns die Temperatur. Sauber!
Schritt 8: Testen und Prüfen
Alles läuft nach Plan, Sie sollten einen funktionierenden Kreislauf haben. Testen Sie, indem Sie die Simulation ausführen und den seriellen Monitor verwenden. Wenn Sie Fehler haben, überprüfen Sie, überprüfen Sie erneut und schütteln Sie Ihre Faust.
Hast du es gemacht? Teile und erzähle uns deine Geschichte!
Dies ist die endgültige Schaltung, die für Sie eingebettet ist, damit Sie die endgültige Kreation spielen / testen können. Danke, dass Sie das Tutorial abgeschlossen haben!
Empfohlen:
Einen Arduino-Gitarren-Tuner herstellen – wikiHow
So bauen Sie einen Arduino-Gitarren-Tuner: Dies sind die Anweisungen, um einen Gitarren-Tuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen. Zuerst müssen Sie wissen, was die Materialien sind. Ma
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: 9 Schritte
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: Este proyecto consiste en a alarma básica que Detecta presencia, activa una sirena de 108dB y visa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i