Tartalomjegyzék:
- 1. lépés: Tervezés létrehozása
- 2. lépés: A Fusion 360 modell elkészítése
- 3. lépés: A Pi beállítása
- 4. lépés: Szoftver telepítése
- 5. lépés: Webszerver beállítása
- 6. lépés: Az IO szabályozása
Videó: IoT kezelő adagoló háziállatokhoz: 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Két macskám van, és napi 3 -szor csemegét kellett adnom nekik. Aranyos arcukkal és intenzív tekintetükkel felnéznének rám, aztán egy macska zölddel teli dobozhoz futnának, nyávognak és könyörögnek értük. Úgy döntöttem, hogy elég lesz. Nincs többé felkelés, csak hogy adjon egy macskának pár csemegét. Most volt itt az ideje egy csemegeadagoló gépnek, mert ahogy a mondás tartja: "A programozók azért vannak, hogy bonyolult dolgokat készítsenek, hogy kevesebbet csináljanak."
A DFRobot támogatta ezt a projektet.
Alkatrész lista:
- DFRobot Raspberry Pi 3
- DFRobot Raspberry Pi kamera modul
- DFRobot léptetőmotor bolygóművel
- I2C LCD 16x2
- Barrel Jack a terminálhoz
- DRV8825 léptetőmotor -meghajtó
- Kondenzátor 100 µF
- Arduino UNO és Genuino UNO
- Jumper vezetékek (általános)
1. lépés: Tervezés létrehozása
Először az volt a választás, hogy hogyan irányítsam az újonnan gondolt gépemet. A Bluetooth hatótávolsága túl rövid lett volna, mindössze 30 láb, akadályok nélkül. Ezekkel az információkkal a WiFi mellett döntöttem. De most hogyan használhatom a WiFi -t a gép vezérléséhez? A Raspberry Pi 3 beépített WiFi képességekkel rendelkezik, lehetővé téve, hogy a Flask segítségével weboldalakat tároljak. Következett a szekrény témája és a finomságok adagolása. Elhatároztam egy forgó kerék kialakítását, ahol a csemegéket apró részekre osztják, körbeforgatják, majd a csemegéket lehajtják a rámpára, és a gép elejére utaznak.
2. lépés: A Fusion 360 modell elkészítése
Azzal kezdtem, hogy létrehoztam egy alapmodellt a csemegetartályhoz. A finomságok egy mini tartályba esnek, ahol egy forgó kerékbe kerülnek.
Ezután hozzáadtam a Raspberry Pi 3 -at a Fusion designhoz, a többi elektronikával együtt, beleértve az LCD -t és a Raspberry Pi kamera modult. Készítettem egy garatot is, amely további csemegéket tárolhat.
A csemegeadagoló falait egy 1/4 hüvelykes rétegelt lemezből kell kivágni egy CNC útválasztón. 7 darab van benne, 4 fal, egy padló, valamint egy fedél és fedél, amely kinyitható és zárható, hogy felfedje a csemegéket.
Végül létrehoztam egy "díszes" fogantyút a fedél kinyitására.
3. lépés: A Pi beállítása
A DFRobot felém fordult, és elküldte a Raspberry Pi 3 és a Raspberry Pi Camera Module -t. Így miután kinyitottam a dobozokat, rögtön elkezdtem dolgozni az SD -kártya beállításával. Először a Raspberry Pi Letöltések oldalára mentem, és letöltöttem a Raspbian legújabb verzióját. Ezután kibontottam a fájlt, és betettem egy kényelmes könyvtárba. Egy.img fájlt nem lehet csak SD -kártyára másolni/beilleszteni, hanem "fel kell égetni" a kártyára. Letölthet egy égő segédprogramot, mint például az Etcher.io, hogy könnyen átvihesse az operációs rendszer képét. Miután az.img fájl az SD -kártyán volt, behelyeztem a Raspberry Pi -be, és áramot adtam neki. Körülbelül 50 másodperc múlva kihúztam a kábelt és kivettem az SD kártyát. Ezután visszatettem az SD -kártyát a számítógépembe, és a "boot" könyvtárba mentem. Megnyitottam a Jegyzettömböt, és elmentettem üres fájlként, "ssh" néven, NO kiterjesztéssel. Volt egy fájl is, amelyet hozzáadtam, "wpa_supplicant.conf" néven, és ezt a szöveget tettem bele: network = {ssid = psk =} Ezután elmentettem és kiadtam a kártyát, és visszatettem a Raspberry Pi 3 -ba. az SSH használata és a WiFi -hez való csatlakozás.
4. lépés: Szoftver telepítése
Számos különböző szoftver képes videót streamelni, például VLC és motion, de úgy döntöttem, hogy az mjpeg-streamer-t használom alacsony késleltetése és egyszerű telepítése miatt. Az oldalon található utasítások szerint hajtsa végre a következőt: git clone https://github.com/jacksonliam/mjpg-streamer.git Egy mappába, majd írja be: sudo apt-get install cmake libjpeg8-dev A szükséges könyvtárak telepítéséhez. Változtassa meg a könyvtárat a letöltött mappába, majd írja be: make Ezt követi: sudo make install A szoftver fordításához. Végül írja be: export LD_LIBRARY_PATH =. A futtatásához írja be:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" A patakhoz a következő címen férhet hozzá: https:// A pi helyi ip: 8080/stream. html A stream megtekintése.
5. lépés: Webszerver beállítása
Ahhoz, hogy a gépet külsőleg WiFi -vel vezérelhessem, szükségem volt egy webszerverre. Egy webszerver alapvetően kiszolgálja a weboldalakat, amikor kérik őket, általában egy böngésző. Szerettem volna valamit gyorsan és egyszerűen beállítani és használni, levéve az Apache -t az asztalról. Szerettem volna a Python -nal összekapcsolni a webszervert, hogy a PySerial segítségével irányíthassam az Arduino Uno -t. Ez a küldetés végül a Flaskhoz vezetett, egy szép Python könyvtárhoz, amely lehetővé teszi a felhasználók számára, hogy gyorsan hozzanak létre webszervert. A teljes kód a projekt oldalához csatolt. A python szkript alapvetően két weboldalt állít fel, az egyik a gyökérkönyvtárban található, a/, a másik pedig a//dispense. Az indexoldal rendelkezik egy HTML -űrlappal, amely beküldéskor postakérést küld az adagoló oldalra. Az adagoló oldal ezután ellenőrzi, hogy a bejegyzés értéke helyes -e, és ha ez az üzenet, akkor a "D / n" üzenet soros úton kerül elküldésre az Arduino Uno -hoz.
6. lépés: Az IO szabályozása
Úgy döntöttem, hogy a DRV8825 -öt használom a léptetőmotorom meghajtásához, főleg amiatt, hogy csak 2 IO csap szükséges hozzá, valamint az állítható áramkorlátozás. Próbáltam L293D -t használni, de nem tudta kezelni a léptetőmotor terhelését. A DRV8825 vezérlése a STEP csap PWM -en keresztül történő pulzálásával történik, az irány pedig a DIR csap magas vagy alacsony húzásával. Az általam használt léptetőmotor 1,2 amperes húzással rendelkezik, ezért a VREF feszültséget 0,6 V -ra állítottam. A következő az LCD volt. Az I2C -t akartam használni a szükséges IO mennyiségének csökkentésére és a kód egyszerűsítésére. A könyvtár telepítéséhez egyszerűen keressen rá a "LiquidCrystal_I2C" kifejezésre, és telepítse azt. Végül az Arduino Uno ellenőrzi, hogy nem található -e új információ a soros pufferben, és megfelel -e a „D” -nek. Ha igen, akkor az Uno a léptetőmotort 180, majd -72 fokban elmozdítja, hogy megakadályozza a finomságok beragadását.
Ajánlott:
Intelligens kontaktlencse -adagoló: 8 lépés (képekkel)
Intelligens kontaktlencse -adagoló: Ebben az oktatóanyagban megmutatom, hogyan készítsen saját intelligens kontaktadagolót
DIY érintés nélküli kézfertőtlenítő adagoló Arduino vagy mikrokontroller nélkül: 17 lépés (képekkel)
DIY érintés nélküli kézfertőtlenítő adagoló Arduino vagy mikrokontroller nélkül: Mint mindannyian tudjuk, a COVID-19 kitörése elérte a világot, és megváltoztatta életmódunkat. Ebben az állapotban az alkohol és a kézfertőtlenítők létfontosságú folyadékok, azonban megfelelően kell használni őket. Alkoholtartályok vagy kézfertőtlenítők megérintése fertőzött kézzel
Arduino hajtású kutyatáp adagoló: 10 lépés (képekkel)
Arduino hajtású kutyaeledel -adagoló: Ha a háza olyan, mint az enyém, akkor bizonyos feladatok elfelejthetők rohanás közben. Ne hagyd, hogy a kedvencedről feledkezzenek meg! Ez az automatizált kutyaeledel -adagoló Arduino -t használ a megfelelő mennyiségű morzsának a megfelelő időben történő kiszállításához. Minden pa
Automaták -- édességek adagoló -- Arduino Bluetooth vezérelt -- DIY: 11 lépés (képekkel)
Automaták || cukorkaadagoló || Arduino Bluetooth -vezérelt || DIY: Ebben az oktatóanyagban megmutatom, hogyan lehet automata építeni egy Arduino használatával. ÍRJON MEG, HOGYAN HOGYAN GONDOLJA EZT AZ UTASÍTÁST, HOGY TOVÁBBI JÓVÁBAN JELENTHETEM, nézze meg a videó bemutatót a jobb megértés érdekében az egészből
WebApp által vezérelt kapu kezelő bővítmény (IoT): 20 lépés (képekkel)
WebApp vezérelt kapu kezelői kiegészítő (IoT): Van egy ügyfelem, akinek volt egy zárt területe, ahová sok embernek kellett jönnie és mennie. Nem akartak külső billentyűzetet használni, és csak korlátozott számú távirányítóval rendelkeztek. Nehéz volt megfizethető forrást találni további távirányítókhoz. Én