Sisällysluettelo:

Automaattinen koiran annostelija: 10 vaihetta
Automaattinen koiran annostelija: 10 vaihetta

Video: Automaattinen koiran annostelija: 10 vaihetta

Video: Automaattinen koiran annostelija: 10 vaihetta
Video: 10 tapaa tulla onnelliseksi 2024, Heinäkuu
Anonim
Automaattinen koiran annostelija
Automaattinen koiran annostelija
Automaattinen koiran annostelija
Automaattinen koiran annostelija
Automaattinen koiran annostelija
Automaattinen koiran annostelija

Projektillani varmistan, että kun jätät koirasi yksin kotiin, hän ei koskaan jää ilman ruokaa.

Automaattinen syöttölaite "hakkeroidaan" maissihiutaleiden annostelijasta. Annostelija on koiranruoan säiliö, alareunassa oleva pyörä yhdistetään servomoottoriin, joka pudottaa ruoan automaattisesti, kun pinnasänky on lähes tyhjä ja kun koira on tarpeeksi lähellä. Annostelijan pohjassa on PVC -putki, joka pudottaa koiranruoan mukavasti pinnasänkyyn. Tässä projektissa on siis 3 anturia, joista 2 ei kuulu luokkaan ja 1 on toimilaite.

Ensimmäinen anturi on RFID -lukija. Tämä anturi tarkistaa, milloin koira tulee lähelle pinnasänkyä. RFID liitetään koiran kaulukseen. Jos tämä anturi huomaa, että koira on riittävän lähellä, se lähettää signaalin toiselle anturille. Toinen anturi on painoanturi (ei kuulu luokkaan), joka mittaa pinnasängyssä olevaa ruokaa. Jos tämä anturi havaitsee, että paino on liian pieni, se lähettää signaalin servomoottorille, joka pudottaa ruoan pinnasänkyyn (RFID: n ja painoanturin vahvistuksella). Lyhyesti sanottuna koira saa ylimääräistä ruokaa vain, kun hän on tarpeeksi lähellä sänkyä ja kun seimi on melkein tyhjä. Tietenkin on myös raja -arvo, jonka voit asettaa itse verkkopalvelimen kautta; jotta koira ei saa liikaa ruokaa päivässä. Kolmas anturi on valoanturi, joka valaisee LED -valonheittimen, kun se on liian pimeä pinnasängyn ympärillä. Toimilaite on siis servomoottori, joka on kytketty annostelijan pyörään.

Tämä projekti on tarkoitettu koirille, voit käyttää sitä myös muille pienille lemmikeille.

Tarvikkeet

Raspberry Pi 3

Latauskenno (1KG)

HX711 kuormituskennovahvistin

Ruoka -astia

Viljan annostelija

Puu (+ ruuvit ja ruuvimeisseli)

Valoanturi

Led

RFID -lukija rc522

Hyppyjohdot

16*2 LCD (näyttö)

Servo moottori

5V virtalähde

Vastus 470 ohmia

PVC -putki

Breadbord

Potentiometri

Näin

Hiomapaperi

Silikonipistooli

Vaihe 1: Pi -asennus

Pi -asennus
Pi -asennus

Perustaa

Aloittaaksesi meidän on ensin määritettävä Pi.

Tarvitset kaksi asiaa:

- Win32 Disk Imager osoitteesta

- Raspbian OS -kuva osoitteesta

Lataa ZIP -tiedosto ja pura se minne haluat.

Asennus

1. Valitse kuva kansiokuvakkeen kautta

2. Valitse SD -kortti avattavasta valikosta

3. Napsauta Kirjoita

Nyt meidän on tehtävä lisäasetuksia joillakin asetuksilla, jotta voimme käyttää Pi: tä.

1. Siirry SD -kortin käynnistyshakemistoon

2. Avaa tiedosto "cmdline.txt"

3. Lisää ip = 169.254.10.1 Tekstin pitkän rivin loppuun välilyönnillä erotettuna (samalla rivillä).

4. Tallenna tiedosto.

5. Luo samaan hakemistoon tiedosto nimeltä ssh ilman laajennusta

Nyt voit poistaa SD -kortin ja laittaa sen Pi -laitteeseesi.

Yhdistetään

Nyt meidän on asennettava ohjelmisto.

Kytke ensin LAN -kaapeli, toinen pää työpöytäsi/kannettavaasi ja toinen Pi -laitteeseesi.

Käynnistä nyt Raspberry Pi.

1. Asenna Putty osoitteesta

2. Kirjoita IP -ruutuun 169.254.10.1.

3. Varmista, että SSH on valittu ja portti 22 on täytetty.

4. Napsauta Avaa

5. Kirjoita käyttäjätunnus: pi

6. Kirjoita salasana: vadelma

Raspi-config

Avaa Raspi-config-apuohjelma käyttämällä:

sudo raspi-config

Ota käyttöön seuraavat vaihtoehdot rajapinnat -luokassa

- 1-johdin

- SPI

Poista seuraavat vaihtoehdot käytöstä käynnistysasetukset -luokassa

- Aloitusruutu

Aseta lopuksi Käynnistysasetukset -luokan Työpöytä/CLI -asetukseksi Työpöydän automaattinen kirjautuminen.

WiFi

Koiran syöttölaitteessa meillä on oltava wifi -yhteys, joten varmista, että sinulla on wifi -tunnuksesi lähellä.

1. Siirry juuritilaan

sudo -i

2. Liitä tämä rivi, mutta varmista, että sekä SSID että salasana on täytetty

wpa_passphrase "SSID" "SALASANA" >> /etc/wpa_supplicant/wpa_supplicant.conf

3. Anna WPA -asiakas.

Wpa_cli

4. Valitse käyttöliittymä

Liitäntä wlan0

5. Lataa kokoonpano uudelleen

Määritä uudelleen

Varmista, että yhteys on muodostettu kirjoittamalla ip a ja tarkistamalla, onko sinulla WLAN0 -rajapintojen IP -osoite.

Paketit

Nyt kun olemme yhteydessä Internetiin, meidän on asennettava joitain paketteja.

Ensin meidän on päivitettävä viimeisimmän paketin luettelot.

sudo apt päivitys

Python

Pakotamme Raspbianin käyttämään Python 3: ta

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1

update-alternatives --install/usr/bin/python python/usr/bin/python3 2

MariaDB

Liitä seuraava rivi asentaaksesi tietokannan.

sudo apt asentaa mariadb-palvelin

Sitten meidän on varmistettava asennuksemme.

mysql_secure_installation

Se kysyy meiltä nykyistä pääsalasanaa, koska meillä ei ole sitä, paina vain enter.

Seuraavaksi se kysyy, haluammeko y -salasanan tyypin y, koska haluamme sellaisen.

Kirjoita seuraaviin kysymyksiin Y.

Seuraavaksi luomme käyttäjän, jota voimme käyttää peiliin.

Anna mysql -kuori seuraavasti:

- Nosta itsemme juurille

Sudo -i

- Anna mysql -kuori

Mysql

- Korvaa omalla käyttäjätunnuksella ja sama tunnuksella

myöntää kaikki oikeudet *. * -merkille ''@'%', jonka tunnistaa '';

- myöntää kaikki oikeudet *. * -merkinnällä ''@'%' '-merkille;

Seuraavaksi lisäämme tietokantamme.

Apache -verkkopalvelin

Asenna Web -palvelin suorittamalla alla oleva rivi.

sudo apt install apache2 -y

Python -paketit

Asennamme nämä paketit

- Pullo

- Pullo-korkit

- Pullo-MySQL

- Flask-SocketIO

- PyMySQL

- Gevent

- Gevent-websocket

-

- Python-socketio

- Pyynnöt

- Wsaccel

- Ujson

Tekemällä

pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httpsib2 python-socketio pyynnöt wsaccel ujson mfrc522 hx711 Adafruit-CharLCD

Vaihe 2: LED- ja valoanturi

Led- ja valoanturi
Led- ja valoanturi
Led- ja valoanturi
Led- ja valoanturi

Liittäminen lediin

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Vastus 470 ohmia ja GND

Valoanturin liittäminen

  1. ULOS -> GPIO 17
  2. VCC -> 3.3V
  3. GND -> GND

Nyt voimme testata, toimiiko led- ja valoanturimme tämän pienen käsikirjoituksen kanssa

tuoda RPi. GPIO GPIO: ksi GPIO.setmode (GPIO. BCM)

GPIO.asetukset (15, GPIO. OUT)

GPIO.asetukset (17, GPIO. IN)

kokeile: kun totta:

jos GPIO.input (17) == 0:

GPIO -lähtö (15, GPIO. HIGH)

jos GPIO.input (17) == 1:

GPIO -lähtö (15, GPIO. LOW)

paitsi KeyboardInterrupt: GPIO.cleanup ()

Vaihe 3: Servomoottori

Servo moottori
Servo moottori

Servomoottorin kytkeminen

  1. ULOS -> GPIO18
  2. VCC -> 5V
  3. GND -> GND

Nyt voimme testata, toimiiko led- ja valoanturimme tämän pienen käsikirjoituksen kanssa

tuoda RPi. GPIO GPIO -tuontiaikaksi

GPIO.setmode (GPIO. BCM)

GPIO.asetukset (18, GPIO. OUT)

p = GPIO. PWM (18, 50)

p. alku (12.5)

yrittää:

vaikka totta:

s. ChangeDutyCycle (12.5)

time.sleep (1)

s. ChangeDutyCycle (2.5)

time.sleep (1)

paitsi näppäimistö Keskeytys:

p.stop ()

GPIO.cleanup ()

Vaihe 4: RFID -lukija RC522

RFID -lukija RC522
RFID -lukija RC522

RFID: n kytkeminen

  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

Nyt voimme testata, toimiiko RFID -lukijamme tämän pienen komentosarjan kanssa

Tuo RPi. GPIO GPIO: ksi

osoitteesta mfrc522 Tuo SimpleMFRC522

lukija = SimpleMFRC522 ()

text = input ('Uudet tiedot:')

tulosta ("Aseta nyt tagi kirjoitettavaksi")

reader.write (teksti)

tulosta ("Kirjallinen")

Vaihe 5: Lataa solu HX711

Kuormituskenno HX711
Kuormituskenno HX711

Kuormituskennon liittäminen HX711 -ohjainkorttiin

  1. Punainen -> E+
  2. Musta -> E-
  3. Vihreä -> A+
  4. Valkoinen -> A-

Lataussolun liittäminen

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. PUNAINEN -> 3.3V
  4. GND -> GND

Nyt voimme testata, toimiiko kuormituskennomme tämän pienen komentosarjan kanssa

tuoda RPi. GPIO GPIO: na tuoda ajan tuontijärjestelmät luokista. HX711 tuoda HX711

def cleanAndExit (): print ("Puhdistus…") GPIO.cleanup () print ("Heippa!") sys.exit ()

hx = HX711 (22, 27)

hx.set_reading_format ("LSB", "MSB")

hx.set_reference_unit (2167)

hx.reset ()

hx.tare ()

vaikka totta:

yrittää:

val = max (0, int (hx.get_weight (5))))

tulosta (val)

hx.power_down ()

hx.power_up ()

aika. unta (0,5)

paitsi (KeyboardInterrupt, SystemExit): cleanAndExit ()

Vaihe 6: LCD (16*2)

LCD (16*2)
LCD (16*2)

LCD -näytön kytkeminen

  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 -> keskimmäinen potentiotappi

Nyt voimme testata, toimiiko LCD -näyttö tämän pienen käsikirjoituksen kanssa

Tuo Adafruit_CharLCD 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')

Vaihe 7: Koko piiri

Täysi piiri
Täysi piiri

Täällä voit tarkistaa uudelleen, onko koko piiri oikea

Vaihe 8: Aloita tapaus

Tapauksen alku
Tapauksen alku
Asian alku
Asian alku
Asian alku
Asian alku
Asian alku
Asian alku

Käytin maissihiutaleannostelijaa koiranruoan säiliönä

Yhdistin annostelijan pyörän servomoottoriini

Nyt voin ohjata pyörää servomoottorillani ja pudottaa ruokaa säiliöstä

Säiliön päässä on liitetty PVC -putki, joka pudottaa ruoan mukavasti pinnasänkyyn

Käytän puuta kotelona

Vaihe 9: Yhdistäminen

Yhdistäminen
Yhdistäminen
Yhdistäminen
Yhdistäminen
Yhdistäminen
Yhdistäminen

Vaihe 10: Verkkosivusto

Nettisivu
Nettisivu
Nettisivu
Nettisivu
Nettisivu
Nettisivu
Nettisivu
Nettisivu

Nyt koneemme toimii, meidän on saatava verkkosivusto pi: hen. Nyt kaikki on valmis ja käynnissä on muutamia ohjeita sivuston toiminnasta.

Voit muodostaa yhteyden pi -laitteeseen liittämällä hdmi -kaapelin ja aktivoimalla tällä tavalla

Ensimmäinen sivu on kotisivu, täältä näet:

  • Reaaliaikaista tietoa valosta
  • Reaaliaikaista tietoa kulhoon jääneestä ruoasta
  • Voit pudottaa ruokaa
  • Tietoa koirasta

Toinen sivu on muokkaussivu, tässä voit muokata:

  • lemmikkisi nimi
  • lemmikkisi ikä
  • lemmikkisi paino
  • valokuva lemmikistäsi

Kolmas sivu on historiasivu, täältä näet:

  • kun valo syttyi
  • kun koira on syönyt
  • kun ruoka on pudonnut

Neljäs sivu on asetussivu, tässä voit muokata:

  • kun ruoka on pudotettava
  • pudotettavan ruoan määrä
  • max ruoka/päivä
  • valo

Suositeltava: