Tartalomjegyzék:
- Kellékek
- Lépés: Az összes elektronika csatlakoztatása
- 2. lépés: A Raspberry Pi beállítása
- 3. lépés: Az adatbázis létrehozása
- 4. lépés: A háttérrendszer beállítása
- 5. lépés: Az előlap beállítása
- 6. lépés: A burkolat létrehozása
Videó: Automatikus vízadagoló a fogyasztás követéséhez: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Szia!
Pár hónapja a szobámban gondolkodtam, hogy milyen projektet szeretnék megvalósítani egy iskolai feladathoz. Valami olyat akartam készíteni, ami nekem megfelel, és ami a jövőben hasznomra válik. Hirtelen anyám belépett a szobába, és panaszkodni kezdett, hogy nem ivott elég vizet. Azonnal epifániám volt. Az ötletem az volt, hogy készítsek egy automata vízadagolót (mint a moziban), amely napi szinten követi a vízfogyasztást.
Egy Raspberry Pi -vel, néhány érzékelővel, szivattyúval és kevés tudással megpróbáltam ezt a lehető legjobban megvalósítani.
Az összes lépés végén lesz egy működő vízadagolója, amely kitölti a palackot, és amely összeköti és kölcsönhatásba lép a Raspberry Pi -vel. Nemcsak százalékos arányban követheti nyomon a vízfogyasztást, hanem megtekintheti a víztartály hőmérsékletét és vízszintjét is. Végül ellenőrizheti statisztikáit. Ha ez érdekesnek tűnik számodra, mindenképpen nézd meg és próbáld ki te is!
A GitHub adattár:
Kellékek
Mikrokontrollerek
Raspberry Pi 4
Érzékelők és modulok
4 érzékelőt használtam:
2xHC-SR04 Ultrahangos érzékelő
Az ultrahangos érzékelők ultrahangos hullámok segítségével mérik a távolságot. Az érzékelőfej ultrahangos hullámot bocsát ki, és fogadja a célból visszavert hullámot. Az ultrahangos érzékelők a kibocsátás és a vétel közötti idő mérésével méri a távolságot a céltól. Kettőt használtam annak ellenőrzésére, hogy van -e üveg a közelben, és megmértem a tartályban lévő víz távolságát.
Adatlap
1x DS18B20 hőmérséklet -érzékelő
A DS18B20 egy 1-vezetékes, programozható hőmérséklet-érzékelő a maximumból. Széles körben használják a hőmérséklet mérésére kemény környezetben, például vegyi oldatokban, bányákban vagy talajban stb. A víztartály vízhőmérsékletének mérésére használtam.
Adatlap
1x RC522 RFID modul
Az RC522 egy 13,56 MHz -es RFID modul, amely az NXP félvezetők MFRC522 vezérlőjén alapul. A modul támogatja az I2C, az SPI és az UART használatát, és általában RFID kártyával és kulcstartóval szállítják. Általában használják jelenléti rendszerekben és más személy/tárgy azonosító alkalmazásokban. Ebben a projektben azonosító/bejelentkezési rendszerként használják.
Adatlap
És 2 hajtómű:
1x 12-24V perisztaltikus szivattyú
Perisztaltikus szivattyúval vittem a vizet a tartályból egy vizespalackba. A legtöbb szivattyú túl lassú volt, ezért 24V -os változatot választottam, amelyet 24V -os hálózati adapterrel táplálok.
1x LCD kijelző
Az LCD kijelző az IP -cím és a fontos üzenetek megjelenítésére szolgál. A folyadékkristályos kijelző (LCD) egy síkképernyős kijelző vagy más elektronikusan modulált optikai eszköz, amely a polarizátorokkal kombinált folyadékkristályok fénymoduláló tulajdonságait használja fel.
Adatlap
Burkolat
Ha már a burkolatról beszélünk, barkácsolást végeztem egy Home depóból (esetemben a belga Brico). Rétegelt lemezeket használtam, amelyeket megfelelő méretűre vágtam. Egy további lépésben arról fogok beszélni, hogyan hoztam létre ügyemet, de itt van, amire szüksége lesz:
- 3x rétegelt lemez deszka
- 1x Kis tölcsér
- 1x víztartály (kiválaszthatja a kívánt mennyiséget, én 10 literre mentem)
- 1x csepegtető tálca
Az összes anyagot és árakat megtalálhatja a mellékelt BOM -ban.
Lépés: Az összes elektronika csatlakoztatása
Most, hogy összesítettük az összes elektronikát, itt az ideje, hogy összekapcsoljuk őket. Készítettem két Fritzing áramkört, egy kenyeretáblát és egy vázlatos rajzot, hogy megmutassam, hogyan és hol kell csatlakoztatni az összes elektronikát. A Fritzing letöltési linkjét itt találja: https://fritzing.org/download/. Amint azt korábban említettük, Raspberry Pi -t használtam, és RFID -szkennert, két ultrahangos érzékelőt, egy hőmérséklet -érzékelőt, egy LCD -t és egy perisztaltikus szivattyút csatlakoztattam a vízhez.
A két áramkört PDF -ben csatoltam, ha közelebbről meg akarja nézni.
2. lépés: A Raspberry Pi beállítása
A Raspberry Pi -t használjuk minden futtatásához és vezérléséhez: a háttér, az előlap és az adatbázis.
A Raspberry Pi nem fut automatikusan. A használat megkezdéséhez néhány lépést kell végrehajtanunk.
1. lépés: Raspbian
Ha vadonatúj Raspberry Pi -t használ, szüksége lesz a raspbianra. A letöltési link és az oktatóanyag itt található.
2. lépés: A kép írása SD -re
Most, hogy megvan a Raspbian -képe, szüksége lesz egy képíró szoftverre (a win32diskimager -t javaslom) a képfájl SD -kártyára írásához. A teljes oktatóanyag itt található.
3. lépés: Jelentkezzen be a Raspberry Pi -be
Nyissa meg a "Powershell" parancsot, és írja be az "ssh [email protected]" parancsot. Ha minden jól megy, jelszót kérnek tőled (az alapértelmezett jelszó mindig málna). Általában ennek be kell jelentkeznie a Raspberry Pi -be. Most módosítanunk kell a beállításainkon. Írja be a sudo raspi-config parancsot a terminálba, és nyomja meg az enter billentyűt. Keresse meg a lokalizációs beállításokat> módosítsa az időzónát, és állítsa be az időzónára. Azt is meg kell változtatnia a wi-fi országot a saját helyére. Végül menjen az interfész lehetőségekhez, és engedélyezze az SPI-t, az I2C-t és az 1-vezetékes. Ez fontos lesz az érzékelők helyes használatához.
4. lépés: Az internetkapcsolat beállítása
WiFi hálózatot fogunk használni. Otthoni hálózatát az alábbi módon adhatja hozzá:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
A kapcsolat létrehozásához újra kell indítania a Pi -t. Ha ellenőrizni szeretné, hogy működik -e, az ifconfig segítségével ellenőrizheti, hogy van -e IP -cím.
5. lépés: A webszerver és az adatbázis beállítása
Először is, a legjobb, ha frissíti és frissíti a rendszert a következő parancsokkal:
- sudo apt dist-upgrade --auto-remove -y
- sudo apt frissítés
- sudo apt frissítés
- sudo apt autoremove
Ha ez megtörtént, a következő csomagokra lesz szükségünk webszerverünkhöz és adatbázisunkhoz:
Apache
sudo apt install apache2 -y
PHP
sudo apt telepítse a php -t
sudo apt install phpMyAdmin -y
Ne felejtse el beállítani a biztonságos MySQL jelszót, amikor jelszót kér.
MariaDB
sudo apt install mariadb-server mariadb-client -y
sudo apt install php -mysql -y
sudo systemctl indítsa újra az apache2.service szolgáltatást
6. lépés: A Python könyvtárak telepítése
A háttérrendszerhez szükségünk lesz néhány könyvtárra a Python számára. Ezeket a pip3 használatával telepítjük, mert python3 -at használunk.
pip3 telepítse a mysql-connector-python programot
pip3 telepítse a flask-socketio-t
pip3 telepítse a lombikhüvelyeket
pip3 install gevent
pip3 telepítse a gevent-websocket-et
sudo apt install python3 -mysql.connector -y
pip3 telepítse az mfrc522 -t! (erre szükségünk lesz az RFID szkenner használatához)
7. lépés: A Visual Studio kód előkészítése
A kód futtatásához javaslom a Visual Studio Code használatát a Raspberry Pi csatlakoztatásához. A letöltési link a VSC telepítéséhez itt található.
Ha még nincs telepítve a távoli fejlesztés SSH használatával, itt találhatja meg a lépéseket.
3. lépés: Az adatbázis létrehozása
Az összes érzékelő- és felhasználói adatot adatbázisban tároljuk.
Az adatbázisom 5 táblázatból áll:
Eszköz
A Table Device rendelkezik DeviceID -vel, amely magára az eszközre utal. A DeviceName megadja az eszköz nevét, ebben az esetben ultrahangos érzékelőt, hőmérséklet -érzékelőt,… DeviceType megadja az eszköz típusát (érzékelő vagy működtető).
Történelem
A Táblázatelőzmények tartalmazzák az összes érzékelő előzményt, valamint a dátumot (HistoryDate), az előzményeket és a történelem pillanatának értékét. Két idegen kulccsal is rendelkezik:
- DeviceID, ha egy adott naplót egy eszközhöz szeretne kapcsolni
- UserID, egy adott felhasználó összekapcsolása a naplóval (ez azért van, mert RFID -t használunk, és hozzá szeretnénk adni az előzménynaplót egy adott felhasználóhoz)
Felhasználó
A Table User (Felhasználói táblázat) felhasználói bejelentkezési rendszer létrehozására szolgál az RFID szkennerrel. Ez egy becenévből, keresztnévből, vezetéknévből, jelszóból és RFID -ből áll (ez egy címke RFID -száma). Minden felhasználó tárolóhoz (víztartályhoz) kapcsolódik, és a ContainerID -t idegen kulcsként hordozza.
Tartály
Az asztali konténer az összes különböző konténerből áll. Van egy azonosítója, egy ContainerLocation (ez lehet vállalkozás, otthon vagy bármi más). Végül van egy MaxLevel, amely a tartály maximális térfogatát jelenti.
Beállítások
A Táblázatbeállításoknak van egy beállításazonosítója, és nyomon követi minden felhasználó DailyGoalját, valamint azt a dátumot, amikor a felhasználó hozzáadta a DailyGoalt. Ez magyarázza az idegen kulcs felhasználói azonosítóját.
Az adatbázis kiíratása megtalálható a GitHub lerakatomban az adatbázis alatt.
4. lépés: A háttérrendszer beállítása
Nincs projekt működő háttérrendszer nélkül.
A háttérrendszer 4 különböző dologból áll:
segítők
A segédek a különböző érzékelők és állítóművek osztályai. Van egy segítő a hőmérséklet -érzékelőhöz (DS18B20), az ultrahangos érzékelőkhez (HCSR05) a távolság méréséhez és az LCD -hez, hogy üzeneteket írhasson a képernyőre.
adattárak
A lerakatok mappában 2 Python -fájlt talál:
- Database.py, amely segít eltávolítani a sorokat az adatbázisból. Ez megkönnyíti az adatbázis végrehajtását és olvasását.
- A DataRepository.py, amely tartalmazza az összes SQL lekérdezést, amelyek a fő kódban (app.py) használatosak. Ezeket arra használják, hogy adatokat szerezzenek be, frissítsenek vagy töröljenek az adatbázisból.
app.py
Ez a projekt fő háttérkódja. A beállítást az összes csap és üzemmód meghatározásával végzi, és tartalmazza a szivattyú működésének, a hőmérséklet beállításának, a felhasználó stb. Tartalmazza az adatbázisból és az összes socketio.on -ból származó adatok lekérésére használt útvonalakat is. Minden HTML -oldalhoz más socketio.on, hogy minden funkció a megfelelő időben működjön.
config.py
Egy fájlunk maradt: config.py. Ez a fájl tartalmazza az adatbázishoz való kapcsolódáshoz szükséges konfigurációs lehetőségeket. Ne felejtse el beállítani az adatbázis hitelesítő adatait.
A háttértár megtalálható a háttértáromban a Háttér.
5. lépés: Az előlap beállítása
A kezelőfelülethez azzal kezdtem, hogy megterveztem, hogyan kell kinéznie a webszervernek az AdobeXD -ben. A logómban szereplő színeket használtam, amelyek narancssárga és 2 különböző kék árnyalatúak. Próbáltam a tervezést a lehető legegyszerűbbé tenni, és létrehoztam egy vízcseppet, amely megmutatja, hogy hány százalékban érte el napi célját.
A GitHub tárolómban megtalálom a kezelőfelületemet a Kód> Frontend menüpont alatt. Fontos, hogy ezt illessze be a Raspberry Pi /var /html mappájába, hogy hozzáférhető legyen a webszerverről.
Pár HTML fájlból áll, amelyek a különböző oldalakhoz vezetnek. Megtalálja a screen.css fájlt is az összes olyan CSS -sel, amire szüksége lesz, hogy úgy nézzen ki, mint a projektem. Végül különböző JavaScript -fájlok lesznek a szkriptek alatt. Ezek a szkriptek kommunikálnak a háttérprogramommal, hogy adatokat jelenítsenek meg az adatbázisomból vagy a háttérprogramomból.
A háttér megtalálható a táromban a Frontend alatt.
6. lépés: A burkolat létrehozása
Ha az én esetemről beszélünk, két fő része van:
Külső burkolat
A házat a semmiből építettem. Rétegelt lemez deszkákat használtam, és megfelelő méretben fűrészeltem. Összecsavartam az összes deszkát, és lyukakat fúrtam az LCD -hez, a gombhoz, az ultrahangos érzékelőhöz, hogy érzékeljem, van -e vizespalack, és a tölcsért a víz elosztására. A tokomat különböző szakaszokra osztottam, hogy a víz és az elektronika elkülönüljön, és kábeltálcát használtam a kábelek vízszivárgás elleni védelmére. A mellékelt videóban láthatja a burkolatom legtöbb aspektusát és azt, hogyan készítettem. 3D -ben kinyomtattam egy gombot is, ami egy normál gombhoz van ragasztva. Végül csepegtető tálcával felfogtam az összes kiömlött vizet. Pántokat is használtam, hogy kinyithassam és bezárjam az oldalsó panelt, hogy megnézzem az elektronikámat. Mindig használhat használt adagolót, vagy más anyagokat is.
Az építésem pontos méréséhez csatoltam egy PDF -t, amely tartalmazza a tokban használt lemezek minden méretét.
Víztartály
A víztartály nem volt könnyű feladat. Kaptam egy víztartályt, lyukkal az alján, ezért ragasztani kellett, hogy megállítsam a szivárgást. Négy lyukra lesz szüksége: egy a hőmérséklet -érzékelőhöz, egy a szivattyú csöveihez. az egyik a tartály utántöltésére szolgáló csőhöz, a másik az ultrahangos érzékelőhöz. Ez utóbbihoz 3D -t nyomtattam hozzá egy tokot, amely itt található. Ez nagyobb védelmet nyújt az érzékelőnek a víz ellen. Ezt követően egy négyszöget fúrtam a tartály tetejébe, hogy rákapcsoljam az érzékelőt.
Ajánlott:
Automatikus kézfertőtlenítő: 8 lépés
Automatikus kézfertőtlenítő: A COVID-19 világjárvány olyan dolog lett, amelyet a nyilvánosság nagyon gyakran hallott 2020 folyamán. Minden polgár, aki hallja a „COVID-19” szót, azonnal a „Veszélyes”, „Halálos”, „Tiszta maradjon” szóra fog gondolni”, És más szavakkal. Ez a COVID-19 is
Elektromos fogyasztás és környezetfigyelés Sigfoxon keresztül: 8 lépés
Elektromos fogyasztás és környezetfigyelés Sigfoxon keresztül: LeírásEz a projekt bemutatja, hogyan lehet háromfázisú áramelosztásra beállítani egy szoba elektromos fogyasztását, majd 10 percenként elküldeni egy szerverre a Sigfox hálózat használatával. Hogyan mérjük az áramot? Három árambilincset kaptunk egy
WiFi automatikus növényadagoló tározóval - beltéri/kültéri művelési beállítás - automatikus vízi növények távoli megfigyeléssel: 21 lépés
WiFi automatikus növényadagoló tározóval - beltéri/kültéri művelési beállítások - Automatikus vízi növények távoli felügyelettel: Ebben az oktatóanyagban bemutatjuk, hogyan kell beállítani egy egyéni beltéri/kültéri növényadagoló rendszert, amely automatikusan öntözi a növényeket, és távolról felügyelhető az Adosia platform használatával
Házi készítésű automatikus vízadagoló mosdó Arduino használatával: 4 lépés
Házilag készített, automatikus vízadagoló mosdó Arduino használatával: Ennek a kialakításnak az a célja, hogy kiadja a vizet a csapból, amikor kinyújtja a kezét a mosdóban, anélkül, hogy szennyezné a csapot és vízpazarlást. Ennek érdekében nyílt forráskódú Arduino - Nano táblát használnak. Látogassa meg webhelyünket a C forráshoz
Lábpedállal vezérelt 5 gallonos vízadagoló: 3 lépés
Lábpedállal vezérelt 5 gallonos vízadagoló: Egyes országokban, például ahol én lakom (Törökország), gondunk van a kézi szivattyúkkal, hogy vizet engedjenek ki egy tartályból. Egyes kézi szivattyúk nehézkesek, és a kisgyermekeknek problémát okoz a szükséges teljesítmény biztosítása. Ezért arra gondoltam, hogy használok egy lábat