INHOUDSOPGAWE:

IoT Treat Dispenser vir troeteldiere: 7 stappe (met foto's)
IoT Treat Dispenser vir troeteldiere: 7 stappe (met foto's)

Video: IoT Treat Dispenser vir troeteldiere: 7 stappe (met foto's)

Video: IoT Treat Dispenser vir troeteldiere: 7 stappe (met foto's)
Video: Kleuters op familiefeest 😂 2024, November
Anonim
Image
Image
IoT Treat Dispenser vir troeteldiere
IoT Treat Dispenser vir troeteldiere

Ek het twee katte, en dit was nogal lastig om dit so drie keer per dag vir hulle te gee. Hulle kyk op na my met hul oulike gesigte en intense blikke, hardloop dan na 'n boks vol katgroen, miaag en smeek vir hulle. Ek het besluit dat genoeg genoeg is. U hoef nie meer op te staan net om 'n paar lekkernye aan 'n kat te gee nie. Dit was nou die tyd vir 'n bederfmasjien, want soos die spreekwoord lui: "Daar is programmeerders om ingewikkelde dinge te maak om eenvoudige dinge minder te doen."

DFRobot het hierdie projek geborg.

Onderdele lys:

  • DFRobot Raspberry Pi 3
  • DFRobot Raspberry Pi -kameramodule
  • DFRobot -stapmotor met planetêre toerusting
  • I2C LCD 16x2
  • Vat Jack na Terminal
  • DRV8825 Stepper Motor Driver
  • Kondensator 100 µF
  • Arduino UNO en Genuino UNO
  • Springdrade (generies)

Stap 1: Skep 'n ontwerp

Die skep van 'n ontwerp
Die skep van 'n ontwerp

Eerstens was die keuse hoe om my nuutgedagte masjien te beheer. Bluetooth sou 'n te kort bereik gehad het, op slegs 30 voet sonder hindernisse. Met hierdie inligting het ek gekies om WiFi te gebruik. Maar hoe gebruik ek WiFi om die masjien te beheer? 'N Raspberry Pi 3 het ingeboude WiFi -vermoëns, waarmee ek Flask kan gebruik om 'n webblad te huisves. Die volgende was die onderwerp van die omhulsel en hoe om lekkernye uit te gee. Ek het besluit op 'n roterende wielontwerp, waar lekkernye in klein gedeeltes sou val, omgedraai sou word, en dan sou die lekkernye op 'n oprit val en na die voorkant van die masjien ry.

Stap 2: Maak die Fusion 360 -model

Maak die Fusion 360 -model
Maak die Fusion 360 -model
Maak die Fusion 360 -model
Maak die Fusion 360 -model
Maak die Fusion 360 -model
Maak die Fusion 360 -model

Ek het begin met die skep van 'n basismodel vir die lekkergoedhouer. Lekkernye val in 'n mini-trechter waar dit dan in 'n roterende wiel geneem word.

Daarna het ek die Raspberry Pi 3 by die Fusion -ontwerp gevoeg, saam met die ander elektronika, insluitend 'n LCD- en Raspberry Pi -kameramodule. Ek het ook 'n houer gemaak wat ekstra lekkernye kan bêre.

Die mure vir die lekkernye moet op 'n CNC -router uit 1/4 duim laaghout gesny word. Daar is 7 stukke daarin, 4 mure, 'n vloer en 'n boonste en dekselstuk wat oop en toe kan maak om die lekkernye bloot te stel.

Laastens het ek 'n "fancy" handvatsel geskep om die deksel oop te maak.

Stap 3: Die opstel van die Pi

DFRobot het na my gereageer en hul Raspberry Pi 3 en Raspberry Pi Camera Module gestuur. Nadat ek die bokse oopgemaak het, het ek aan die werk gekom deur die SD -kaart op te stel. Eers het ek na die Raspberry Pi Downloads -bladsy gegaan en die mees onlangse weergawe van Raspbian afgelaai. Ek haal dan die lêer uit en plaas dit in 'n gerieflike gids. U kan nie net 'n.img -lêer na 'n SD -kaart kopieer/plak nie, u moet dit 'op die kaart' brand. U kan 'n brandende program soos Etcher.io aflaai om die OS -prent maklik oor te dra. Nadat die.img -lêer op my SD -kaart was, het ek dit in die Raspberry Pi geplaas en dit krag gegee. Na ongeveer 50 sekondes trek ek die koord uit en verwyder die SD -kaart. Daarna sit ek die SD kaart terug in my rekenaar en gaan na die "boot" gids. Ek het Notepad oopgemaak en dit as 'n leë lêer met die naam "ssh" gestoor sonder GEEN uitbreiding. Daar was ook 'n lêer wat ek bygevoeg het met die naam "wpa_supplicant.conf" en hierdie teks daarin geplaas: netwerk = {ssid = psk =} Toe het ek die kaart gestoor en uitgewerp en terug in die Raspberry Pi 3. Dit moet nou voorsiening maak vir die gebruik van SSH en verbinding met WiFi.

Stap 4: Installeer sagteware

Daar is verskillende sagteware wat video kan stroom, soos VLC en beweging, maar ek het besluit om die mjpeg-streamer te gebruik vanweë die lae vertraging en maklike installasie. Volgens die instruksies op die webwerf, doen 'n: git-kloon https://github.com/jacksonliam/mjpg-streamer.git In 'n gids, tik dan: sudo apt-get install cmake libjpeg8-dev Om die nodige biblioteke te installeer. Verander u gids in die gids wat u afgelaai het en tik dan: make Gevolg deur: sudo make install Om die sagteware saam te stel. Tik laastens in: uitvoer LD_LIBRARY_PATH =. En om dit uit te voer, tik:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" U kan toegang tot die stroom kry deur na: https:// The pi's local ip: 8080/stream. html Om die stroom te sien.

Stap 5: Die opstel van 'n webbediener

Om die masjien ekstern deur WiFi te laat beheer, het ek 'n webbediener nodig gehad. 'N Webbediener bedien basies webblaaie op versoek, gewoonlik deur 'n blaaier. Ek wou iets vinnig en eenvoudig instel en gebruik, om Apache van die tafel te haal. Ek wou ook die webserver met Python koppel, sodat ek die Arduino Uno met PySerial kan beheer. Hierdie soeke het my uiteindelik gelei tot Flask, 'n goeie Python -biblioteek waarmee gebruikers vinnig 'n webserver kan skep. Die volledige kode is aangeheg aan hierdie projekbladsy. Die python -script stel basies 2 webblaaie op, een wat in die wortelgids '/' gehuisves word, en 'n ander wat by '/dispense' aangebied word. Die indeksbladsy het 'n HTML -vorm wat, wanneer dit ingedien word, 'n posversoek na die afdelingsbladsy stuur. Die afdelingsbladsy kyk dan of die poswaarde korrek is, en as dit die boodskap is, word 'D / n' per reeks na die Arduino Uno gestuur.

Stap 6: Beheer van IO

Beheer van IO
Beheer van IO
Beheer van IO
Beheer van IO
Beheer van IO
Beheer van IO
Beheer van IO
Beheer van IO

Ek het besluit om die DRV8825 te gebruik om my stapmotor aan te dryf, hoofsaaklik omdat dit slegs 2 IO -penne benodig, asook 'n verstelbare stroombeperking. Ek het probeer om 'n L293D te gebruik, maar dit kon nie die las van die stapmotor hanteer nie. Die DRV8825 word beheer deur die STEP -pen via PWM te pols, en die rigting word beheer deur die DIR -pen hoog of laag te trek. Die stapmotor wat ek gebruik, het 'n trekvermoe van 1,2 ampère, so ek het die VREF -spanning op 0,6V aangepas. Die volgende was die LCD. Ek wou I2C gebruik om die hoeveelheid IO wat nodig is te verminder en die kode te vereenvoudig. Om die biblioteek te installeer, soek eenvoudig na "LiquidCrystal_I2C" en installeer dit. Laastens kyk die Arduino Uno na nuwe inligting in die reeksbuffer en of dit by 'D' pas. As dit die geval is, veroorsaak die Uno dat die stapmotor 180 grade beweeg en dan -72 grade om te voorkom dat lekkernye ingedien word.

Aanbeveel: