Sisällysluettelo:

IoT -hoitoannostelija lemmikkieläimille: 7 vaihetta (kuvilla)
IoT -hoitoannostelija lemmikkieläimille: 7 vaihetta (kuvilla)

Video: IoT -hoitoannostelija lemmikkieläimille: 7 vaihetta (kuvilla)

Video: IoT -hoitoannostelija lemmikkieläimille: 7 vaihetta (kuvilla)
Video: ❓Как вас заставляют делать то, что ОН хочет? ⚠️7 Основных Приемов Манипулятора❗Анна Богинская 2024, Marraskuu
Anonim
Image
Image
IoT -hoitoannostelija lemmikkieläimille
IoT -hoitoannostelija lemmikkieläimille

Minulla on kaksi kissaa, ja siitä, että heille on annettava herkkuja noin 3 kertaa päivässä, tuli melko haittaa. He katsoisivat minuun söpöillä kasvoillaan ja voimakkailla tuijotuksillaan, sitten juoksivat laatikkoon, joka oli täynnä kissanvihreitä, meowing ja kerjäävät niitä. Olin päättänyt, että se riittää. Ei enää nousua vain antaa kissalle pari herkkua. Nyt oli herkkuannostelukoneen aika, koska kuten sanonta kuuluu: "Ohjelmoijat ovat olemassa tekemään monimutkaisia asioita yksinkertaisten asioiden tekemiseen vähemmän."

DFRobot sponsoroi tätä hanketta.

Osaluettelo:

  • DFRobot Raspberry Pi 3
  • DFRobot Raspberry Pi -kameramoduuli
  • DFRobot -askelmoottori planetaarisella vaihteella
  • I2C LCD 16x2
  • Barrel Jack terminaaliin
  • DRV8825 askelmoottorin ohjain
  • Kondensaattori 100 µF
  • Arduino UNO ja Genuino UNO
  • Hyppyjohdot (yleinen)

Vaihe 1: Suunnittelun luominen

Suunnittelun luominen
Suunnittelun luominen

Ensimmäinen oli valinta siitä, miten hallitsen äskettäin ajatuskonettani. Bluetoothin kantama olisi ollut liian lyhyt, vain 30 metrin päässä ilman esteitä. Näiden tietojen perusteella päätin käyttää WiFi -yhteyttä. Mutta miten voin käyttää WiFi -yhteyttä koneen ohjaamiseen? Raspberry Pi 3: ssa on sisäänrakennetut WiFi -ominaisuudet, joten voin käyttää Flaskia web -sivun isännöintiin. Seuraavaksi oli kotelon aihe ja herkkujen jakaminen. Päätin pyörivän pyörän, jossa herkut putosivat pieniksi osiksi, pyöritettiin ympäri ja sitten herkut putosivat alas luiskalle ja kulkivat koneen eteen.

Vaihe 2: Fusion 360 -mallin tekeminen

Fusion 360 -mallin tekeminen
Fusion 360 -mallin tekeminen
Fusion 360 -mallin tekeminen
Fusion 360 -mallin tekeminen
Fusion 360 -mallin tekeminen
Fusion 360 -mallin tekeminen

Aloitin luomalla perusmallin herkkusäiliölle. Herkut putoavat minisäiliöön, jossa ne viedään pyörivään pyörään.

Seuraavaksi lisäsin Raspberry Pi 3: n Fusion -suunnitteluun yhdessä muun elektroniikan kanssa, mukaan lukien nestekidenäyttö ja Raspberry Pi -moduulit. Tein myös säiliön, johon mahtui lisää herkkuja.

Herkkuannostelijan seinät on tarkoitus leikata 1/4 tuuman vanerista CNC -reitittimellä. Siinä on 7 kappaletta, 4 seinää, lattia ja ylä- ja kansiosa, jotka voidaan avata ja sulkea paljastamaan herkut.

Lopuksi tein "hienon" kahvan kannen avaamiseksi.

Vaihe 3: Pi: n asentaminen

DFRobot otti yhteyttä minuun ja lähetti Raspberry Pi 3- ja Raspberry Pi -kameramoduulin. Joten kun avasin laatikot, pääsin heti töihin asentamalla SD -kortin. Ensin menin Raspberry Pi -lataussivulle ja latasin uusimman Raspbian -version. Purain tiedoston ja laitoin sen kätevään hakemistoon. Et voi vain kopioida/liittää.img -tiedostoa SD -kortille, sinun on "poltettava se" kortille. Voit ladata polttavan apuohjelman, kuten Etcher.io, siirtääksesi käyttöjärjestelmän kuvan helposti. Kun.img -tiedosto oli SD -kortillani, asetin sen Raspberry Pi -laitteeseen ja annoin sille virran. Noin 50 sekunnin kuluttua irrotin virtajohdon ja poistin SD -kortin. Seuraavaksi laitoin SD -kortin takaisin tietokoneeseeni ja menin "boot" -hakemistoon. Avasin Notepadin ja tallensin sen tyhjäksi tiedostoksi nimeltä "ssh" ilman laajennusta. Lisäsin myös tiedoston nimeltä "wpa_supplicant.conf" ja laitoin tähän tekstin: network = {ssid = psk =} Sitten tallensin ja poistin kortin ja asetin sen takaisin Raspberry Pi 3: een. Tämän pitäisi nyt mahdollistaa SSH: n käyttö ja WiFi -yhteyden muodostaminen.

Vaihe 4: Ohjelmiston asentaminen

On olemassa useita erilaisia ohjelmistoja, jotka voivat suoratoistaa videota, kuten VLC ja liike, mutta päätin käyttää mjpeg-streameria alhaisen viiveen ja helpon asennuksen vuoksi. Tee sivuston ohjeiden mukaan a: git klooni https://github.com/jacksonliam/mjpg-streamer.git Kansioon ja kirjoita sitten: sudo apt-get install cmake libjpeg8-dev Asenna tarvittavat kirjastot. Muuta hakemistosi lataamaasi kansioon ja kirjoita sitten: make Seuraa: sudo make install Ohjelmiston kääntäminen. Kirjoita lopuksi: export LD_LIBRARY_PATH =. Ja suorita se kirjoittamalla:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Voit käyttää streamia siirtymällä osoitteeseen: https:// Pi: n paikallinen ip: 8080/stream. html Striimin tarkasteleminen.

Vaihe 5: Verkkopalvelimen määrittäminen

Jotta konetta voitaisiin ohjata ulkoisesti WiFi: llä, tarvitsin verkkopalvelimen. Verkkopalvelin palvelee periaatteessa verkkosivuja pyynnöstä, yleensä selaimen toimesta. Halusin jotain nopeaa ja yksinkertaista asentaa ja käyttää ottamalla Apachen pöydältä. Halusin myös liittää verkkopalvelimen Pythoniin, jotta voisin hallita Arduino Unoa PySerialilla. Tämä tehtävä johti minut lopulta Flaskiin, mukavaan Python -kirjastoon, jonka avulla käyttäjät voivat nopeasti luoda verkkopalvelimen. Koko koodi on tämän projektisivun liitteenä. Python -skripti perustaa periaatteessa 2 verkkosivua, joista toinen on juurihakemistossa '/' ja toinen '/dispense'. Hakemissivulla on HTML -lomake, joka lähetettynä lähettää postituspyynnön annostelusivulle. Annostelusivu tarkistaa sitten, onko postin arvo oikea, ja onko viesti "D / n" lähetetty sarjaan Arduino Unoon.

Vaihe 6: IO: n hallinta

IO: n hallinta
IO: n hallinta
IO: n hallinta
IO: n hallinta
IO: n hallinta
IO: n hallinta
IO: n hallinta
IO: n hallinta

Päätin käyttää DRV8825: tä askelmoottorini ajamiseen, lähinnä siksi, että se tarvitsee vain 2 IO -nastaa ja säädettävän virranrajoituksen. Yritin käyttää L293D: tä, mutta se ei kestänyt askelmoottorin kuormitusta. DRV8825: tä ohjataan sykemällä STEP -tappia PWM: n kautta ja suuntaa ohjaamalla vetämällä DIR -tappia korkealle tai alas. Käyttämässäni askelmoottorissa on 1,2 ampeerin veto, joten säädin VREF -jännitteen arvoon.6V. Seuraavaksi tuli LCD. Halusin käyttää I2C: tä tarvittavan IO -määrän vähentämiseen ja koodin yksinkertaistamiseen. Jos haluat asentaa kirjaston, etsi "LiquidCrystal_I2C" ja asenna se. Lopuksi Arduino Uno tarkistaa, onko sarjapuskurissa uusia tietoja ja onko se sama kuin D. Jos näin on, Uno saa askelmoottorin liikkumaan 180 astetta ja sitten -72 astetta, jotta herkut eivät jää kiinni.

Suositeltava: