INHOUDSOPGAWE:

Vullisstelsel: 7 stappe
Vullisstelsel: 7 stappe

Video: Vullisstelsel: 7 stappe

Video: Vullisstelsel: 7 stappe
Video: Как спрятать данные в ячейках Excel? 2024, November
Anonim
Vullisstelsel
Vullisstelsel

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

Verbind HC-SR04
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

Node-ROOI
Node-ROOI
Node-ROOI
Node-ROOI
Node-ROOI
Node-ROOI
Node-ROOI
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

Teken data
Teken data
Teken data
Teken data
Teken data
Teken data

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: