INHOUDSOPGAWE:
- Voorrade
- Stap 1: Verbind HC-SR04
- Stap 2: Mosquitto en Paho MQTT
- Stap 3: Python -program vir ultrasoniese sensor
- Stap 4: Node-ROOI
- Stap 5: Teken data in
- Stap 6: Uitleg
- Stap 7: Gevolgtrekking
Video: Vullisstelsel: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Ons het besluit om 'n manier te vind om die vullis van 'n buurt in 'n buurt op te spoor, of 'n sensor in elke vullis in die omgewing om vullisverwydering doeltreffender te maak. Ons het gedink dat as 'n vragmotor elke twee weke kom haal, wat as ek of my buurman net 'n bietjie weggooi. Sou dit nie ondoeltreffend wees om 'n vragmotor te stuur waarheen die helfte van die buurt nie 'n volledige asblik gestuur het nie? Dit sou wonderlik wees as dit moontlik was om die vullis van ons buurman te sien vul en dan hul vullis te gebruik as myne vol was en hulle leeg was en omgekeerd. Ons het besluit om die ultrasoniese sensor, HC-SR04, saam met 'n framboospi te gebruik om hierdie projek aan te pak.
Voorrade
Ultrasoniese sensor (HC-SR04)
Framboos Pi (ons het Pi 4 Model B gebruik)
Broodbord
Springkabels
Paar weerstande (3 x 1k ohm)
Stap 1: Verbind HC-SR04
Aangesien ons die Raspberry Pi gebruik, moet ons 'n spanningsverdeler gebruik om die spanning in die GPIO -penne van die Pi te reguleer, aangesien dit slegs 3,3V toelaat. Die HC-SR04 gebruik 5V, maar moet tot 3,3V verlaag word wanneer dit aan die Pi gekoppel word. Koppel die 5V- en grondpenne onderskeidelik aan en bevestig volgens u program die eggo- en snellerpenne aan die respekvolle penne. In ons program het ons pen 23 en 24 gebruik vir onderskeidelik eggo en sneller.
Stap 2: Mosquitto en Paho MQTT
Voordat ons met Python begin programmeer om die ultrasoniese sensor met die Pi te laat werk, moet ons hierdie toepassings installeer om die ultrasoniese sensor te laat kommunikeer met ons programmeersagteware Node-RED. Mosquitto is 'n MQTT -makelaar wat u op die Pi kan gebruik, terwyl Paho MQTT die biblioteek is waarmee u in Python kan kodeer sodat die sensor met die MQTT -makelaar kan kommunikeer. Om albei te installeer, tik u hierdie opdragte op u Pi -terminale
sudo apt -opdatering
sudo apt installeer -y muskiet muskietkliënte
sudo apt-get install python3-pip
sudo pip3 installeer paho-mqtt
Stap 3: Python -program vir ultrasoniese sensor
Dit is die program waarmee ek die inkomende data van die sensor gelees het en ook aan die MQTT -makelaar gepubliseer het.
Stap 4: Node-ROOI
Sommige nodusse word nie vooraf in die program geïnstalleer nie, daarom moet u dit moontlik vanaf die palette installeer. Die wat u moet installeer, is node-red-dashboard en node-red-node-sqlite.
Dit is waar ons ons programmeersagteware en die sensor begin gebruik. Die eerste nodus wat u benodig, is die MQTT-in-knoop en dit stel ons in staat om ons sensor van bo af te gebruik om data na hierdie sagteware te stuur. Die reikwydte wat ons gebruik het, verander die waardes wat ons het (dws. 5 cm is vol van die program, dus draai ons dit na 100%). Na die reikwydte -knoop het ons 2 funksionele nodusse, een om die boodskap aan ons dashboard te vertoon en een om 'n visuele beeld te toon dat die vullis vol is. Die program vir die funksie nodusse is aangeheg.
Indien moontlik, kan hierdie vloei vir verskeie ultrasoniese sensors gebruik word. Vir ons projek moes ons egter simulasie -data doen, aangesien ons nie meer sensors in die hande kon kry nie. Die manier waarop ons dit gedoen het, is baie soortgelyk, maar ons het knoppies waarop die gebruiker kan klik om willekeurig 1-10 persent van die vullis in elk van die vullis by te voeg. Ons gebruik twee knoppies, een om vullis by te voeg en een om skoon te maak. Die meter, boodskappe en die aanwyser is nog steeds presies dieselfde as die kode om te tel en die vullis te hou, is 'n bietjie anders.
Stap 5: Teken data in
Ons het besluit dat dit 'n goeie idee sou wees om aan te meld hoe vol die vullis is wanneer die vragmotor die vullis kom leegmaak. Met behulp van die sqlite -knoop kan ons data lees en skryf wat dit ook in die Pi stoor. U moet hierdie knoop installeer, soos ek al voorheen gesê het.
Die stappe om data te skep en aan te meld, is soos volg:
1. Skep die databasis
2. Teken die data aan
3. Trek die data om op ons paneelbord te wys
4. Maak die data skoon en verwyder dit
Die manier waarop SQL werk, is dat u die onderwerp moet skep, wat CREATE TABLE, INSERT IN, SELECT FROM, and DELETE FROM. Deur tydstempelknope te gebruik, kan ons onderwerpe uitvoer op die sqlite -knoop wat elkeen van die funksies verrig (skep, voeg in, kies en verwyder). Ons hoef slegs die databasis een keer te skep, en sodra dit klaar is, kan ons data daarby aanmeld. Sodra die databasis geskep is, kan ons data aanteken en gebruik ons weer gebruikersinvoer om aan te meld wanneer die vragmotor gekom het. Ons het dit so gemaak dat u nie data kan aanmeld voordat die vragmotor mag kom nie, dit is 5 vullis met 'n kapasiteit van 80% (as vol geag). Ons het ook weer die reeksnode gebruik om die 500 terug te skaal tot 'n 0-100%. Ons het dan die opsie om alle data uit die databasis te verwyder as ons wil. Die UI -tafelknoop is 'n knoop waarmee ons die tafel op 'n mooi formateerde manier op ons dashboard kan sien.
Stap 6: Uitleg
Nadat dit alles klaar is, kan u 'n uitleg skep met behulp van Node-RED. Op die syblad kan u hulle spasieer soos u wil, en daar is nog baie meer aanpassingsopsies. My vloei vir my hele program is ook aangeheg.
Stap 7: Gevolgtrekking
By die voltooiing van hierdie projek is daar gebiede waar ons kan sien dat die program verder kan groei. Ek het nooit 'n manier gevind om die aanmelding outomaties te maak nie, want die enigste manier waarop ons dit kon doen, was om dit met 'n tussenpose aan te meld en ons sou geen herhalingsgetalle nodig hê as die vulliswa een keer kom nie. Ek dink dit is deels te wyte aan die manier waarop ons besluit het dat ons sterk afhanklik is van die funksieknope en die programmering, aangesien ons gemakliker is met die programmering. Nadat ons dit ondersoek het, was dit duidelik dat daar nodusse vir alles gemaak is, en dit kon die lewe baie makliker gemaak het as ons die funksie van skakelaar- en rbe -knope vroeër gevind het. Daar is ook 'n node gemaak vir ultrasoniese sensors wat ons nie aan die werk gekry het nie. Dit sou dinge makliker gemaak het, want daar was geen behoefte aan MQTT of die Python -program nie, aangesien dit net 'n knoop met die sneller- en eggo -penne is. Ons het besluit om dit te vermy deur die Python -program te maak soos u hierbo gesien het. 'N Groot wenk vir almal wat in Node-RED wil duik, is dat u baie ontfoutingsknoppies moet gebruik om uit te vind of elke stroom werk en wat u wil/benodig.
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies