Home > Technologie > Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

0
Advertisement

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

"Was für eine langweilige Black Box"

Ja es ist, aber:

- Es füttert meinen Fisch, wenn ich nicht da bin.

- Es speist zu einer vorgegebenen Zeit.

- Es spürt das Essen an den Fisch gegeben

- Sie können sich remote in die Himbeere pi einloggen, um den Status zu sehen.

- Es kann eine E-Mail senden, wenn etwas falsch ist.

Schritt 1: Einführung

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Warum dieses Projekt

Mein Aquarium ist ein Juwel Rekord 800 und hat eine Juwel Fütterung Maschine. Ich kaufte die Maschine, um meine Fische regelmäßig füttern zu können, wenn ich nicht da bin. Es ist eine großartige Maschine, aber als Ingenieur sehe ich etwas Raum für Verbesserungen.

Beispielsweise:

- Es gibt keine Möglichkeit zu sehen, wann es eine nächste Fütterung geben wird.
- Sie haben nur 1 Futter pro Tag oder 2 Mahlzeiten pro Tag mit einem Intervall von 6 Stunden.
- Um eine Zeit der Fütterung zu speichern, müssen Sie zu diesem Zeitpunkt physisch einen Knopf drücken.
- Ich habe Kinder, die Knöpfe drücken möchten, also muss ich die Maschine zurücksetzen.

Kurz gesagt, ich weiß nicht sicher, wann und viel die Fische gefüttert werden, wenn ich nicht da bin.

Dieses Teilprojekt

Dieses Projekt gliedert sich in mehrere Teilprojekte:
- Der Aufbau der Fütterungsmaschine
- Der Aufbau des Sensors
- Die Verbindung zwischen Raspberry Pi und Arduino

Der Aufbau der Fütterungsmaschine finden Sie hier:
http://www.instructables.com/id/Fish-Feeder-1/
Den Aufbau des Sensors finden Sie hier:
http://www.instructables.com/id/Fish-Feeder-Sensor-Array/

Dieses Projekt beschreibt nur die Verbindung zwischen Raspberry PI und dem Arduino.

Schritt 2: Komponenten

Bauteile

- PC oder Telefon, auf dem Remote Desktop Viewer ausgeführt werden kann
- Netzwerk WLAN / LAN
- Himbeer-PI mit installiertem SSH, VNCServer
- Fischfutter
- VNCviewer
- Python
- Arduino IDE

PC oder Telefon

Die Himbeere PI wird ohne Monitor verwendet. Das LCD auf der FishFeeder zeigt Daten, auch der PC oder das Telefon verwendet wird, ein VCNviewer ausführen, um die Raspberry PI zu den acces. Die Daten des Fischfutters werden in einem Datenordner gespeichert.
Der PC wird zum Hochladen der .ino-Datei zum Arduino verwendet

Netzwerk

Um eine Verbindung zum Raspberry PI remote herstellen zu können, benötigen Sie ein Netzwerk.

Himbeere PI

Die Himbeere PI ist ein netter, kleiner, billiger Computer mit geringem Stromverbrauch. In diesem Projekt habe ich eine Himbeere PI 2B, aber jeder andere tun wird. Das Himbeer-PI muss vorbereitet werden:
- Hier das aktuelle Bild Raspbian:
https://www.raspberrypi.org/downloads/
- SSH aktivieren:
https: //www.raspberrypi.org/documentation/remote -... - Installieren VNCServer für Fernzugang finden Sie unter :
https: //www.raspberrypi.org/documentation/remote -...

  - Ich ziehe VNCServer von SSH zu aktivieren: Remote Desktop Viewer → Verbinden Protokoll → SSH-Host → IP-adres Raspberry PI SSH Optionen -> Benutzername "pi" Passwort "Himbeer" pi @ Raspberry Pi ~ $ vncserver: 0 -geometry 1024x768 -depth 16 pi @ Raspberry Pi ~ $ startx (Fehler ignorieren) - Der nächste Schritt ist eine grafische Login: Remote Desktop Viewer → Verbinden Protokoll → VNC-Host → IP-adres Raspberry PI Passwort "Himbeere"

FischFeeder

Der FishFeeder ist die Maschine, die Nahrung in das Aquarium liefert. Es wird vom Arduino kontrolliert. Das Arduino wird von der Himbeere PI instruiert. Der Aufbau des FishFeeder ist in STEP1 dokumentiert.

Schritt 3: Serielle Verbindung Himbeere PI & Arduino

Für das Himbeer-PI wird das Programm in Python3 geschrieben. Beachten Sie die Lizenz.

PySerial

Um die Raspberry Pi Gespräch müssen Sie mit dem Arduino machen das serielle Modul zu importieren (pyserial):
http: //pyserial.readthedocs.org/en/latest/pyserial ...

Raspbberry PI Serienbeispiel

Die serielle Verbindung zwischen Raspberry Pi und Arduino ist ein wenig beunruhigt. Die Raspberry-Website hat ein schönes Tutorial:
Https: //www.raspberrypi.org/blog/cas-educational-m ...
Http: //vx2-downloads.raspberrypi.org/Raspberry_Pi _...

Nach einigen Tests wird die Baudrate von 9600bps auf 115200bps aktualisiert. Bei niedrigen Baudraten wurden die Daten empfangen, aber nicht angezeigt. Wenn es ein Problem mit der Anzeige von Daten auf lcd, erhöhen Sie die Verzögerung oder time.sleep nach einem Schreiben

Prüfprogramme

Um zu überprüfen, ob das Raspberry PI und das Arduino über den USB sprechen, werden diese 2 kleinen Testprogramme verwendet.

USB-Geräteordner

Es gibt verschiedene Methoden, den Geräteordner Ihres Arduino zu finden:
- pi @ easpberrypi ~ $ dmesg
- pi @ easpberrypi ~ $ lsusb
- pi @ easpberrypi ~ $ ls -l / dev / ttyACM *
- pi @ easpberrypi ~ $ ls -l / dev / ttyUSB *

Schritt 4: Betriebsarten

Die meisten der Zeit sind sowohl die Himbeere PI und Arduino warten. Die Himbeere hält die Zeit und das Arduino kontrolliert die FishFeeder Maschine.

Fütterung

Die Raspberry Pi hat die Verbindung zum Internet und die genaueste Zeit. Wenn es Zeit ist, die Raspberry Pi zu füttern, senden Sie die Befehle für den Fütterungsprozess. Am Ende des Prozesses der Arduino wieder die Lebensmittel-Index

Siehe Arduino Programm: 20160402 FishFeeder revA.ino

  Void Schleife () {LDR_clean ();  // die Variablen für das LDR-Array reinigen servo_on ();  // Stromversorgung zum Servo blink_led ();  Openhatch ();  // die Luke öffnen blink_led ();  Fütterung ();  // Vorschubrohr blink_led () drehen;  Closehatch ();  // die Luke schließen blink_led ();  Servo_off ();  // Stromversorgung zum Servo LDR_calc ();  // Berechnung des Lebensmittelindex}

Anzeige im Ruhezustand

Zwischen der Fütterung der Raspberry Pi bietet die Arduino mit genauen Informationen anzuzeigen.

Schritt 5: Kommunikationsprotokoll

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Siehe auch https://www.arduino.cc/en/Reference/ASCIIchart

Die Himbeere PI ist der Absender, der Arduino ist der Empfänger. Nur auf Befehl der Himbeere PI der Arduino beginnen zu senden. Um zu vermeiden, dass Bytes als Befehle interpretiert werden, zB <NULL>, <TAB>, <LINE FEED>, werden die Befehle als Zeichenfolge gesendet, die in Byte umgewandelt wird.

Schritt 6: Arduino-Speicher

Die Erinnerung an das Arduino ist nicht groß. Der Arduino Uno, den ich als Controller im FishFeeder verwende, hat folgende Erinnerung:

- 32kB Flash - Programmbereich
- 2kB SRAM - Erstellen und Bearbeiten von Variablen
- 1kB EEPROM - Speicher für langfristige Informationen

Der Programmspeicher ist für dieses Projekt ausreichend. EEPROM-Speicher wird nicht verwendet. Der SRAM-Speicher ist kritisch.

Arduino-Variablen

Der SRAM-Speicher wird verwendet für:

- Sensorwertspeicher.
- Strings zur Anzeige auf dem LCD-Bildschirm.
- Zeichenfolge zum Senden über seriell.
- Import von Modulen, zB Seriell, LCD, Servo

Wenn Sie das Arduino-Programm ändern, können Sie SRAM ausführen, schlägt Ihr Programm auf unerwartete Weise fehl. Beim Start des Arduino Programms gibt es einen Handshake und einen Report des verfügbaren SRAM im Terminal.

Hinweis: Die Verwendung von F () Macro führte zu einer verschlüsselten Ausgabe auf dem LCD.

Schritt 7: Flussdiagramm & Programm

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Fisch-Zufuhr Arduino Himbeere-PU-Verbindung

Ich ziehe es vor, meine Projekte einfach und sauber zu halten. Für Programme ist es einfach, Track & Trace-Fehler. Wahrscheinlich gibt es viele Verbesserungen möglich.

Ich habe die Flußdiagramme der 3 Programme hinzugefügt. Das E-Mail-Programm ist separat, weil es von anderen Programmen auch auf meinem Raspberry PI verwendet werden könnte.

Der Anmeldename und das Login-Passwort im E-Mail-Programm sind * aus offensichtlichen Gründen * markiert *. Fordern Sie Ihre E-Mail-Adresse bei Yahoo, Gmail oder einem anderen Lieferanten an.

VNC-Betrachter

Siehe Screenshot: Wenn alles gut funktioniert, können Sie ein Telefon oder einen PC verwenden, um sich im Himbeer-PI anzumelden und den Status der Fütterungsmaschine zu sehen.
- Auf der linken Seite werden die Daten der Fütterung, das Datum, die Zeit und der Lebensmittelindex gespeichert.
- Auf der rechten Seite das Terminal des FishFeeder Programms.Ich zog den Sensor aus dem Wasser, der Sensor registrierte eine Temperatur unter 20C, eine Fehlerdatei wird geschrieben.
- In der Mitte das Terminal des E-Mail-Programms. Es hat die Fehler-Datei gefunden und eine E-Mail gesendet.

Video

Im Video auf dem LCD-Bildschirm.

Related Reading