Satura rādītājs:

Automātiskais suņu dozators: 10 soļi
Automātiskais suņu dozators: 10 soļi

Video: Automātiskais suņu dozators: 10 soļi

Video: Automātiskais suņu dozators: 10 soļi
Video: Подробный обзор крепкого "автомата" 5HP24 для BMW, Audi и Range Rover 2024, Novembris
Anonim
Automātiskais suņu dozators
Automātiskais suņu dozators
Automātiskais suņu dozators
Automātiskais suņu dozators
Automātiskais suņu dozators
Automātiskais suņu dozators

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

Pi iestatīšana
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 un gaismas sensors
Led un gaismas sensors
Gaismas un gaismas sensors
Gaismas un gaismas sensors

LED savienošana

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> rezistors 470 omi un GND

Gaismas sensora pievienošana

  1. OUT -> GPIO17
  2. VCC -> 3.3V
  3. 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 motors
Servo motors

Servo motora pievienošana

  1. OUT -> GPIO18
  2. VCC -> 5V
  3. 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 lasītājs RC522
RFID lasītājs RC522

RFID savienošana

  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

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

Slodzes šūna HX711
Slodzes šūna HX711

Ielādes šūnas savienošana ar HX711 draivera paneli

  1. Sarkans -> E+
  2. Melns -> E-
  3. Zaļš -> A+
  4. Balts -> A-

Ielādes šūnas savienošana

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. SARKANS -> 3.3V
  4. 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 (16*2)
LCD (16*2)

LCD savienošana

  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 -> 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

Pilna ķēde
Pilna ķēde

šeit jūs varat vēlreiz pārbaudīt, vai visa ķēde ir pareiza

8. solis: lietas sākums

Lietas sākums
Lietas sākums
Lietas sākums
Lietas sākums
Lietas sākums
Lietas sākums
Lietas sākums
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ā

Liekot to kopā
Liekot to kopā
Liekot to kopā
Liekot to kopā
Liekot to kopā
Liekot to kopā

10. solis: vietne

Vietne
Vietne
Vietne
Vietne
Vietne
Vietne
Vietne
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: