Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Konfiguracja Pi
- Krok 2: Led i czujnik światła
- Krok 3: Serwosilnik
- Krok 4: Czytnik RFID RC522
- Krok 5: Ogniwo obciążnikowe HX711
- Krok 6: LCD (16*2)
- Krok 7: Pełny obwód
- Krok 8: Początek sprawy
- Krok 9: Łączenie w całość
- Krok 10: Strona internetowa
Wideo: Automatyczny dozownik psa: 10 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Dzięki mojemu projektowi upewniam się, że kiedy zostawiasz psa samego w domu, nigdy nie pozostaje bez jedzenia.
Automatyczny podajnik zostanie „zhakowany” z dozownika płatków kukurydzianych. Dozownik jest zbiornikiem na karmę dla psów, koło na dole będzie połączone z serwomotorem, który automatycznie upuszcza karmę, gdy łóżeczko jest prawie puste i gdy pies jest wystarczająco blisko. Na dnie dozownika dołączona będzie rurka PCV, która ładnie wrzuci karmę dla psa do łóżeczka. Ten projekt będzie zatem miał 3 czujniki, z których 2 nie są objęte klasą, a 1 jest siłownikiem.
Pierwszym czujnikiem jest czytnik RFID. Ten czujnik sprawdza, kiedy pies zbliża się do łóżeczka. RFID zostanie wkomponowane w obrożę psa. Jeśli ten czujnik zauważy, że pies jest wystarczająco blisko, przekaże sygnał do drugiego czujnika. Drugi czujnik to czujnik wagi (nie objęty klasą), który mierzy jedzenie w łóżeczku, jeśli ten czujnik wykryje, że waga jest zbyt niska, wyśle sygnał do serwomotoru, który wrzuci jedzenie do łóżeczka (z potwierdzeniem RFID i czujnikiem wagi). Krótko mówiąc, pies otrzymuje dodatkowe jedzenie tylko wtedy, gdy znajduje się wystarczająco blisko łóżeczka i gdy łóżeczko jest prawie puste. Oczywiście istnieje również zestaw limitów, który możesz ustawić samodzielnie za pośrednictwem serwera WWW; aby pies nie dostawał za dużo jedzenia dziennie. Trzeci czujnik to czujnik światła, który oświetla reflektor LED, gdy wokół łóżeczka jest zbyt ciemno. Siłownik będzie zatem serwomotorem połączonym z kołem w dozowniku.
Ten projekt jest przeznaczony dla psów, możesz go również wykorzystać dla innych małych zwierząt.
Kieszonkowe dzieci
Raspberry Pi 3
Ogniwo obciążnikowe (1KG)
Wzmacniacz tensometryczny HX711
Miska z jedzeniem
Dozownik zbóż
Drewno (+ śruby i śrubokręt)
Czujnik światła
Prowadzony
Czytnik RFID rc522
Przewody połączeniowe
16*2 LCD (wyświetlacz)
Siłownik
Zasilacz 5 V
Rezystor 470 Ohm
Rurka PCV
Tablica chlebowa
Potencjometr
Piła
Papier ścierny
Pistolet silikonowy
Krok 1: Konfiguracja Pi
Ustawiać
Aby rozpocząć, musimy najpierw skonfigurować Twoje Pi.
Będziesz potrzebować dwóch rzeczy:
- Win32 Disk Imager z
- Obraz Raspbian OS z
Pobierz plik ZIP i rozpakuj go w dowolne miejsce.
Instalacja
1. Wybierz obraz za pomocą ikony folderu
2. Wybierz swoją kartę SD z listy rozwijanej
3. Kliknij na napisz
Teraz będziemy musieli wykonać dodatkowe majsterkowanie przy niektórych ustawieniach, abyśmy mogli uzyskać dostęp do Pi.
1. Przejdź do katalogu rozruchowego karty SD
2. Otwórz plik „cmdline.txt”
3. Dodaj ip=169.254.10.1 Na końcu długiej linii tekstu oddzielonej spacją (w tej samej linii).
4. Zapisz plik.
5. Utwórz plik o nazwie ssh bez rozszerzenia w tym samym katalogu
Teraz możesz wysunąć kartę SD i włożyć ją do swojego Pi.
Złączony
Teraz będziemy musieli skonfigurować oprogramowanie.
Najpierw podłącz kabel LAN, jeden koniec do komputera stacjonarnego/laptopa, a drugi do Pi.
Teraz uruchom Raspberry Pi.
1. Zainstaluj Putty z
2. Wprowadź 169.254.10.1 w polu IP.
3. Upewnij się, że wybrano SSH, a port 22 jest wypełniony.
4. Kliknij otwórz
5. Wpisz nazwę użytkownika: pi
6. Wpisz hasło: malina
Konfiguracja raspi
Otwórz narzędzie Raspi-config za pomocą:
sudo raspi-config
Włącz następujące opcje w kategorii interfejsów
- 1-przewodowy
- SPI
Wyłącz następujące opcje w kategorii opcji rozruchu
- Ekran powitalny
Na koniec ustaw ustawienie Desktop/CLI w kategorii opcji rozruchu na Desktop Autologin.
Wi-Fi
W przypadku karmnika dla psów musimy mieć połączenie Wi-Fi, więc upewnij się, że masz zamknięte poświadczenia Wi-Fi.
1. Przejdź do trybu roota
sudo-i
2. Wklej tę linię, ale upewnij się, że SSID i hasło są wypełnione
wpa_passphrase "SSID" "HASŁO" >> /etc/wpa_supplicant/wpa_supplicant.conf
3. Wejdź do klienta WPA.
Wpa_cli
4. Wybierz interfejs
Interfejs wlan0
5. Przeładuj konfigurację
Zmień konfigurację
Upewnij się, że jesteś prawidłowo podłączony, wpisując ip a i sprawdzając, czy masz adres IP na interfejsach WLAN0.
Pakiety
Teraz, gdy mamy połączenie z Internetem, będziemy musieli zainstalować kilka pakietów.
Najpierw musimy odświeżyć listę pakietów do najnowszej.
aktualizacja sudo apt
Pyton
Zmusimy Raspbian do używania Pythona 3
update-alternatives – zainstaluj /usr/bin/python python /usr/bin/python2.7 1
update-alternatives -- zainstaluj /usr/bin/python python /usr/bin/python3 2
MariaDB
Wklej następujący wiersz, aby zainstalować bazę danych.
sudo apt zainstaluj serwer mariadb
Wtedy będziemy musieli zabezpieczyć naszą instalację.
mysql_secure_installation
Zapyta nas o aktualne hasło roota, ponieważ go nie mamy, wystarczy nacisnąć enter.
Następnie pyta, czy chcemy wpisać hasło roota w y, ponieważ je chcemy.
W przypadku kolejnych pytań wystarczy wpisać Y.
Następnie stworzymy użytkownika, którego będziemy mogli używać do lustra.
Wejdź do powłoki mysql, wykonując:
- Wznieś się do korzenia
Sudo-i
- Wejdź do powłoki mysql
Mysql
- Zastąp własną nazwą użytkownika i tym samym
nadaj wszystkie uprawnienia *.* do ''@'%' zidentyfikowanego przez '';
- nadaj wszystkie uprawnienia na *.* do ''@'%' oznaczonego '';
Następnie dodamy naszą bazę danych.
Serwer WWW Apache
Aby zainstalować serwer WWW, uruchom poniższy wiersz.
sudo apt zainstaluj apache2 -y
Pakiety Pythona
Zamierzamy zainstalować te pakiety
- Kolba
- Flask-Cors
- Flask-MySQL
- Kolba-Gniazdo IO
- PyMySQL
- Gevent
- Gevent-websocket
-
- Gniazdo Pythona
- Prośby
- Wsaccel
- Ujson
Wykonując
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio żądania wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
Krok 2: Led i czujnik światła
Podłączanie led
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> Rezystor 470 omów i GND
Podłączanie czujnika światła
- OUT -> GPIO17
- VCC -> 3,3 V
- GND -> GND
Teraz możemy przetestować, czy nasz czujnik led i światła działa z tym małym skryptem
importuj RPi. GPIO jako GPIO GPIO.setmode(GPIO. BCM)
GPIO.setup(15, GPIO. OUT)
Konfiguracja. GPIO(17, GPIO. IN)
spróbuj: podczas gdy prawda:
jeśli GPIO.input(17) == 0:
GPIO.wyjście(15, GPIO. HIGH)
jeśli GPIO.input(17) == 1:
GPIO.wyjście(15, GPIO. LOW)
z wyjątkiem KeyboardInterrupt: GPIO.cleanup()
Krok 3: Serwosilnik
Podłączanie serwomotoru
- OUT -> GPIO18
- VCC -> 5V
- GND -> GND
Teraz możemy przetestować, czy nasz czujnik led i światła działa z tym małym skryptem
importuj RPi. GPIO jako czas importu GPIO
GPIO.setmode(GPIO. BCM)
GPIO.setup(18, GPIO. OUT)
p = GPIO. PWM(18, 50)
p.start(12.5)
próbować:
podczas gdy prawda:
p. Cykl zmian(12.5)
czas.sen(1)
p. Cykl zmian obowiązków(2.5)
czas.sen(1)
z wyjątkiem KeyboardInterrupt:
p.stop()
GPIO.oczyszczanie()
Krok 4: Czytnik RFID RC522
Podłączanie RFID
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3,3 V -> 3,3 V
- GND -> GND
Teraz możemy przetestować, czy nasz czytnik RFID działa z tym małym skryptem
importuj RPi. GPIO jako GPIO
z mfrc522 importuj SimpleMFRC522
czytnik = SimpleMFRC522()
text = input('Nowe dane:')
print("Teraz umieść swój tag do pisania")
czytelnik.zapis(tekst)
print("Napisane")
Krok 5: Ogniwo obciążnikowe HX711
Podłączanie ogniwa obciążnikowego do płyty sterownika HX711
- Czerwony -> E+
- Czarny -> E-
- Zielony -> A+
- Biały -> A-
Podłączanie ogniwa obciążnikowego
- DT->GPIO27
- SCK -> GPIO22
- CZERWONY -> 3,3V
- GND -> GND
Teraz możemy przetestować, czy nasza komórka obciążeniowa działa z tym małym skryptem
import RPi. GPIO jako GPIOimport czasu import sys z klasses. HX711 import HX711
def cleanAndExit(): print("Czyszczenie…") GPIO.cleanup() print("Do widzenia!") sys.exit()
hx = HX711 (22, 27)
hx.set_reading_format ("LSB", "MSB")
hx.set_reference_unit (2167)
hx.reset()
hx.tara()
podczas gdy prawda:
próbować:
val = max(0, int(hx.get_weight(5)))
drukuj(val)
hx.power_down()
hx.power_up()
czas.sen(0.5)
z wyjątkiem (KeyboardInterrupt, SystemExit): cleanAndExit()
Krok 6: LCD (16*2)
Podłączanie 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 -> środkowy pin potencjometru
Teraz możemy przetestować, czy nasz ekran LCD działa z tym małym skryptem
importuj Adafruit_CharLCD jako LCDlcd_rs = 21
lcd_en = 20
lcd_d4 = 23
lcd_d5 = 26
lcd_d6 = 19
lcd_d7 = 13
lcd_kolumny = 16
lcd_rows = 2
lcd = LCD. Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)
komunikat.lcd('169.254.10.1')
Krok 7: Pełny obwód
tutaj możesz ponownie sprawdzić, czy cały obwód jest poprawny
Krok 8: Początek sprawy
Użyłem dozownika płatków kukurydzianych jako zbiornika na karmę dla psów
Podłączyłem koło w dozowniku do mojego serwomotoru
Teraz mogę sterować kołem za pomocą serwomotoru i wyrzucać jedzenie ze zbiornika
Na końcu zbiornika jest podłączona rurka z PVC, która ładnie wrzuca jedzenie do łóżeczka
Używam drewna jako osłonki
Krok 9: Łączenie w całość
Krok 10: Strona internetowa
Teraz nasza maszyna działa, musimy umieścić witrynę na pi. Teraz wszystko jest gotowe i działa kilka instrukcji dotyczących działania witryny.
Możesz podłączyć pi do Wi-Fi, podłączając kabel HDMI i aktywować w ten sposób
Pierwsza strona to strona główna, tutaj możesz zobaczyć:
- Informacje o świetle w czasie rzeczywistym
- Informacje w czasie rzeczywistym o jedzeniu pozostawionym w misce?
- Możesz upuścić jedzenie
- Informacje o psie
Druga strona to strona edycji, tutaj możesz edytować:
- imię twojego zwierzaka
- wiek twojego zwierzaka
- waga Twojego zwierzaka
- zdjęcie twojego zwierzaka
Trzecia strona to strona historii, tutaj możesz zobaczyć:
- kiedy światło się zapaliło
- kiedy pies zjadł
- kiedy jedzenie spadło
Czwarta strona to strona ustawień, tutaj możesz edytować:
- kiedy jedzenie musi spaść
- ilość jedzenia do zrzucenia
- max jedzenie/dzień
- światło
Zalecana:
Automatyczny dozownik do ręcznego dezynfekcji rąk: 6 kroków
Automatyczny dozownik do ręcznego dezynfekcji rąk: W tym projekcie zbudujemy automatyczny dozownik do dezynfekcji rąk. Ten projekt będzie wykorzystywał Arduino, czujnik ultradźwiękowy, pompę wody i dezynfektor do rąk. Czujnik ultradźwiękowy służy do sprawdzania obecności rąk poniżej wylotu dezynfektora
Automatyczny dozownik alkoholu żelowego z Esp32: 9 kroków
Automatyczny dozownik alkoholu żelowego z Esp32: W samouczku zobaczymy, jak zrobić kompletny prototyp, aby złożyć automatyczny dozownik alkoholu żelowego z esp32, będzie zawierał montaż krok po kroku, obwód elektroniczny, a także kod źródłowy wyjaśniony krok po kroku krok
Automatyczny dozownik leków: 5 kroków
Automatyczny dozownik leków: Ten projekt jest przeznaczony do użytku w medycynie, gdzie starsi pacjenci muszą mieć niezawodny sposób na porcjowanie i dozowanie leków. To urządzenie umożliwia porcjowanie leków z 9-dniowym wyprzedzeniem i automatyczne dozowanie w
Automatyczny podajnik psa: 6 kroków
Auto Dog Feeder: To jest mój projekt Auto Pet Feeder. Nazywam się Parker, jestem w klasie 11 i wykonałem ten projekt 11 listopada 2020 r. Jako CCA (Course Culminating Activity) w tym projekcie pokażę ci, jak zrobić automatyczny karmnik dla zwierząt z Arduino UNO
Automatyczny podajnik psa: 5 kroków
Automatyczny karmnik dla psów: Jest to samouczek krok po kroku, jak zrobić automatyczny karmnik dla psów za pomocą Arduino. Jest to idealne rozwiązanie, jeśli jesteś poza domem przez większą część dnia. Zamiast czekać cały dzień na jedzenie przez psa lub chować się do domu, aby go nakarmić, to urządzenie