Inhoudsopgave:
- Benodigdheden
- Stap 1: Pi-configuratie
- Stap 2: Led- en lichtsensor
- Stap 3: Servomotor
- Stap 4: RFID-lezer RC522
- Stap 5: Laadcel HX711
- Stap 6: LCD (16*2)
- Stap 7: Volledig circuit
- Stap 8: Start van de zaak
- Stap 9: Samenvoegen
- Stap 10: De website
Video: Automatische hondendispenser - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Met mijn project zorg ik ervoor dat wanneer je je hond alleen thuis laat, hij/zij nooit zonder eten zit.
De automatische feeder wordt "gehackt" vanuit een cornflakesdispenser. De dispenser is het reservoir voor hondenvoer, het wiel aan de onderkant wordt verbonden met een servomotor die automatisch voer laat vallen wanneer de wieg bijna leeg is en wanneer de hond dichtbij genoeg is. Aan de onderkant van de dispenser komt een PVC-buis die het hondenvoer mooi in de wieg laat vallen. Dit project zal daarom 3 sensoren hebben, waarvan 2 niet in de klas vallen en waarvan 1 een actuator is.
De eerste sensor is de RFID-lezer. Deze sensor controleert wanneer de hond in de buurt van de wieg komt. De RFID wordt verwerkt in de halsband van de hond. Als deze sensor merkt dat de hond dichtbij genoeg is, geeft hij een signaal door aan de tweede sensor. De tweede sensor is de gewichtssensor (niet gedekt in de les) die het voedsel in de wieg meet, als deze sensor detecteert dat het gewicht te laag is, zal hij een signaal sturen naar de servomotor die het voedsel in de wieg laat vallen (met bevestiging van de RFID en de gewichtssensor). Kortom, de hond krijgt alleen extra voer als hij/zij dicht genoeg bij het ledikant staat en als het ledikant bijna leeg is. Natuurlijk is er ook een limiet die je zelf kunt instellen via de webserver; zodat de hond niet teveel voer per dag krijgt. De derde sensor is een lichtsensor die een LED-schijnwerper verlicht wanneer het te donker is rond de wieg. De actuator zal daarom een servomotor zijn die is verbonden met het wiel in de dispenser.
Dit project is bedoeld voor honden, je kunt het ook gebruiken voor andere kleine huisdieren.
Benodigdheden
Raspberry Pi 3
Laadcel (1KG)
HX711 load cell versterker
voerbak
Granen dispenser
Hout (+ schroeven en schroevendraaier)
Licht sensor
LED
RFID-lezer rc522
Doorverbindingsdraden
16*2 LCD (weergave)
servomotor
5V voedingsadapter
Weerstand 470 Ohm
PVC-buis:
broodbord
Potentiometer
Zaag
Schuurpapier
Siliconen pistool
Stap 1: Pi-configuratie
Opstelling
Om te beginnen, moeten we eerst je Pi instellen.
Je hebt twee dingen nodig:
- Win32 Disk Imager van
- Raspbian OS-afbeelding van
Download het ZIP-bestand en pak het uit waar u maar wilt.
De installatie
1. Selecteer je afbeelding via het mappictogram
2. Selecteer je SD-kaart via de vervolgkeuzelijst
3. Klik op schrijven
Nu moeten we wat extra sleutelen aan sommige instellingen, zodat we toegang hebben tot de Pi.
1. Ga naar de opstartmap van de SD-kaart
2. Open het bestand "cmdline.txt"
3. Voeg ip=169.254.10.1 toe aan het einde van de lange tekstregel, gescheiden door een spatie (op dezelfde regel).
4. Sla het bestand op.
5. Maak een bestand met de naam ssh zonder extensie in dezelfde map
Nu kunt u de SD-kaart uitwerpen en in uw Pi plaatsen.
Verbinden
Nu moeten we de software instellen.
Sluit eerst een LAN-kabel aan, het ene uiteinde in je desktop/laptop en het andere in je Pi.
Start nu de Raspberry Pi op.
1. Installeer Putty van
2. Voer 169.254.10.1 in het IP-vak in.
3. Zorg ervoor dat SSH is geselecteerd en poort 22 is ingevuld.
4. Klik op openen
5. Vul de gebruikersnaam in: pi
6. Vul het wachtwoord in: framboos
Raspi-config
Open het hulpprogramma Raspi-config met behulp van:
sudo raspi-config
Schakel de volgende opties in de categorie interfaces in:
- 1-draads
- SPI
Schakel de volgende opties uit in de categorie opstartopties:
- Splash-scherm
Stel ten slotte de Desktop/CLI-instelling in de categorie opstartopties in op Desktop Autologin.
Wifi
Voor de hondenvoerbak hebben we een wifi-verbinding nodig, dus zorg ervoor dat je je wifi-inloggegevens bij de hand hebt.
1. Ga naar de root-modus
sudo -i
2. Plak deze regel maar zorg ervoor dat de SSID en het wachtwoord beide zijn ingevuld
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
3. Voer de WPA-client in.
Wpa_cli
4. Selecteer de interface
Interface wlan0
5. Laad de configuratie opnieuw
Opnieuw configureren
Zorg ervoor dat je correct bent verbonden door ip a te typen en te kijken of je een IP hebt op de WLAN0-interfaces.
Pakketjes
Nu we verbonden zijn met internet, moeten we enkele pakketten installeren.
Eerst moeten we de pakketlijsten vernieuwen voor de laatste.
sudo apt update
Python
We dwingen Raspbian om Python 3. te gebruiken
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3 2
MariaDB
Plak de volgende regel om de database te installeren.
sudo apt install mariadb-server
Dan moeten we onze installatie beveiligen.
mysql_secure_installation
Het zal ons om het huidige root-wachtwoord vragen, omdat we er geen hebben, druk gewoon op enter.
Vervolgens wordt gevraagd of we een root-wachtwoord willen typen in y, omdat we er een willen.
Voer voor de volgende vragen gewoon Y in.
Vervolgens maken we een gebruiker die we voor de spiegel kunnen gebruiken.
Voer de mysql-shell in door te doen:
- Verhef ons tot wortel
Sudo -i
- Voer de mysql-shell in
Mysql
- Vervang door uw eigen gebruikersnaam en hetzelfde met
alle privileges op *.* toekennen aan ''@'%' geïdentificeerd door '';
- alle privileges op *.* toekennen aan ''@'%' geïdentificeerd door '';
Vervolgens voegen we onze database toe.
Apache-webserver
Voer de onderstaande regel uit om de webserver te installeren.
sudo apt installeer apache2 -y
Python-pakketten
We gaan deze pakketten installeren
- Kolf
- Kolf-Cors
- Kolf-MySQL
- Kolf-SocketIO
- PyMySQL
- Gent
- Gevent-websocket
-
- Python-socketio
- Verzoeken
- Wsaccel
- Ujson
Door te doen
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio requests wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
Stap 2: Led- en lichtsensor
De led aansluiten
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> Weerstand 470 ohm en GND
De lichtsensor aansluiten
- UIT -> GPIO17
- VCC -> 3.3V
- GND -> GND
Nu kunnen we testen of onze led- en lichtsensor werkt met dit kleine script
importeer RPi. GPIO als GPIO GPIO.setmode (GPIO. BCM)
GPIO.setup (15, GPIO. OUT)
GPIO.setup (17, GPIO. IN)
probeer: terwijl True:
als GPIO.invoer (17) == 0:
GPIO.uitgang (15, GPIO. HOOG)
als GPIO.input (17) == 1:
GPIO.output (15, GPIO. LOW)
behalve KeyboardInterrupt: GPIO.cleanup()
Stap 3: Servomotor
De servomotor aansluiten
- UIT -> GPIO18
- VCC -> 5V
- GND -> GND
Nu kunnen we testen of onze led- en lichtsensor werkt met dit kleine script
importeer RPi. GPIO als GPIOimporttijd
GPIO.setmode(GPIO. BCM)
GPIO.setup (18, GPIO. OUT)
p = GPIO. PWM (18, 50)
p.start(12.5)
proberen:
terwijl waar:
p. ChangeDutyCycle(12.5)
tijd.slaap(1)
p. ChangeDutyCycle(2.5)
tijd.slaap(1)
behalve KeyboardInterrupt:
p.stop()
GPIO.opschonen()
Stap 4: RFID-lezer RC522
De RFID aansluiten
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3.3V -> 3.3V
- GND -> GND
Nu kunnen we testen of onze RFID-lezer werkt met dit kleine script
importeer RPi. GPIO als GPIO
van mfrc522 import SimpleMFRC522
lezer = SimpleMFRC522()
text = input('Nieuwe gegevens:')
print("Plaats nu je tag om te schrijven")
lezer.schrijven(tekst)
print("Geschreven")
Stap 5: Laadcel HX711
De loadcel aansluiten op de HX711-driverkaart
- Rood -> E+
- Zwart -> E-
- Groen -> A+
- Wit -> A-
De loadcel aansluiten
- DT-> GPIO27
- SCK -> GPIO22
- ROOD -> 3.3V
- GND -> GND
Nu kunnen we testen of onze load cell werkt met dit kleine script
importeer RPi. GPIO als GPIO importeer tijd importeer sys uit klasses. HX711 importeer HX711
def cleanAndExit(): print("Opschonen…") GPIO.cleanup() print("Dag!") sys.exit()
hx = HX711 (22, 27)
hx.set_reading_format ("LSB", "MSB")
hx.set_reference_unit (2167)
hx.reset()
hx.tarra()
terwijl waar:
proberen:
val = max(0, int(hx.get_weight(5)))
print(val)
hx.power_down()
hx.power_up()
tijd.slaap(0.5)
behalve (KeyboardInterrupt, SystemExit): cleanAndExit()
Stap 6: LCD (16*2)
Het LCD-scherm aansluiten
- 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 -> middelste potentio-pin
Nu kunnen we testen of ons LCD-scherm werkt met dit kleine script
importeer Adafruit_CharLCD als LCDlcd_rs = 21
lcd_nl = 20
lcd_d4 = 23
lcd_d5 = 26
lcd_d6 = 19
lcd_d7 = 13
lcd_kolommen = 16
lcd_rijen = 2
lcd = LCD. Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)
lcd.bericht('169.254.10.1')
Stap 7: Volledig circuit
hier kun je nogmaals controleren of het hele circuit klopt
Stap 8: Start van de zaak
Ik heb een cornflake dispenser gebruikt als reservoir voor het hondenvoer
Ik heb het wiel in de dispenser aangesloten op mijn servomotor
Nu kan ik het stuur bedienen met mijn servomotor en voedsel uit het reservoir laten vallen
Aan het uiteinde van het reservoir is een PVC buis aangesloten die het eten mooi in de wieg laat vallen
Ik gebruik hout als behuizing
Stap 9: Samenvoegen
Stap 10: De website
Nu onze machine werkt, moeten we de website op de pi krijgen. Nu is alles in gebruik, een paar instructies over hoe de site werkt.
Je kunt je pi verbinden met wifi door een HDMI-kabel aan te sluiten en op deze manier te activeren
De eerste pagina is de startpagina, hier kunt u zien:
- Realtime info over het licht
- Realtime info over het eten dat nog in de kom zit
- Je kunt eten laten vallen
- Info over de hond
De tweede pagina is de bewerkingspagina, hier kun je bewerken:
- de naam van uw huisdier
- de leeftijd van uw huisdier
- het gewicht van uw huisdier
- de foto van je huisdier
De derde pagina is de geschiedenispagina, hier kun je zien:
- toen het licht aan ging
- als de hond gegeten heeft
- wanneer het eten is gevallen
De vierde pagina is de instellingenpagina, hier kun je bewerken:
- wanneer het eten moet vallen
- de hoeveelheid te laten vallen voedsel
- max voedsel/dag
- het licht
Aanbevolen:
Automatische hondenvoeder !!: 4 stappen
Automatische Dog Feederrr!!: Makkelijk, Behulpzaam en Gezond
Automatische invoer: 3 stappen
Automatische feeder: waar gaat ons project over? Ons project is een automatische feeder voor honden. Het is een eenvoudige manier om uw hond te voeren. Bijvoorbeeld als u op reis gaat en u kent niemand die uw hond voor u kan voeren. De automatische feeder is verantwoordelijk voor
Automatische hondenvoeder: 6 stappen
Auto Dog Feeder: Dit is mijn project van een Auto Pet Feeder. Mijn naam is Parker, ik zit in groep 11 en ik heb dit project op 11 november 2020 gemaakt als een CCA (Course Culminating Activity) in dit project zal ik je laten zien hoe je een Automatic Pet Feeder maakt met Arduino UNO
Corona Safe: automatische waterbesparende kraan: 6 stappen
Corona Safe: Automatische Waterbesparende Kraan: We moeten allemaal af en toe onze handen wassen om het virus en de bacteriën kwijt te raken. Speciaal voor het Corona virus moeten we onze handen 20 seconden wassen om er helemaal vanaf te komen. Ook de zeepdispenser of de kraanknop is misschien niet hygiënisch of k
Automatische bedverlichting: 5 stappen (met afbeeldingen)
Automatische bedverlichting: slaap jij ook 's nachts? Zie je ook niets in het donker? Heb je 's nachts ook donker op de kamer? Dan is dit apparaat iets voor jou! Ik denk dat de meesten van ons graag een beetje blijven 's avonds langer. De redenen kunnen verschillend zijn - Netflix, YouTube