Inhaltsverzeichnis:

Automatischer Hundespender - Gunook
Automatischer Hundespender - Gunook

Video: Automatischer Hundespender - Gunook

Video: Automatischer Hundespender - Gunook
Video: Einfach und bequem: Einen Hundefutterspender selbstmachen 2024, Juli
Anonim
Automatischer Hundespender
Automatischer Hundespender
Automatischer Hundespender
Automatischer Hundespender
Automatischer Hundespender
Automatischer Hundespender

Mit meinem Projekt sorge ich dafür, dass Ihr Hund, wenn Sie ihn alleine zu Hause lassen, nie ohne Futter ist.

Der Futterautomat wird aus einem Cornflakes-Spender "gehackt". Der Spender ist der Vorratsbehälter für Hundefutter, das Rad an der Unterseite wird mit einem Servomotor verbunden, der das Futter automatisch abwirft, wenn das Bettchen fast leer ist und der Hund nah genug ist. An der Unterseite des Spenders befindet sich ein PVC-Schlauch, der das Hundefutter schön in die Krippe fallen lässt. Dieses Projekt wird daher 3 Sensoren haben, von denen 2 nicht in die Klasse fallen und 1 ein Aktor ist.

Der erste Sensor ist der RFID-Reader. Dieser Sensor prüft, wann sich der Hund der Krippe nähert. Der RFID wird in das Halsband des Hundes eingearbeitet. Wenn dieser Sensor erkennt, dass der Hund nah genug ist, sendet er ein Signal an den zweiten Sensor. Der zweite Sensor ist der Gewichtssensor (nicht in der Klasse behandelt), der das Essen in der Krippe misst. Wenn dieser Sensor erkennt, dass das Gewicht zu niedrig ist, sendet er ein Signal an den Servomotor, der das Essen in die Krippe fallen lässt (mit Bestätigung des RFID und des Gewichtssensors). Kurz gesagt, der Hund bekommt nur dann zusätzliches Futter, wenn er nahe genug am Gitterbett ist und das Gitterbett fast leer ist. Natürlich gibt es auch ein Limit-Set, das Sie selbst über den Webserver festlegen können; damit der Hund nicht zu viel Futter pro Tag bekommt. Der dritte Sensor ist ein Lichtsensor, der ein LED-Flutlicht beleuchtet, wenn es um das Kinderbett zu dunkel ist. Der Aktuator ist daher ein Servomotor, der mit dem Rad im Spender verbunden ist.

Dieses Projekt ist für Hunde gedacht, Sie können es auch für andere kleine Haustiere verwenden.

Lieferungen

Raspberry Pi 3

Wägezelle (1KG)

HX711 Wägezellenverstärker

Futternapf

Getreidespender

Holz (+ Schrauben und Schraubendreher)

Lichtsensor

LED

RFID-Leser rc522

Überbrückungsdrähte

16*2 LCD (Anzeige)

Servomotor

5V Netzteil

Widerstand 470 Ohm

PVC-Schlauch

Steckbrett

Potentiometer

Sah

Schleifpapier

Silikonpistole

Schritt 1: Pi-Setup

Pi-Setup
Pi-Setup

Aufstellen

Um zu beginnen, müssen wir zuerst Ihren Pi einrichten.

Sie benötigen zwei Dinge:

- Win32 Disk Imager von

- Raspbian OS-Image von

Laden Sie die ZIP-Datei herunter und entpacken Sie sie an einen beliebigen Ort.

Die Installation

1. Wählen Sie Ihr Bild über das Ordnersymbol

2. Wählen Sie Ihre SD-Karte über das Dropdown-Menü aus

3. Klicken Sie auf Schreiben

Jetzt müssen wir noch an einigen Einstellungen herumbasteln, damit wir auf den Pi zugreifen können.

1. Gehen Sie in das Boot-Verzeichnis der SD-Karte

2. Öffnen Sie die Datei "cmdline.txt"

3. Fügen Sie ip=169.254.10.1 am Ende der langen Textzeile mit einem Leerzeichen getrennt (in derselben Zeile) hinzu.

4. Speichern Sie die Datei.

5. Erstellen Sie eine Datei namens ssh ohne Erweiterung im selben Verzeichnis

Jetzt können Sie die SD-Karte auswerfen und in Ihren Pi stecken.

Anschließen

Jetzt müssen wir die Software einrichten.

Stecken Sie zuerst ein LAN-Kabel ein, ein Ende in Ihren Desktop/Laptop und das andere in Ihren Pi.

Starten Sie nun den Raspberry Pi.

1. Installieren Sie Putty von

2. Geben Sie 169.254.10.1 in das IP-Feld ein.

3. Stellen Sie sicher, dass SSH ausgewählt und Port 22 ausgefüllt ist.

4. Klicken Sie auf Öffnen

5. Geben Sie den Benutzernamen ein: pi

6. Geben Sie das Passwort ein: Himbeere

Raspi-config

Öffnen Sie das Dienstprogramm Raspi-config mit:

sudo raspi-config

Aktivieren Sie die folgenden Optionen in der Kategorie Schnittstellen

- 1-Draht

- SPI

Deaktivieren Sie die folgenden Optionen in der Kategorie Boot-Optionen

- Begrüßungsbildschirm

Setzen Sie zuletzt die Desktop/CLI-Einstellung in der Kategorie Boot-Optionen auf Desktop Autologin.

W-lan

Für den Hundefutterautomat benötigen wir eine WLAN-Verbindung, also stellen Sie sicher, dass Sie Ihre WLAN-Anmeldeinformationen in der Nähe haben.

1. Gehen Sie in den Root-Modus

sudo -i

2. Fügen Sie diese Zeile ein, aber stellen Sie sicher, dass sowohl die SSID als auch das Passwort ausgefüllt sind

wpa_passphrase "SSID" "PASSWORT" >> /etc/wpa_supplicant/wpa_supplicant.conf

3. Geben Sie den WPA-Client ein.

Wpa_cli

4. Wählen Sie die Schnittstelle

Schnittstelle wlan0

5. Laden Sie die Konfiguration neu

Neu konfigurieren

Stellen Sie sicher, dass Sie richtig verbunden sind, indem Sie ip a eingeben und sehen, ob Sie eine IP auf den WLAN0-Schnittstellen haben.

Pakete

Nachdem wir nun mit dem Internet verbunden sind, müssen wir einige Pakete installieren.

Zuerst müssen wir die Paketlisten für die neueste aktualisieren.

sudo apt-Update

Python

Wir werden Raspbian zwingen, Python 3 zu verwenden

update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

update-alternatives --install /usr/bin/python python /usr/bin/python3 2

MariaDB

Fügen Sie die folgende Zeile ein, um die Datenbank zu installieren.

sudo apt installieren mariadb-server

Dann müssen wir unsere Installation sichern.

mysql_secure_installation

Es wird uns nach dem aktuellen Root-Passwort fragen, da wir keins haben, drücken Sie einfach die Eingabetaste.

Als nächstes wird gefragt, ob wir ein Root-Passwort möchten, geben Sie y ein, da wir eines haben möchten.

Für die nächsten Fragen einfach Y eingeben.

Als Nächstes erstellen wir einen Benutzer, den wir für den Spiegel verwenden können.

Rufen Sie die MySQL-Shell auf, indem Sie Folgendes tun:

- Erhebe uns, um Wurzeln zu schlagen

Sudo -i

- Betreten Sie die MySQL-Shell

Mysql

- Ersetzen Sie durch Ihren eigenen Benutzernamen und dasselbe mit

erteile alle Privilegien für *.* an ''@'%', gekennzeichnet durch '';

- Gewähren Sie alle Privilegien für *.* an ''@'%', gekennzeichnet durch '';

Als nächstes werden wir unsere Datenbank hinzufügen.

Apache-Webserver

Um den Webserver zu installieren, führen Sie die folgende Zeile aus.

sudo apt install apache2 -y

Python-Pakete

Wir werden diese Pakete installieren

- Flasche

- Fläschchen-Cors

- Flask-MySQL

- Kolben-SockelIO

- PyMySQL

-Gevent

- Gevent-Websocket

-

- Python-Socketio

- Anfragen

- Wsaccel

- Ujson

Indem du tust

pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio fordert wsaccel ujson mfrc522 hx711 Adafruit-CharLCD

Schritt 2: LED- und Lichtsensor

LED- und Lichtsensor
LED- und Lichtsensor
LED- und Lichtsensor
LED- und Lichtsensor

Anschließen der LED

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Widerstand 470 Ohm und GND

Anschließen des Lichtsensors

  1. OUT -> GPIO17
  2. VCC -> 3.3V
  3. GND -> GND

Jetzt können wir testen, ob unser LED- und Lichtsensor mit diesem kleinen Skript funktioniert

RPi. GPIO als GPIO importieren GPIO.setmode(GPIO. BCM)

GPIO.setup(15, GPIO. OUT)

GPIO.setup(17, GPIO. IN)

try: während True:

wenn GPIO.input(17) == 0:

GPIO. Ausgabe(15, GPIO. HIGH)

wenn GPIO.input(17) == 1:

GPIO. Ausgang(15, GPIO. LOW)

außer KeyboardInterrupt: GPIO.cleanup()

Schritt 3: Servomotor

Servomotor
Servomotor

Anschließen des Servomotors

  1. OUT -> GPIO18
  2. VCC -> 5V
  3. GND -> GND

Jetzt können wir testen, ob unser LED- und Lichtsensor mit diesem kleinen Skript funktioniert

RPi. GPIO als GPIOimport-Zeit importieren

GPIO.setmode(GPIO. BCM)

GPIO.setup(18, GPIO. OUT)

p = GPIO. PWM(18, 50)

p.start(12.5)

Versuchen:

während Wahr:

p. ChangeDutyCycle(12.5)

Zeit. Schlaf(1)

p. ChangeDutyCycle(2.5)

Zeit. Schlaf(1)

außer KeyboardInterrupt:

p.stop()

GPIO.cleanup()

Schritt 4: RFID-Leser RC522

RFID-Leser RC522
RFID-Leser RC522

Anschließen des RFID

  1. RST -> GPIO6
  2. MISO -> GPIO9 (MISO)
  3. MOSI -> GPIO10 (MOSI)
  4. SCK -> GPIO11 (SPISCLK)
  5. SDA -> GPIO8 (SPICS0)
  6. 3.3V -> 3.3V
  7. GND -> GND

Jetzt können wir testen, ob unser RFID-Reader mit diesem kleinen Skript funktioniert

RPi. GPIO als GPIO importieren

aus mfrc522 importieren SimpleMFRC522

Leser = SimpleMFRC522()

text = input('Neue Daten:')

print("Platzieren Sie jetzt Ihr Tag zum Schreiben")

Leser.schreiben (Text)

print("Geschrieben")

Schritt 5: Wägezelle HX711

Wägezelle HX711
Wägezelle HX711

Anschließen der Wägezelle an die HX711-Treiberplatine

  1. Rot -> E+
  2. Schwarz -> E-
  3. Grün -> A+
  4. Weiß -> A-

Anschließen der Wägezelle

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. ROT -> 3.3V
  4. GND -> GND

Jetzt können wir testen, ob unsere Wägezelle mit diesem kleinen Skript funktioniert

RPi. GPIO als GPIO importieren Zeit importieren Sys aus klassen. HX711 importieren HX711 importieren

def cleanAndExit(): print("Reinigung…") GPIO.cleanup() print("Tschüss!") sys.exit()

hx = HX711 (22, 27)

hx.set_reading_format ("LSB", "MSB")

hx.set_reference_unit (2167)

hx.reset()

hx.tare()

während Wahr:

Versuchen:

val = max(0, int(hx.get_weight(5)))

drucken(wert)

hx.power_down()

hx.power_up()

time.sleep(0.5)

außer (KeyboardInterrupt, SystemExit): cleanAndExit()

Schritt 6: LCD (16 * 2)

LCD (16*2)
LCD (16*2)

Anschließen des LCD

  1. RS -> GPIO21
  2. RW -> GND
  3. E-> GPIO20
  4. D0 -> GPIO16
  5. D1 -> GPIO12
  6. D2 -> GPIO6
  7. D3 ->GPIO24
  8. D4 -> GPIO23
  9. D5 -> GPIO26
  10. D6 -> GPIO19
  11. D7 -> GPIO13
  12. VSS -> GND
  13. VDD -> 5V
  14. A -> 5V
  15. K -> GND
  16. V0 -> mittlerer Poti-Pin

Jetzt können wir testen, ob unser LCD-Bildschirm mit diesem kleinen Skript funktioniert

importiere Adafruit_CharLCD als LCDlcd_rs = 21

lcd_en = 20

lcd_d4 = 23

lcd_d5 = 26

lcd_d6 = 19

lcd_d7 = 13

lcd_columns = 16

lcd_rows = 2

lcd = LCD. Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)

lcd.message('169.254.10.1')

Schritt 7: Voller Kreislauf

Voller Kreislauf
Voller Kreislauf

hier kannst du nochmal prüfen ob die gesamte Schaltung korrekt ist

Schritt 8: Beginn des Falls

Beginn des Falls
Beginn des Falls
Beginn des Falls
Beginn des Falls
Beginn des Falls
Beginn des Falls
Beginn des Falls
Beginn des Falls

Als Vorratsbehälter für das Hundefutter habe ich einen Cornflakesspender verwendet

Ich habe das Rad im Spender an meinen Servomotor angeschlossen

Jetzt kann ich das Rad mit meinem Servomotor steuern und Futter aus dem Vorratsbehälter fallen lassen

Am Ende des Behälters ist ein PVC-Schlauch angeschlossen, der das Essen schön in die Krippe fallen lässt

Ich verwende Holz als Gehäuse

Schritt 9: Zusammenbauen

Etwas zusammensetzen
Etwas zusammensetzen
Etwas zusammensetzen
Etwas zusammensetzen
Etwas zusammensetzen
Etwas zusammensetzen

Schritt 10: Die Website

Die Webseite
Die Webseite
Die Webseite
Die Webseite
Die Webseite
Die Webseite
Die Webseite
Die Webseite

Jetzt funktioniert unsere Maschine, wir müssen die Website auf das pi bringen. Jetzt ist alles in Betrieb und einige Anweisungen zur Funktionsweise der Website.

Sie können Ihr Pi mit dem WLAN verbinden, indem Sie ein HDMI-Kabel anschließen und auf diese Weise aktivieren

Die erste Seite ist die Startseite, hier sehen Sie:

  • Echtzeitinfos zum Licht
  • Echtzeit-Informationen über das Essen, das in der Schüssel verbleibt
  • Sie können Essen fallen lassen
  • Infos zum Hund

Die zweite Seite ist die Bearbeitungsseite, hier können Sie bearbeiten:

  • der Name deines Haustieres
  • das Alter Ihres Haustieres
  • das Gewicht Ihres Haustieres
  • das foto von deinem haustier

Die dritte Seite ist die Verlaufsseite, hier sehen Sie:

  • als das Licht anging
  • wenn der Hund gefressen hat
  • wenn das Essen gefallen ist

Die vierte Seite ist die Einstellungsseite, hier können Sie bearbeiten:

  • wenn das Essen fallen muss
  • die Menge an Nahrung, die fallen gelassen werden soll
  • max Essen/Tag
  • das Licht

Empfohlen: