Schaltungen

So bauen Sie einen Roboter - Lektion 6: Bauen Sie einen Arduino-Roboter, der die CO2-Dichte überwachen kann: 11 Schritte

Vehiculo Robot Arduino Programable

Vehiculo Robot Arduino Programable

Inhaltsverzeichnis:

Anonim

Dies ist das fünfte Tutorial der Reihe „Wie baut man einen Roboter?“. In diesem Tutorial kombinieren wir die Roboterplattform mit dem CO2-Sensor, damit Sie die CO2-Dichte eines bestimmten Bereichs erfassen können.

Wie in den letzten vier Tutorials wird hier als Beispiel ein Arduino Robot Kit (Pirat: 4WD Arduino Mobile Robot Kit mit Bluetooth 4.0) verwendet.

Unterrichtsmenü:

Lektion 1: Einführung

Lektion 2: Erstellen Sie einen einfachen Arduino-Roboter

Lektion 3: Erstellen Sie einen Line Tracking-Arduino-Roboter

Lektion 4: Bauen Sie einen Arduino-Roboter, der Hindernisse ausweichen kann

Lektion 5: Bauen Sie einen Arduino-Roboter mit Licht- und Soundeffekten

Lektion 6: Erstellen Sie einen Arduino-Roboter, der die Umgebung überwachen kann

Lektion 7: Bauen Sie einen Bluetooth-gesteuerten Arduino-Roboter

Hardware-Komponenten

CO2-Gassensor für Arduino × 1

Zubehör:

Schritt 1:

Digitaler Berührungssensor × 1

Schritt 2:

LCD-Tastaturschild für Arduino × 1

Schritt 3:

M3 * 6MM Nylonsäulen und Kabelbinder

Schritt 4:

BAUANLEITUNG:

SCHRITT 1: Fügen Sie den Berührungssensor hinzu

Am Berührungssensor befinden sich zwei Löcher zur Befestigung der Nylonsäulen.

Befestigen Sie die Nylonsäulen. Bitte verdrehen Sie diese Spalten nicht zu stark.

Schritt 5:

Befestigen Sie dann den Berührungssensor auf der Platte.

Schritt 6:

SCHRITT 2: Fügen Sie den LCD-Bildschirm hinzu

Schieben Sie die Ufer in die vier Löcher des LCD-Bildschirms und befestigen Sie sie. Schneiden Sie den restlichen Teil der Kabelbinder ab.

Schritt 7:

SCHRITT 3: Fügen Sie den CO2-Sensor hinzu

Befestigen Sie die Nylonsäulen am CO2-Sensor. Befestigen Sie den CO2-Sensor auf der Sensorplatte.

Schritt 8:

Sie haben die Montage fast abgeschlossen. Bitte befestigen Sie die obere Platte noch nicht auf der Plattform, da wir später an der Schaltung arbeiten müssen.

Schritt 9:

SCHLIESSEN SIE DIE HARDWARE AN:

Bitte Kabel in Ordnung halten.

Die Oberfläche ist wie folgt gefärbt:

Rot zeigt Leistung an

Schwarz zeigt Boden an

Blau zeigt den Analogeingangspin an

Grün zeigt den digitalen E / A-Pin an

Der LCD-Monitor sollte in dieser Reihenfolge an VCC, GND, SCL und SDA angeschlossen werden.

Schritt 10:

CODIEREN

Suchen Sie den Code mit dem Namen DHT11_Display.ino und laden Sie ihn herunter. Vergessen Sie nicht die Bibliothek für LiquidCrystal_I2C und CO2.

Schritt 11:

Nach erfolgreichem Download des Codes wird die CO2-Dichte in Echtzeit auf dem LCD-Bildschirm angezeigt. Der Berührungssensor hat hier zwei Funktionen:

1. Wenn Sie den Sensor nach einiger Zeit nicht berühren, wird er automatisch ausgeschaltet.

2. Wenn Sie weitere Sensoren hinzufügen möchten, um andere Umgebungsdaten zu überwachen, kann der Berührungssensor die Überwachungsdaten auf dem LCD umschalten.

CODE-ÜBERSICHT Bibliothek ist wichtig. Es ist schwer, die Bibliothek ohne Bibliothek zu verstehen.

#include #include

LiquidCrystal_I2C lcd (0x20,16,2);

#include "CO2.h"

CO2Sensor CO2ppm;

Hier müssen Sie CO2Pin kennen, eine Variable, mit der die Pins des Sensors deklariert werden.

int CO2Pin = A1;

DHT11Pin repräsentiert nämlich Analog Pin1. Das heißt, unser CO2-Sensor ist an Analog Pin1 angeschlossen.

Das Folgende sind einige Deklarationen für die Zeitvariablen. TouchPin steht für Touch Sensor, während 13 für Digital Pin steht.

long currentMillis = 0;

lange zurückMillis;

langes Intervall = 4000;

int count = 0; // Zahlen zählen

int touchPin = 13;

Rufen Sie die Funktion setup () auf, die als Vorbereitung für die Initation dient.

pinMode (touchPin, INPUT);

Halten Sie dann den Berührungssensor in einem Tippmodus. Spezifische Informationen finden Sie in der Arduino-Referenz auf der Arduino-Website (www.arduino.cc), auf der die Funktion von pinMode () vorgestellt wird.

Als nächstes müssen Sie den LCD-Bildschirm initialisieren und das LCD-Licht einschalten, um anzuzeigen, dass der LCD-Bildschirm bereit ist.

lcd.init ();

LCD-Rücklicht();

Verzögerung (100);

lcd.setBacklight (0);

Nun ist es an der Funktion von loop (). Zuerst müssen wir den Wert vom Berührungssensor lesen und diese Daten dann mit einer Variablen touchState speichern.

int touchState = digitalRead (touchPin);

Überprüfen Sie dann, ob der Controller ein Signal HIGH empfängt, wenn Sie den Berührungssensor mit Ihren Fingern berühren. 1 wird zum Zählerstand addiert.

if (touchState == HIGH) {count ++; previousMillis = millis (); }

Dabei bedeutet zählen, wie oft Sie den Bildschirm berührt haben. Wenn Sie den Sensor jedoch nur einmal berühren, wird die Zeitdauer für jede Berührung in die Funktion von millis () einbezogen.

Wir ändern die Länge der Kontaktzeit mit einem Untersatz, der mit if beginnt. Intervall bedeutet hier den Zeitraum für die Berührung, den wir eingerichtet haben. So wissen wir, welche Maßnahmen innerhalb von vier Sekunden bzw. mehr als vier Sekunden ausgeführt werden sollen.

if (currentMillis - previousMillis <Interval) {// mache etwas in 4 Sekunden

else {// mach etwas länger als 4 Sekunden}

lcd.setBacklight (0);

Die Funktion setBacklight () dient zum Ausschalten der LCD-Hintergrundbeleuchtung.

Was tun, wenn wir den Sensor länger als vier Sekunden berühren?

Wenn wir den Sensor länger als vier Sekunden berühren, wissen wir, dass die LCD-Hintergrundbeleuchtung ausgeschaltet werden kann.

Welche Maßnahme soll innerhalb von vier Sekunden nach dem Berühren ergriffen werden?

if (count == 1) {// One Touch, der LCD-Bildschirm zeigt keinen Unterschied}

sonst, wenn (count == 2) {// zweimal berühren, wird der Wert auf dem LCD-Bildschirm angezeigt}

Drücken Sie den Berührungssensor innerhalb von vier Sekunden noch einmal. der Bildschirm wäre immer noch ausgeschaltet. Nur wenn Sie es zweimal gleichzeitig berühren, wird die LCD-Hintergrundbeleuchtung eingeschaltet und die CO2-Dichte angezeigt.

Bitte denken Sie daran, den Zählerstand nach dem letzten Berühren des Sensors auf Null zu halten.

count = 0;

Somit lautet der vollständige Code:

if (count == 1) {lcd.setBacklight (0); }

sonst if (count == 2) {lcd.backlight (); DustShow (); count = 0; }

Dann müssen wir die aktuelle Zeit verfolgen, da wir sie mit der vorherigen Millis vergleichen können. Dieser Punkt ist sehr wichtig.

currentMillis = millis ();

Die Funktion von CO2ppm.Read () wird zum Lesen von Daten verwendet. Und die Variable CO2Value wird verwendet, um die Daten vom CO2-Sensor zu speichern.

int CO2Value = CO2ppm.Read (CO2Pin);

Hier ist, wie wir die Funktion für den LCD-Bildschirm verwenden würden.

lcd.setCursor (0,0);

lcd.setCursor (0,1);

Die Funktion von setCursor (Spalte, Zeile) wird verwendet, um zu veranschaulichen, in welcher Spalte und Zeile der Cursor angezeigt wird, beginnend mit Null in den Klammern.

lcd.print (CO2Value);

print () bedeutet, dass diese Zahl direkt auf dem Bildschirm angezeigt werden kann.

lcd.print ("");

lcd.print ("") steht für eine auf dem Bildschirm angezeigte Leerstelle. Hiermit wird der Bildschirm gelöscht.

Eine Kombination mehrerer Sensoren Wie können Sie mehrere Umgebungssensoren kombinieren, wenn Sie eine Art von Sensor gekauft haben?

Mach dir keine Sorgen. Wir werden euch eine Codierungsvorlage zum Testen mehrerer Sensoren anbieten. Sie können Anpassungen an der Kombination vornehmen, indem Sie sich auf die erwähnte Vorlage beziehen. Tatsächlich ist die Theorie dieselbe wie bei einem einzelnen Sensor, außer dass es Schritte für die Änderung des LCD-Bildschirms gibt.

Die Codierung in Rot unten muss geändert werden. Wir haben bereits erwähnt, dass sich die Zählung darauf bezieht, wie oft die Finger den Sensor berühren. Count = 2 bedeutet also, dass wir zweimal gedrückt haben und es werden die Zahlen für den ersten Sensor angezeigt. Mach weiter! Bitte denken Sie daran, dass Sie die Zählung wieder auf Null setzen müssen.

Beispielcode:

if (currentMillis - previousMillis <Intervall) {

if (count == 1) {lcd.setBacklight (0); }

sonst if (count == 2) {//No.1 Sensor Sensor1Show (); LCD-Rücklicht(); }

sonst if (count == 3) {//No.2 Sensor Sensor2Show (); LCD-Rücklicht(); count = 0; }

Für den Sensor ist natürlich der Startaufbau und die Deklaration der Variablen am Anfang wichtig.

Sie können den Beispielcode mit dem Namen WeatherStation.ino als Referenz überprüfen, wenn Sie noch keine Ahnung haben, wie Sie Ihre Codes ändern sollen.