Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Pi-Setup
- Schritt 2: LED- und Lichtsensor
- Schritt 3: Servomotor
- Schritt 4: RFID-Leser RC522
- Schritt 5: Wägezelle HX711
- Schritt 6: LCD (16 * 2)
- Schritt 7: Voller Kreislauf
- Schritt 8: Beginn des Falls
- Schritt 9: Zusammenbauen
- Schritt 10: Die Website
Video: Automatischer Hundespender - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
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
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
Anschließen der LED
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> Widerstand 470 Ohm und GND
Anschließen des Lichtsensors
- OUT -> GPIO17
- VCC -> 3.3V
- 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
Anschließen des Servomotors
- OUT -> GPIO18
- VCC -> 5V
- 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
Anschließen des RFID
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3.3V -> 3.3V
- 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
Anschließen der Wägezelle an die HX711-Treiberplatine
- Rot -> E+
- Schwarz -> E-
- Grün -> A+
- Weiß -> A-
Anschließen der Wägezelle
- DT-> GPIO27
- SCK -> GPIO22
- ROT -> 3.3V
- 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)
Anschließen des LCD
- RS -> GPIO21
- RW -> GND
- E-> GPIO20
- D0 -> GPIO16
- D1 -> GPIO12
- D2 -> GPIO6
- D3 ->GPIO24
- D4 -> GPIO23
- D5 -> GPIO26
- D6 -> GPIO19
- D7 -> GPIO13
- VSS -> GND
- VDD -> 5V
- A -> 5V
- K -> GND
- 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
hier kannst du nochmal prüfen ob die gesamte Schaltung korrekt ist
Schritt 8: 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
Schritt 10: Die Website
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:
Automatischer Anrufbeantworter V1.0: 17 Schritte (mit Bildern)
Automated Answering System V1.0: Manchmal habe ich einfach keine Lust, ans Telefon zu gehen. Okay, okay… die meiste Zeit ist es mir wirklich egal, ans Telefon zu gehen. Was soll ich sagen, ich bin ein beschäftigter Mann. Ich habe mir schon lange ein System gewünscht, das dem ähnlich ist, das die Telefongesellschaft für die
Automatischer Sucher: 4 Schritte
Auto-Searcher: Also las ich eines Tages Fanfiction in meinem Bett, um meinen Stress abzubauen. Aber ich hatte das Gefühl, dass es ein bisschen mühsam war, die Seite weiter zu scrollen, um weiterzulesen. Ich muss auch klicken, um das nächste Kapitel zu sehen und das Ganze vorher suchen
Automatischer Gartenbewässerer - 3D gedruckt - Arduino: 10 Schritte (mit Bildern)
Automatischer Gartenbewässerer | 3D gedruckt | Arduino: Ich bin ein begeisterter Gärtner, aber Ihre Pflanzen während Trockenperioden von Hand zu gießen, dauert einige Zeit. Dieses Projekt befreit mich vom Gießen, damit ich an meinen anderen Projekten arbeiten kann. Es ist auch großartig, sich um den Garten zu kümmern, während Sie nicht zu Hause sind, und die Pflanze