Inhaltsverzeichnis:

Projekt-Feeder: 14 Schritte
Projekt-Feeder: 14 Schritte

Video: Projekt-Feeder: 14 Schritte

Video: Projekt-Feeder: 14 Schritte
Video: Кормушка для птиц. / DIY Wooden bird feeder. 2024, November
Anonim
Projektfeeder
Projektfeeder

Wollten Sie schon immer Ihre Haustiere füttern, während Sie nicht zu Hause sind oder einfach nur bequem von Ihrem Sofa aus? Wenn ja, ist dieses Projekt für Sie! Project Feeder ist ein Open-Source-Projekt, mit dem Sie Ihre Haustiere automatisch oder manuell von Ihrem Telefon oder PC aus füttern können. Sie können auch einem Livestream folgen und das Fressverhalten Ihres Haustieres verfolgen.

Bevor du anfängst!

Dieses Projekt ist eine Aufgabe für das College und war zeitgebunden, daher ist es sehr "in Arbeit". Aus diesem Grund bin ich mir bewusst, dass es Dinge gibt, die verbessert werden können und in Zukunft aktualisiert werden können. Ich ermutige Sie, kreativ zu sein, dieses Konzept zu verbessern und zu erweitern.

Zu Beginn werden wir die Anforderungen für den Bau dieses Projekts durchgehen. Sie werden wirklich die unten aufgeführten Fähigkeiten und Werkzeuge benötigen.

Maker-Fähigkeiten:

  • 3D-Druck oder Zugang zu einem Druckservice
  • Löten
  • Grundkenntnisse in der Elektronik

Werkzeuge:

  • 3D Drucker
  • Lötkolben
  • Heißklebepistole oder anderer Kleber, der mit 3D-Drucker-Filamentverbindungen arbeitet
  • Schraubendreher

Lieferungen

Die Gesamtkosten für den Bau dieses Projekts betragen etwa 120 €, je nachdem, wo Sie das Teil kaufen und welche Rabatte Sie erhalten.

Wichtig:

Einige Teile sind mit "Einzigartig" gekennzeichnet, was bedeutet, dass sie spezifisch für das strukturelle Design des Builds sind und Sie eine genaue Kopie dieses Teils benötigen.

Raspberry Pi 4 Model B / 2GB + 16GB (Mindestvoraussetzung) Micro SD Karte

Der Lagerbestand auf Rasberry Pi ist im Moment sehr begrenzt, dies erfordert einige Umschauen.

12V 60W Netzteiladapter

www.banggood.com/AC-100-240V-to-DC-12V-5A-…

5,5 mm x 2,1 mm DC-Netzteilbuchse (einzigartig)

www.banggood.com/10pcs-5_5-x-2_1mm-DC-Powe…

DC-DC 12V bis 5V 3A Abwärts-Abwärts-Leistungsmodul (einzigartig)

www.banggood.com/LM2596-DC-DC-Voltage-Reg…

42mm 12V Nema 17 Zweiphasen-Schrittmotor

www.banggood.com/42mm-12V-Nema-17-Two-Phas…

L298N Dual-H-Brückenmodul

www.banggood.com/Wholesale-L298N-Dual-H-Br…

GY6180 VL6180X Time-of-Flight-Entfernungssensor

www.banggood.com/GY6180-VL6180X-Time-Of-Fl…

Infrarot-Hindernisvermeidungssensor (x3)

www.banggood.com/3Pcs-Infrared-Obstacle-Av…

USB-Kamera

www.banggood.com/Elektronische-Kamera-Module-…

Hintergrundbeleuchtung 16×2 LCD, 8051 Mikrocontroller I2C

www.hobbyelectronica.nl/product/1602-lcd-d…

Bidirektionaler Pegelumsetzer

www.banggood.com/nl/Two-Channel-IIC-I2C-Lo…

Common-Value-Widerstände (10k, 220R, 470R)

www.banggood.com/Wholesale-Geekcreit-600pc…

LEDs (x2)

Dioden (x2)

12V EIN/AUS-Schalter (einzigartig)

www.banggood.com/5pcs-12V-Round-Rocker-Tog…

Muttern: 3x8mm, 3x10mm, 3x12mm

Schritt 1: Flashen der SD-Karte

Flashen der SD-Karte
Flashen der SD-Karte

Für diesen Schritt müssen Sie Ihre SD-Karte mit dem bereitgestellten Image flashen:

thomy.stackstorage.com/s/KbCfVgoU0t8gU3C

Das Image wird mit einem vorgefertigten Apache-Webserver, einer Datenbank und einem Code für die Schnittstelle zum Feeder geliefert. Sie müssen also nichts tun, was die Einrichtung der Software betrifft.

Wenn Sie einen Blick in den Code werfen möchten, erhalten Sie den gesamten erforderlichen Code von:

github.com/VanIseghemThomas/ProjectFeeder

Stellen Sie sicher, dass Sie wissen, wie Sie die SD-Karte richtig flashen, oder unterbrechen Sie den Vorgang nicht, da dies zu einer beschädigten Karte führen kann. Zum Flashen der Karte habe ich die Software Win32DiskManager verwendet. Ein anderes Programm, das ich kenne, funktioniert und ist etwas benutzerfreundlicher, heißt Ethcer. Beides funktioniert gleich gut.

Schritt 2: SSH in das Pi

SSH in die Pi
SSH in die Pi

Wenn das Flashen abgeschlossen ist, können Sie nun die SD-Karte in den Pi einlegen und ihn einschalten. Stellen Sie sicher, dass Sie mit einem Ethernet-Kabel an Ihren Pi angeschlossen sind. Jetzt sollten Sie in der Lage sein, sich über SSH mit der IP 169.254.10.1 zu verbinden. Ich verwende ein Programm namens PuTTY, aber wenn Sie keine Lust haben, Software zu installieren, können Sie jederzeit den folgenden Befehl in die Eingabeaufforderung eingeben:

ssh [email protected]

Öffnen Sie nun eine Sitzung. Wenn Sie zum ersten Mal eine Verbindung herstellen, wird eine Warnung angezeigt, die Sie ignorieren und einfach fortfahren können. Sie werden aufgefordert, sich als Benutzer anzumelden und danach das Passwort, für dieses Bild verwenden Sie die folgenden Zugangsdaten:

  • Benutzer: feederpi
  • Passwort: Redeef1

Der Benutzer 'pi' ist ebenfalls aktiv, aber Sie können sich nicht als ihn anmelden. Dies liegt daran, dass es so eingerichtet ist, dass es sich beim Einschalten automatisch anmeldet und das Programm ausführt. Aus diesem Grund werden Sie beim Einloggen auf Folgendes stoßen:

[sudo] Passwort für feederpi:

Drücken Sie einfach Strg+C und Sie sollten jetzt eine Shell haben.

Geben Sie nun Folgendes ein:

sudo -i

Jetzt sind Sie als root angemeldet.

Schritt 3: WLAN einrichten

WLAN einrichten
WLAN einrichten

Jetzt sind Sie als Root angemeldet und können Folgendes eingeben:

wpa_passphrase "Ihre SSID" "Ihr Passwort" >> /etc/wpa_supplicant/wpa_supplicant.conf

Geben Sie Folgendes ein, um zu überprüfen, ob Ihre Konfiguration korrekt hinzugefügt wurde. Sie können das Klartext-Passwort aus Sicherheitsgründen auch löschen, wenn Sie möchten, aber stellen Sie sicher, dass Sie die Änderungen beim Beenden speichern.

nano /etc/wpa_supplicant/wpa_supplicant.conf

Jetzt können Sie Ihr Pi neu starten, indem Sie Folgendes eingeben:

jetzt neustarten

Geben Sie dem Pi nun etwas Zeit zum Booten und melden Sie sich wie zuvor mit SSH an, um zu sehen, ob Sie eine Verbindung zum WLAN haben, die Sie eingeben:

ip a

Unter der wlan0-Schnittstelle sollten Sie etwas Ähnliches mit einer IP-Adresse sehen, das bedeutet, dass Sie sich erfolgreich mit Ihrem WLAN verbunden haben. Später, wenn alles angeschlossen ist, zeigt die Software dies auf einem LCD an.

Schritt 4: Drucken der Teile

Die Teile, die Sie für dieses Projekt benötigen, finden Sie hier:

www.thingiverse.com/thing:4459996

Das Drucken all dieser Teile wird eine Weile dauern, daher benötigen Sie etwas Geduld.

Dies sind die Einstellungen, die ich verwendet habe (PLA):

  • Schichthöhe: 0,3 mm
  • Druckgeschwindigkeit: 50-60 mm/s
  • Düsentemperatur: 200°C
  • Betttemperatur: 60°C

Dazu gibt es nicht viel zu sagen außer viel Spaß beim Drucken.

Schritt 5: Zusammenbau der Teile (Intro)

Zusammenbau der Teile (Intro)
Zusammenbau der Teile (Intro)
Zusammenbau der Teile (Intro)
Zusammenbau der Teile (Intro)

Gut, jetzt bauen wir alles zusammen. Bevor ich alles erkläre, werde ich einige Dinge durchgehen, die Sie im Hinterkopf behalten sollten und die Ihnen helfen werden, dies zu erledigen.

TIPP 1:

Ich habe beschlossen, alle Löcher 2,5 mm außer 3 mm wie die Schrauben zu machen. Auf diese Weise können Sie durch Einschrauben der Schrauben ein Gewinde bohren und machen Muttern überflüssig. Das Einführen der Schraube ist ziemlich schwierig. Verwenden Sie Ihren Lötkolben, um die Oberseite zu verbreitern. Dies macht es einfach, die Schraube einzuführen und mit dem Schrauben zu beginnen.

TIPP 2:

Wenn Ihnen wie mir die Schrauben ausgehen, schrauben Sie nur diagonale Paare ein. Das spart viele von ihnen und funktioniert gut.

Schritt 6: Zusammenbau der Oberseite (Spender)

Zusammenbau des Oberteils (Spender)
Zusammenbau des Oberteils (Spender)
Zusammenbau des Oberteils (Spender)
Zusammenbau des Oberteils (Spender)
Zusammenbau des Oberteils (Spender)
Zusammenbau des Oberteils (Spender)

Die Teile sind wie auf dem Bild angeordnet.

Zusammengehalten werden sie durch die sogenannten 'Platten'. Eine der Platten wird zu Ihrem Schrittmotor montiert.

Achten Sie darauf, dass die Oberseite der Bolzen bündig mit der Oberfläche abschließt, da sonst die Zufuhr blockiert. Verwenden Sie dazu die 3x8mm Schrauben und das Modell "Stepper_offset" zwischen dem Stepper und der Außenseite der Platte.

Jetzt die Mühle auf den Stepper setzen, es sollte ziemlich einfach gehen. Wenn nicht, können Sie etwas Vaseline verwenden.

Der Rest ist ziemlich einfach, nimm einfach eine Schraube, wo du ein Loch findest.

Schritt 7: Zusammenbau der Oberseite (Behälter)

Zusammenbau der Oberseite (Container)
Zusammenbau der Oberseite (Container)
Zusammenbau der Oberseite (Container)
Zusammenbau der Oberseite (Container)
Zusammenbau der Oberseite (Container)
Zusammenbau der Oberseite (Container)

Hier sehen Sie, wie ich meinen Container hergestellt habe. Der Kanister wird ursprünglich für getrocknete Verbindungsstücke verwendet.

Oben möchten Sie den TOF-Sensor anbringen, dieser wird verwendet, um zu messen, wie viel Lebensmittel noch im Behälter sind. Auf den Bildern seht ihr wie ich es angehängt habe. Zuerst habe ich die Löcher für die Pins mit meinem Lötkolben geschmolzen, dann den Sensor mit etwas Heißkleber festgeklebt, während die Kabel angeschlossen sind.

Zum Verschließen des Behälters habe ich mit meinem Lötkolben 2 Löcher gemacht und 2 Schrauben eingeschraubt. Ein Gummiband, ein Kabelbinder oder ein Draht können verwendet werden, um es auf diese Weise zu schließen.

Schritt 8: Zusammenbau des Bodens

Zusammenbau des Bodens
Zusammenbau des Bodens
Zusammenbau des Bodens
Zusammenbau des Bodens
Zusammenbau des Bodens
Zusammenbau des Bodens

Für die Platzierung der verschiedenen Module verweisen Sie auf die Bilder, sie sind ziemlich selbsterklärend. Ein Teil dieser Bilder enthält bereits Verdrahtungen, darüber sollten Sie vorerst hinwegsehen. Die Bilder wurden mitten in der Entwicklung dieses Projekts aufgenommen. Ursprünglich war geplant, eine Wägezelle einzubauen und das Essen zu wiegen, aber da mein Wägezellenverstärker im letzten Moment kaputt ging, musste ich diese Funktion verschrotten und durch einen Video-Live-Stream ersetzen, der auch ziemlich ordentlich ist. Die Option zum Hinzufügen einer Wägezelle ist immer vorhanden, aber Sie müssen in den Code eintauchen und einige Dinge bearbeiten.

Schritt 9: Elektronik, Sensoren und Aktoren

Elektronik, Sensoren und Aktoren
Elektronik, Sensoren und Aktoren
Elektronik, Sensoren und Aktoren
Elektronik, Sensoren und Aktoren
Elektronik, Sensoren und Aktoren
Elektronik, Sensoren und Aktoren
Elektronik, Sensoren und Aktoren
Elektronik, Sensoren und Aktoren

Jetzt ist es Zeit, den Lötkolben aufzusetzen. Ich habe 2 Darstellungen von dem, was Sie tun müssen, bereitgestellt, einen standardmäßigen elektrischen Schaltplan, eine visuelle Darstellung. Ich empfehle Ihnen dringend, den Schaltplan zu verwenden, da er meiner Meinung nach viel mehr Einblick in die Funktionsweise und die Verbindung zueinander bietet. Der einzige Grund, warum der andere hier ist, ist, dass er obligatorisch war. Der Grund, warum ich dies sage, ist, dass nicht viel Platz für Kabel vorhanden ist, sodass Sie mit der Verdrahtung von GND, +5 V usw. effizient umgehen müssen, was davon abhängt, wie Sie Ihre Kabel verlegen möchten. Verdrahten Sie also nicht alles genau wie im Schaltplan miteinander, es wird funktionieren, aber nicht passen.

Für den Schalter können Sie sehen, dass ich alle 3 Kabel verdrahtet habe, weil der Schalter mit einer eingebauten LED ausgestattet ist, die anzeigt, ob die Stromversorgung eingeschaltet ist. Die 2 ungefärbten Leitungen dienen als Schalter, die farbige Leitung geht auf GND.

Im Allgemeinen ist dies die Reihenfolge, in der ich alles verkabelt habe:

  1. Leistungsteil: Strombuchse, H-Brücke, Aufwärts-Abwärtswandler, Schalter
  2. Raspberry Pi (Weitere Informationen finden Sie im nächsten Schritt)
  3. IR-Sensoren
  4. LEDs
  5. Stepper-Eingänge
  6. I2C-Anteil: 3.3V, SDA, SCL

Es ist nicht unbedingt erforderlich, aber nützlich, eine Prototyping-Platine zu haben, die zum Löten herumliegt, wie ich es getan habe.

Vergessen Sie auch nicht, die Kamera an einen USB-Port des Pi anzuschließen.

Wichtig:

Stellen Sie sicher, dass der Aufwärts-Abwärtswandler auf 5 V eingestellt ist, bevor Sie den 5 V-Teil der Schaltung anschließen. Sonst könnte man Gefahr laufen, alles zu braten. Um dies einzustellen, drehen Sie das Potentiometer und sehen Sie sich die Spannungsanzeige auf dem Bildschirm an.

Schritt 10: Elektronik, Raspberry Pi

Elektronik, Raspberry Pi
Elektronik, Raspberry Pi

Aufgrund von Einschränkungen in der Software zum Zeichnen des Schaltplans konnte ich nicht zeichnen, wie der Himbeer-Pi angeschlossen wird.

Für +5V könnten Sie einfach den 5V-Pin des Pi verdrahten, aber dies umgeht Sicherheit wie die Sicherung. Wenn Sie auf die Unterseite schauen, sollten Sie einige Pads sehen, die als TPxx gekennzeichnet sind, in unserem Fall suchen wir nach TP1 oder TP2. Löten Sie Ihr +5V-Kabel an eine davon, aber achten Sie darauf, dass Sie keine anderen Leiterbahnen überbrücken. Dadurch erlischt höchstwahrscheinlich auch die Garantie. Ich habe persönlich versucht, es an beide Testpads anzuschließen und bin zu dem Schluss gekommen, dass es wahrscheinlich am einfachsten und sichersten ist, TP2 zu verwenden, es ist von anderen exponierten Pads entfernt und hat nicht viele Spuren.

Für GND nehmen Sie einfach einen der Pins oben, wie der Schaltplan zeigt, das ist jetzt völlig in Ordnung.

Schritt 11: Testen der Elektronik

Wenn alles richtig angeschlossen ist, empfiehlt es sich, zuerst alles zu testen, bevor alles vollständig zusammengebaut wird.

Hier eine Checkliste:

  • IPV4-Adresse wird auf dem LCD angezeigt
  • Kann über den Browser eine Verbindung zur IP herstellen
  • Kann den Stepper durch "Füttern" drehen und die LEDs leuchten sehen
  • Containerstatus liest und aktualisiert
  • Livestream von der Kamera
  • Essereignisse erkennen

Fehlerbehebung:

Hier liste ich einige der Probleme auf, in die ich geraten bin und wie man sie beheben kann.

- Mein LCD leuchtet, zeigt aber nichts an:

1) Zum Zeitpunkt des Schreibens benötigt der Pi ungefähr 2 Minuten, um vollständig zu booten, also müssen Sie ihm etwas mehr Zeit geben.

2) Sie haben Ihr LCD nicht richtig angeschlossen. Sie können sehen, ob Sie es richtig angeschlossen haben, indem Sie den folgenden Befehl in eine Shell eingeben:

sudo i2cdetect -y 1

Dieser muss 2 Adressen zurückgeben: 0x27 (=LCD) und 0x29 (=TOF-Sensor). Wenn 0x27 nicht angezeigt wird, müssen Sie die Verkabelung des LCD überprüfen. Wenn beide nicht angezeigt werden, müssen Sie die Verdrahtung der SDA- und SCL-Pins überprüfen. Z. B. Überprüfe, ob du die beiden versehentlich vertauscht hast. Im schlimmsten Fall hast du mit den 2 Einzelkomponenten etwas falsch gemacht oder etwas ist kaputt gegangen.

- Mein LCD hängt bei "Connecting to WiFi"

Dies bedeutet, dass Ihr Pi beim Versuch, eine Verbindung zu einem der Netzwerke herzustellen, die Sie für die Verbindung konfiguriert haben, feststeckt. Dies bedeutet, dass Sie sich entweder nicht in Reichweite des Zugangspunkts befinden oder bei der Konfiguration etwas falsch gemacht haben, z. ein Tippfehler. Gehen Sie in diesem Fall zurück zu "WLAN einrichten" und gehen Sie es noch einmal durch.

Die Software ist auch für die Verbindung mit Heimnetzwerken mit einer IP-Adresse eingerichtet, die mit "192.168" beginnt. Wenn Ihr Netzwerk mit einem anderen privaten Bereich wie "10.0" oder "172.16" eingerichtet ist, müssen Sie in /home/pi/project/main.py gehen und in der Funktion get_ips() ändern: if "192.168" in ip wenn "Ihr privater Bereich hier" in ip.

- Mein LCD zeigt die IP an, aber ich kann keine Verbindung herstellen:

1) Stellen Sie sicher, dass Sie sich mit der IP 192.168. X. X verbinden, die andere IP 169.254.10.1 ist immer so konfiguriert, dass sie sich über Ethernet direkt mit Ihrem PC verbindet. Dies funktioniert nicht, wenn Sie nicht angeschlossen sind.

2) Stellen Sie sicher, dass Sie sich im selben Netzwerk befinden oder die Portweiterleitung in Ihrem Netzwerk aktiviert haben, wenn Sie von außerhalb des Netzwerks auf den Feeder zugreifen möchten.

- Der Stepper wackelt und dreht sich nicht:

Dies bedeutet, dass Sie die Ein- oder Ausgänge der dualen H-Brücke nicht richtig angeschlossen haben. Versuchen Sie, sie zu tauschen, bis es funktioniert.

Schritt 12: Fertigstellung

Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung

Jetzt haben Sie herausgefunden, wie Sie alles zum Laufen bringen, es ist an der Zeit, alles zusammenzustellen. Ich musste die 2 Teile mit Klebeband zusammenkleben, weil das Design der Löcher nicht stabil genug ist, um die Spannung zu halten und es für mich knackte. Dies ist eine wichtige Sache, die in Zukunft verbessert werden muss. Eine sauberere Option besteht darin, die beiden Teile einfach zusammenzukleben, aber dies könnte ein Problem sein, wenn etwas im Inneren bricht und Sie Zugang zum Inneren erhalten möchten. Deshalb bin ich mit dem guten alten Isolierband gegangen.

Wenn Sie auf die Website gehen, sollten Sie mit einem Dashboard begrüßt werden, in dem Sie Dinge wie manuelles Füttern tun, den Status überprüfen, Daten ansehen und Voreinstellungen hinzufügen können.

Schritt 13: Extra: Chrome-Erweiterung

Extra: Chrome-Erweiterung
Extra: Chrome-Erweiterung
Extra: Chrome-Erweiterung
Extra: Chrome-Erweiterung
Extra: Chrome-Erweiterung
Extra: Chrome-Erweiterung

Wenn Sie keine Lust haben, zum Dashboard zu navigieren und nur schnell den Status oder Feed überprüfen möchten, können Sie die Chrome-Erweiterung verwenden. Da es sich nicht im offiziellen Chrome Web Store befindet, müssen Sie es so laden, als würden Sie ein solches Paket entwickeln.

Stellen Sie zunächst sicher, dass Sie den Feeder Extension-Ordner aus dem github-Verzeichnis herunterladen:

github.com/VanIseghemThomas/ProjectFeeder

Gehen Sie zu der folgenden URL:

chrome://Erweiterungen/

Aktivieren Sie dort den Entwicklermodus und laden Sie den Erweiterungsordner. Jetzt sollte es als Erweiterung erscheinen.

Wenn es nicht in Ihrer Chrome-Leiste angezeigt wird, finden Sie es im Chrome-Menü.

Schritt 14: Die Software

Die Software
Die Software

Wenn Sie gerne an der Software basteln oder aus irgendeinem Grund eine neue Kopie einer Datei benötigen, finden Sie alle benötigten Dateien in dem von mir erstellten GitHub-Repository:

Ich habe auch ein EER-Schema für die Datenbank bereitgestellt, falls Sie der API Funktionen hinzufügen möchten. Ein Dump der Datenbank befindet sich ebenfalls im GitHub-Repository. Der gesamte Backend-Code ist in Python geschrieben. Flask wird für das Routing und Socket.io für Websockets verwendet.

Empfohlen: