Inhaltsverzeichnis:

Airduino - Gunook
Airduino - Gunook

Video: Airduino - Gunook

Video: Airduino - Gunook
Video: Casting Patterns, Flask, Camera Gimbal and Routing Rubber 2024, Juli
Anonim
Airduino
Airduino
Airduino
Airduino

Ein paar Worte, bevor ich erkläre, wie ich mein Airduino erstellt habe. Das ganze Projekt ist eigentlich ein Schulprojekt und da wir ein strenges Zeitlimit hatten, sind viele Dinge nicht perfekt, aber die grundlegende Funktionalität funktioniert.

Was ist der Airduino? Kurz: Es ist ein schicker drahtloser Luftmonitor. Lange: Ein Arduino misst die Luftqualität, sendet alle Daten per Bluetooth an einen Raspberry Pi und speichert sie in einer Datenbank. Ich habe eine einfache Website erstellt, um die Daten visuell anzuzeigen. Aber das Wichtigste ist, dass es eine leistungsstarke steuerbare RGB-LED hat!

Was genau misst es? Nun, ich habe mich entschieden, Temperatur, Luftfeuchtigkeit, Luftdruck, CO2 und CO zu messen. Sie können alles messen, was Sie wollen, solange es einen kompatiblen Sensor dafür gibt.

Ich habe eine detaillierte Liste der Verbrauchsmaterialien mit Links zu einigen der von mir gekauften Produkte beigefügt.

Lieferungen

Dies sind alle Komponenten, die ich verwendet habe:

Arduino

Himbeer-Pi

LCD Bildschirm

HC-05, jedes Bluetooth-Modul funktioniert

BMP-180 (Luftdrucksensor)

DHT-11 (Luftfeuchtesensor)

MQ-7 (CO-Sensor)

MQ-135 (CO2-Sensor)

9W RGB-LED (3x3W)

XL4015 Abwärtswandler (Link)(2x)

XL6009E1 Aufwärtswandler (Link)

MH CD42 Batterieplatine (Link)

18650 Batteriezelle (4x)

4 Bay 18650 Batteriehalter

BC337 Transistoren (5x)

Widerstände (1 Kohm (5x), 10 Kohm)

Schalter

Taste

Micro-USB-auf-DIP-Adapter

Drähte

Perfboard

Kühlkörper (von einem alten Computer)

Schritt 1: Arduino-Schaltung

Arduino-Schaltung
Arduino-Schaltung
Arduino-Schaltung
Arduino-Schaltung

Der schwierigste Teil ist der Teil des Arduino, da er im Grunde alles handhabt.

In den mitgelieferten Schaltplänen können Sie den Schaltplan sehen. Es mag auf den ersten Blick groß und schwierig aussehen, aber es ist ziemlich einfach. Ich baue zuerst die gesamte Schaltung ohne die Schaltung für die LED auf einem Steckbrett, um zu sehen, ob alles funktioniert hat. Danach habe ich alles von Perfboard gelötet, ich habe es zumindest versucht.

Die meisten Sensoren sind ziemlich einfach, mit Ausnahme des MQ-7. Dieser Sensor ist meiner Erfahrung nach schwer in das Projekt einzubauen. Ich folgte einer der wenigen guten Anleitungen, die ich finden konnte, und es schien zu funktionieren, wenn ich nur diesen Sensor anschloss. Wenn ich die anderen Sensoren angeschlossen habe, hat es sich komisch verhalten, also musste ich den Code manipulieren, dazu später mehr.

Schritt 2: Arduino-Code

Wenn Sie Ihre Schaltung auf einem Steckbrett aufgebaut haben, können Sie das meiste davon testen. Verbinden Sie Ihr Arduino mit einem PC und laden Sie den mitgelieferten Code hoch. Wenn Sie die tx- und rx-Pins trennen, können Sie Befehle über den Arduino IDE-Monitor senden. Wenn Sie 'BMPTemp' senden, sollten Sie eine Antwort erhalten, wenn Sie alles richtig gemacht haben.

Schritt 3: Raspberry Pi-Schaltung

Ich habe meinem Pi eine Anzeige hinzugefügt, um die IP-Adresse anzuzeigen, auf der die Site gehostet wird. Am schwierigsten war es, die richtigen Pins zu finden.

Schritt 4: Raspberry Pi-Code

Als erstes müssen Sie das integrierte Bluetooth konfigurieren. Ich habe alles über die Befehlszeile gemacht, es kann mit einer GUI gemacht werden, aber ich werde das nicht behandeln. Ich gehe davon aus, dass Sie die Grundlagen eines Raspberry PI und des Betriebssystems Rasbian kennen.

Es geht wie folgt:

Schritt 1: Verbinden Sie sich über SSH mit Ihrem Pi, ich verwende Putty.

Schritt 2: Geben Sie die folgenden Befehle in das Terminal ein:

  1. 'sudo bluetoothctl'
  2. 'ein'
  3. 'Agent an'
  4. 'scannen'

Schritt 3: Warten Sie nun, bis der HC-05 erkannt wird, und schalten Sie ihn ein.

Schritt 4: Jetzt müssen Sie das Gerät koppeln und ihm vertrauen. Geben Sie die folgenden Befehle ein:

  1. 'pair xx:xx:xx:xx:xx:xx', mit der MAC-Adresse des HC-05-Moduls anstelle der x'es.
  2. 'connect xx:xx:xx:xx:xx:xx', aber dies führt höchstwahrscheinlich zu einem Fehler.
  3. 'Vertrauen xx:xx:xx:xx:xx:xx'

Schritt 5: Nachdem das Modul nun gepaart und vertrauenswürdig ist, müssen wir es an einen seriellen Port binden. Dies kann mit dem folgenden Befehl erfolgen: 'sudo rfcomm bind 0 xx:xx:xx:xx:xx:xx', wobei die x'es wiederum die Mac-Adresse des HC-05-Moduls darstellen. Wenn Sie in '/dev' nachsehen, sollten Sie normalerweise 'rfcomm0' sehen, wenn Sie keinen Neustart versuchen.

Das Problem ist jetzt, dass Sie diesen Befehl jedes Mal manuell ausführen müssen, wenn Sie den Pi booten. Um dies automatisch zu tun, habe ich den Befehl zu '/etc/rc.local' vor 'exit 0' hinzugefügt. Jetzt bindet es das Modul automatisch.

Nachdem Sie das Bluetooth konfiguriert haben, können Sie den von mir enthaltenen Code ausführen. Beachten Sie, dass ich eine MariaDB-Datenbank auf meinem Pi gespeichert habe. Ich werde nicht behandeln, wie man das einrichtet, ich werde nur ein Modell meiner Datenbank und eine Dumbfile hinzufügen. Wenn Sie den Code ohne die Datenbank und die Website ausführen möchten, habe ich ein einfaches Programm dazu eingefügt.

Kopieren Sie den Inhalt der Zip-Datei auf Ihren Pi und führen Sie sie mit dem folgenden Befehl aus: 'python3 airduino.py', vorausgesetzt, Sie befinden sich im selben Ordner. Wenn Ihr Arduino eingeschaltet ist und die tx- und rx-Pins verbunden sind, sollten Sie einige Meldungen zum Einfügen von Daten in die Datenbank sehen. Wenn Sie das Programm automatisch starten möchten, fügen Sie diese Zeile zu '/etc/rc.local' hinzu: 'python3 //arduino.py', ersetzen Sie sie durch den tatsächlichen Pfad.

Für die Website habe ich einen Appache-Server installiert, um die Website zu hosten. Kopieren Sie die Dateien aus der Zip-Datei nach '/var/www/html/'. Wenn Sie nun zur IP-Adresse Ihres PI gehen, sollten Sie die Website und die Daten sehen, wenn alles richtig funktioniert hat.

Schritt 5: Aufbau eines Gehäuses und Löten

Gehäuse bauen und löten
Gehäuse bauen und löten
Gehäuse bauen und löten
Gehäuse bauen und löten
Gehäuse bauen und löten
Gehäuse bauen und löten

Arduino

Jetzt, da alles funktioniert, außer der LED, ist es an der Zeit, alles in ein schönes Etui zu legen. Ich beschließe, einen Turm zu bauen, an den alle Komponenten angeschlossen sind, und umschließe ihn mit einem einfachen Gehäuse.

Aber zuerst habe ich alle Komponenten an Perfboard gelötet und einige Drähte für Ground und Vcc angeschlossen. Ich habe meistens ein oder zwei Komponenten auf ein Stück gelegt und sie um den Turm herum platziert.

Der Batteriehalter hat längere Drähte und ist nicht fixiert, er kann zum Zellenwechsel hinein- und herausgeschoben werden.

An dieser Stelle platzierte ich die Treiber für die LED auf der letzten Ebene meines Turms. Ich habe die Ausgangsspannung der Treiber auf 2,2 für die rote LED und auf 3,2 für die grüne und blaue LED heruntergedreht. Ich befestigte die LED an meinem Kühlkörper und meinem Lüfter mit Kabelbindern. Dann habe ich etwas Holz verwendet, um es an Ort und Stelle zu halten.

Ich habe die meisten Erdungsdrähte und Vcc-Drähte mit Schraubklemmen verbunden.

Stellen Sie sicher, dass Sie Ihre Grundplatte groß genug machen, damit das äußere Gehäuse gut ausgerichtet ist. Die äußere Hülle ist nur eine Knappenbox aus Holz. Oben habe ich eine transparente Plastikhexe gelegt, die ich ein wenig geschliffen habe, um das Licht weicher zu machen. Ich habe auch den Power-Button hinzugefügt.

Himbeer-Pi

Für den Raspberry Pi habe ich einfach eine einfache Holzkiste mit dem LCD oben und dem Knopf an der Seite gemacht.

Schritt 6: Finale

Nachdem Sie alles gelötet und Ihr Gehäuse gebaut haben, ist es Zeit, die letzten Tests durchzuführen. Schalten Sie alles ein und besuchen Sie die Website. Wenn alles richtig gelaufen ist, sollten Sie einige Live-Daten sehen.

Zu den Batterien:

Wenn Sie mehr als 1 Batterie parallel verwenden, müssen Sie sicherstellen, dass deren Spannungspegel gleich oder nahe dran sind.

Github:

Hier ist ein Link zu meinem Github-Repository, in dem sich alle aktuellen Dateien befinden.