Satura rādītājs:
- Piegādes
- 1. darbība: Pi iestatīšana
- 2. solis: LED un gaismas sensors
- 3. solis: Servo motors
- 4. solis: RFID lasītājs RC522
- 5. darbība: ielādējiet šūnu HX711
- 6. darbība: LCD (16*2)
- 7. solis: pilna ķēde
- 8. solis: lietas sākums
- 9. solis: salieciet to kopā
- 10. solis: vietne
Video: Automātiskais suņu dozators: 10 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Ar savu projektu es pārliecinos, ka, atstājot suni vienu mājās, viņš / viņa nekad nepaliks bez ēdiena.
Automātiskais padevējs tiks "uzlauzts" no kukurūzas pārslu dozatora. Dozators ir suņu barības tvertne, ritenis apakšā tiks savienots ar servomotoru, kas automātiski nomet ēdienu, kad gultiņa ir gandrīz tukša un kad suns ir pietiekami tuvu. Dozētāja apakšā būs piestiprināta PVC caurule, kas lieliski iebāzīs suņu barību gultiņā. Tāpēc šim projektam būs 3 sensori, no kuriem 2 nav iekļauti klasē un 1 ir izpildmehānisms.
Pirmais sensors ir RFID lasītājs. Šis sensors pārbauda, kad suns ir tuvu gultiņai. RFID tiks iekļauts suņa apkaklē. Ja šis sensors pamana, ka suns ir pietiekami tuvu, tas pārraidīs signālu otrajam sensoram. Otrs sensors ir svara sensors (neietilpst klasē), kas mēra ēdienu gultiņā, ja šis sensors konstatē, ka svars ir pārāk mazs, tas nosūtīs signālu uz servomotoru, kas pilinās ēdienu gultiņā (ar RFID un svara sensora apstiprinājumu). Īsāk sakot, suns saņem papildu barību tikai tad, kad viņš ir pietiekami tuvu gultiņai un kad gultiņa ir gandrīz tukša. Protams, ir noteikts arī ierobežojums, ko varat iestatīt pats, izmantojot tīmekļa serveri; lai suns nesaņemtu pārāk daudz barības dienā. Trešais sensors ir gaismas sensors, kas izgaismo LED prožektoru, kad ap bērnu gultiņu ir pārāk tumšs. Tādējādi izpildmehānisms būs servomotors, kas savienots ar ritenīti dozatorā.
Šis projekts ir paredzēts suņiem, to var izmantot arī citiem maziem mājdzīvniekiem.
Piegādes
Raspberry Pi 3
Ielādēt šūnu (1KG)
HX711 slodzes šūnu pastiprinātājs
Pārtikas trauks
Graudaugu dozators
Koks (+ skrūves un skrūvgriezis)
Gaismas sensors
Vadīja
RFID lasītājs rc522
Jumper vadi
16*2 LCD (displejs)
Servo motors
5V strāvas adapteris
Rezistors 470 omi
PVC caurule
Breadbord
Potenciometrs
Ieraudzīja
Slīpēšanas papīrs
Silīcija lielgabals
1. darbība: Pi iestatīšana
Uzstādīt
Lai sāktu, mums vispirms ir jāiestata jūsu Pi.
Jums būs nepieciešamas divas lietas:
- Win32 diska attēlveidotājs no vietnes
- Raspbian OS attēls no
Lejupielādējiet ZIP failu un izvelciet to, kur vien vēlaties.
Instalācija
1. Izvēlieties savu attēlu, izmantojot mapes ikonu
2. Nolaižamajā izvēlnē atlasiet savu SD karti
3. Noklikšķiniet uz rakstīt
Tagad mums būs jāveic papildu pielāgošana ar dažiem iestatījumiem, lai mēs varētu piekļūt Pi.
1. Dodieties uz SD kartes sāknēšanas direktoriju
2. Atveriet failu "cmdline.txt"
3. Pievienojiet ip = 169.254.10.1 Teksta garās rindas beigās, kas atdalīta ar atstarpi (tajā pašā rindā).
4. Saglabājiet failu.
5. Izveidojiet failu ar nosaukumu ssh bez paplašinājuma tajā pašā direktorijā
Tagad jūs varat izņemt SD karti un ievietot to savā Pi.
Notiek savienošana
Tagad mums būs jāiestata programmatūra.
Vispirms pievienojiet LAN kabeli, vienu galu - galddatorā/klēpjdatorā, bet otru - Pi.
Tagad palaidiet Raspberry Pi.
1. Instalējiet Putty no vietnes
2. IP lodziņā ievadiet 169.254.10.1.
3. Pārliecinieties, vai ir atlasīts SSH un 22. ports.
4. Noklikšķiniet uz atvērt
5. Aizpildiet lietotājvārdu: pi
6. Aizpildiet paroli: aveņu
Raspi-config
Atveriet utilītu Raspi-config, izmantojot:
sudo raspi-config
Saskarņu kategorijā iespējojiet tālāk norādītās opcijas
- 1 vads
- SPI
Atspējojiet šādas opcijas sāknēšanas opciju kategorijā
- šļakatu ekrāns
Visbeidzot iestatiet darbvirsmas/CLI iestatījumu sāknēšanas opciju kategorijā uz Desktop Autologin.
Bezvadu internets
Suņu barotavā mums ir jābūt wifi savienojumam, tāpēc pārliecinieties, vai jūsu Wi -Fi akreditācijas dati ir tuvu.
1. Pārejiet saknes režīmā
sudo -i
2. Ielīmējiet šo rindiņu, bet pārliecinieties, vai ir aizpildīts gan SSID, gan parole
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
3. Ievadiet WPA klientu.
Wpa_cli
4. Izvēlieties interfeisu
Saskarne wlan0
5. Pārlādējiet konfigurāciju
Pārkonfigurēt
Pārliecinieties, vai savienojums ir izveidots pareizi, ierakstot ip a un pārbaudot, vai WLAN0 saskarnēs ir IP.
Iepakojumi
Tagad, kad esam izveidojuši savienojumu ar internetu, mums būs jāinstalē dažas paketes.
Vispirms mums ir jāatjaunina pakotņu saraksti, lai iegūtu jaunāko.
sudo apt atjauninājums
Python
Mēs piespiedīsim Raspbian izmantot Python 3
update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1
update-alternatives-instalēt/usr/bin/python python/usr/bin/python3 2
MariaDB
Lai instalētu datu bāzi, ielīmējiet šo rindu.
sudo apt instalēt mariadb-server
Tad mums būs jāaizsargā mūsu instalācija.
mysql_secure_installation
Tas prasīs mums pašreizējo saknes paroli, jo mums tādas nav, vienkārši nospiediet taustiņu Enter.
Tālāk tiek jautāts, vai mēs vēlamies y ievadīt saknes paroli, jo mēs to vēlamies.
Nākamajiem jautājumiem vienkārši ievadiet Y.
Tālāk mēs izveidosim lietotāju, kuru varēsim izmantot spogulim.
Ievadiet mysql apvalku, rīkojoties šādi:
- Paceliet sevi līdz saknēm
Sudo -i
- Ievadiet mysql apvalku
Myql
- Aizstāt ar savu lietotājvārdu un to pašu ar
piešķirt visas privilēģijas *. * uz ''@'%', kas apzīmēts ar '';
- piešķirt visas privilēģijas *. * uz ''@'%', kas apzīmēts ar '';
Tālāk mēs pievienosim savu datu bāzi.
Apache tīmekļa serveris
Lai instalētu tīmekļa serveri, palaidiet zemāk esošo rindu.
sudo apt instalēt apache2 -y
Python paketes
Mēs instalēsim šīs paketes
- Kolba
- kolbas-korķi
- kolba-MySQL
- Flask-SocketIO
- PyMySQL
- Gevent
- Gevent-websocket
-
- Python-socketio
- Pieprasījumi
- Vācels
- Ujsons
Darot
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httpsib2 python-socketio pieprasījumi wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
2. solis: LED un gaismas sensors
LED savienošana
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> rezistors 470 omi un GND
Gaismas sensora pievienošana
- OUT -> GPIO17
- VCC -> 3.3V
- GND -> GND
Tagad mēs varam pārbaudīt, vai mūsu LED un gaismas sensors darbojas ar šo mazo skriptu
importēt RPi. GPIO kā GPIO GPIO.setmode (GPIO. BCM)
GPIO iestatīšana (15, GPIO. OUT)
GPIO.iestatīšana (17, GPIO. IN)
pamēģini: kamēr True:
ja GPIO.input (17) == 0:
GPIO izvade (15, GPIO. HIGH)
ja GPIO.input (17) == 1:
GPIO izvade (15, GPIO. LOW)
izņemot KeyboardInterrupt: GPIO.cleanup ()
3. solis: Servo motors
Servo motora pievienošana
- OUT -> GPIO18
- VCC -> 5V
- GND -> GND
Tagad mēs varam pārbaudīt, vai mūsu LED un gaismas sensors darbojas ar šo mazo skriptu
importēt RPi. GPIO kā GPIOimportēt laiku
GPIO.setmode (GPIO. BCM)
GPIO iestatīšana (18, GPIO. OUT)
p = GPIO. PWM (18, 50)
p. sākums (12.5)
pamēģini:
kamēr taisnība:
p. ChangeDutyCycle (12.5)
laiks. miegs (1)
p. ChangeDutyCycle (2.5)
laiks. miegs (1)
izņemot tastatūruPārtraukums:
p.stop ()
GPIO.cleanup ()
4. solis: RFID lasītājs RC522
RFID savienošana
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3.3V -> 3.3V
- GND -> GND
Tagad mēs varam pārbaudīt, vai mūsu RFID lasītājs darbojas ar šo mazo skriptu
importēt RPi. GPIO kā GPIO
no mfrc522 importējiet SimpleMFRC522
lasītājs = SimpleMFRC522 ()
teksts = ievade ('Jauni dati:')
drukāt ("Tagad ievietojiet tagu rakstīšanai")
reader.write (teksts)
drukāt ("rakstiski")
5. darbība: ielādējiet šūnu HX711
Ielādes šūnas savienošana ar HX711 draivera paneli
- Sarkans -> E+
- Melns -> E-
- Zaļš -> A+
- Balts -> A-
Ielādes šūnas savienošana
- DT-> GPIO27
- SCK -> GPIO22
- SARKANS -> 3.3V
- GND -> GND
Tagad mēs varam pārbaudīt, vai mūsu slodzes sensors darbojas ar šo mazo skriptu
importēt RPi. GPIO kā GPIO importēt laika importa sistēmu no klasēm. HX711 importēt HX711
def cleanAndExit (): print ("Cleaning …") GPIO.cleanup () print ("Bye!") sys.exit ()
hx = HX711 (22, 27)
hx.set_reading_format ("LSB", "MSB")
hx.set_reference_unit (2167)
hx.reset ()
hx.tare ()
kamēr taisnība:
pamēģini:
val = max (0, int (hx.get_weight (5))))
drukāt (val)
hx.power_down ()
hx.power_up ()
miega laiks (0,5)
izņemot [KeyboardInterrupt, SystemExit]: cleanAndExit ()
6. darbība: LCD (16*2)
LCD savienošana
- 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 -> vidējais potenciālais tapa
Tagad mēs varam pārbaudīt, vai mūsu LCD ekrāns darbojas ar šo mazo skriptu
importēt Adafruit_CharLCD kā LCDlcd_rs = 21
lcd_en = 20
lcd_d4 = 23
lcd_d5 = 26
lcd_d6 = 19
lcd_d7 = 13
lcd_kolonnas = 16
lcd_rows = 2
lcd = LCD. Adafruit_CharLCD (lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_kolonnas, lcd_rows)
lcd.message ('169.254.10.1')
7. solis: pilna ķēde
šeit jūs varat vēlreiz pārbaudīt, vai visa ķēde ir pareiza
8. solis: lietas sākums
Es izmantoju kukurūzas pārslu dozatoru kā suņu barības rezervuāru
Es savienoju riteni dozatorā ar savu servomotoru
Tagad es varu kontrolēt riteni ar savu servomotoru un izlaist ēdienu no rezervuāra
Rezervuāra beigās ir pievienota PVC caurule, kas labi ielej ēdienu gultiņā
Kā apvalku izmantoju koku
9. solis: salieciet to kopā
10. solis: vietne
Tagad mūsu mašīna darbojas, mums ir jāiegūst vietne pi. Tagad viss ir sagatavots un darbojas daži norādījumi par vietnes darbību.
Jūs varat savienot savu pi ar wifi, pievienojot hdmi kabeli un aktivizējot šādā veidā
Pirmā lapa ir sākumlapa, šeit varat redzēt:
- Reāllaika informācija par gaismu
- Reāllaika informācija par ēdienu, kas palicis bļodā
- Jūs varat nomest ēdienu
- Informācija par suni
Otrā lapa ir rediģēšanas lapa, šeit varat rediģēt:
- jūsu mājdzīvnieka vārds
- jūsu mājdzīvnieka vecums
- jūsu mājdzīvnieka svars
- jūsu mājdzīvnieka fotoattēlu
Trešā lapa ir vēstures lapa, šeit varat redzēt:
- kad iedegās gaisma
- kad suns ir paēdis
- kad ēdiens ir nokritis
Ceturtā lapa ir iestatījumu lapa, šeit varat rediģēt:
- kad ēdienam jāsamazinās
- ēdiena daudzums, kas jāizlaiž
- maksimālais ēdiens dienā
- gaismas
Ieteicams:
DIY automātiskais roku dezinfekcijas līdzekļa dozators: 6 soļi
DIY automātiskais roku dezinfekcijas līdzekļa dozators: Šajā projektā mēs izveidosim automātisko roku dezinfekcijas līdzekļa dozatoru. Šajā projektā tiks izmantots Arduino, ultraskaņas sensors, ūdens sūknis un roku dezinfekcijas līdzeklis. Ultraskaņas sensoru izmanto, lai pārbaudītu roku klātbūtni zem dezinfekcijas iekārtas izplūdes atveres
Automātiskais zāļu dozators: 5 soļi
Automātiskais zāļu izsmidzinātājs: Šis projekts ir paredzēts izmantošanai medicīnas jomā, kur gados vecākiem pacientiem ir jābūt drošam medikamentu sadalīšanas un izsniegšanas veidam. Šī ierīce ļauj zāles sadalīt porcijās līdz 9 dienām iepriekš un automātiski izsniegt pēc nepieciešamības
Automātiskais ziepju dozators, izmantojot Arduino: 8 soļi
Automātiskais ziepju dozators, izmantojot Arduino: Automātiskais ziepju dozators, izmantojot arduino: Tātad, čau, laipni lūdzam atgriezties pie jaunā raksta šajā rakstā, un mēs izgatavosim automātisku ziepju dozatoru, izmantojot arduino
Automātiskais rokas gēla dozators ar Arduino: 3 soļi
Automātiskais rokas gēla dozators ar Arduino: šis projekts ir balstīts uz ļoti vienkāršām un vieglām zināšanām, piemērots amatieriem, balstīts uz atvērtā pirmkoda kodiem un viegli atrodamām sastāvdaļām par ļoti pieņemamu cenu. Šī projekta mērķis ir saglabāt mūsu rokas tīras no vīrusiem un citi mikrobi
Arduino darbināms suņu barības dozators: 10 soļi (ar attēliem)
Arduino darbināms suņu barības izsmidzinātājs: ja jūsu māja ir kaut kas līdzīgs manējai, daži uzdevumi var tikt aizmirsti steidzoties. Neļaujiet par savu mājdzīvnieku aizmirst! Šis automātiskais suņu barības dozētājs izmanto Arduino, lai īstajā laikā piegādātu pareizo šķembu daudzumu. Visi pa