Sisällysluettelo:

Roskajärjestelmä: 7 vaihetta
Roskajärjestelmä: 7 vaihetta

Video: Roskajärjestelmä: 7 vaihetta

Video: Roskajärjestelmä: 7 vaihetta
Video: 😮 Bunker im Hürtgenwald und die letzten Panzer in Aachen! 2024, Marraskuu
Anonim
Roskajärjestelmä
Roskajärjestelmä

Päätimme yrittää keinoa seurata joko naapuruston yhteisön roskatäyttöä tai anturia jokaisessa naapuruston roskassa, jotta roskien hävittäminen olisi tehokkaampaa. Ajattelimme, että jos kuorma -auto tulee kahden viikon välein keräilyyn, entä jos minä tai naapurini heittäisimme vain vähän ulos. Eikö olisi tehotonta lähettää kuorma -auto sinne, missä puolet naapurustosta ei lähettänyt täyttä roskakoria? Olisi hienoa, jos olisi mahdollista nähdä naapurimme roskat täyttyvän ja sitten käyttää roskiaan, jos omani olisi täynnä ja heidän tyhjillään ja päinvastoin. Päätimme käyttää ultraäänianturia, HC-SR04 yhdessä vadelmapi kanssa, yrittääksemme käsitellä tätä projektia.

Tarvikkeet

Ultraäänianturi (HC-SR04)

Raspberry Pi (käytimme Pi 4 -mallia B)

Leipälauta

Käynnistyskaapelit

Pari vastusta (3 x 1 k ohmia)

Vaihe 1: Yhdistä HC-SR04

Liitäntä HC-SR04
Liitäntä HC-SR04

Koska käytämme Raspberry Pi -laitetta, meidän on käytettävä jännitteenjakajaa Pi: n GPIO -nastoihin menevän jännitteen säätämiseen, koska ne sallivat vain 3,3 V. HC-SR04 käyttää 5 V: ta, mutta se on laskettava 3,3 V: iin, kun se liitetään Pi: hen. Kytke 5 V: n ja maadoitusnastat ja ohjelmasi mukaan kiinnitä kaiun ja liipaisimen nastat kunnioittaviin nastoihin. Ohjelmassamme käytimme tappeja 23 ja 24 vastaavasti kaiun ja liipaisimen osalta.

Vaihe 2: Mosquitto ja Paho MQTT

Ennen kuin aloitamme ohjelmoinnin Pythonilla saadaksemme ultraäänianturin toimimaan Pi: n kanssa, meidän pitäisi asentaa nämä sovellukset saadaksemme ultraäänianturin kommunikoimaan ohjelmointiohjelmistomme Node-RED kanssa. Mosquitto on MQTT -välittäjä, jota voit käyttää Pi -laitteessa, kun taas Paho MQTT on kirjasto, jonka avulla voit koodata Pythonissa saadaksesi anturin kommunikoimaan MQTT -välittäjän kanssa. Jos haluat asentaa molemmat, kirjoita nämä komennot Pi -päätelaitteeseesi

sudo apt päivitys

sudo apt install -y mosquitto mosquitto -clientit

sudo apt-get install python3-pip

sudo pip3 asenna paho-mqtt

Vaihe 3: Python -ohjelma ultraäänianturille

Tätä ohjelmaa käytin anturista tulevien tietojen lukemiseen ja julkaisemiseen myös MQTT -välittäjälle.

Vaihe 4: Solmu-PUNAINEN

Solmu-PUNAINEN
Solmu-PUNAINEN
Solmu-PUNAINEN
Solmu-PUNAINEN
Solmu-PUNAINEN
Solmu-PUNAINEN
Solmu-PUNAINEN
Solmu-PUNAINEN

Joitakin solmuja ei ole esiasennettu ohjelmaan, joten sinun on ehkä asennettava se paleteista. Asennettavat ovat node-red-dashboard ja node-red-node-sqlite.

Tässä aloitamme ohjelmointiohjelmistomme ja anturin käytön. Ensimmäinen tarvitsemasi solmu on MQTT-in-solmu, jonka avulla voimme käyttää ohjelmaa yllä olevasta anturistamme tietojen lähettämiseen tähän ohjelmistoon. Käyttämämme alueen solmu kääntää arvot (eli 5 cm on täynnä ohjelmasta, joten käännämme sen 100%: iin). Etäisyyssolmun jälkeen meillä on kaksi toimintosolmua, joista toinen näyttää viestin kojelaudallemme ja toinen näyttää visuaalisesti, että roskat ovat täynnä. Toimintasolmujen ohjelma on liitetty.

Jos mahdollista, tätä virtausta voitaisiin käyttää useille ultraääni -antureille. Hankkeessamme meidän oli kuitenkin tehtävä simulaatiotietoja, koska emme pystyneet saamaan käsiimme lisää antureita. Tapa, jolla teimme tämän, on hyvin samanlainen, mutta meillä on painikkeita, joita käyttäjä voi napsauttamalla lisätä satunnaisesti 1–10 prosenttia roskista jokaiseen roskaan. Käytimme kahta painiketta, toista roskien lisäämiseen ja toista puhdistukseen. Mittari, viestit ja ilmaisin ovat edelleen täsmälleen samat, ja koodi, joka laskee ja pitää roskien lukumäärän, on hieman erilainen.

Vaihe 5: Tietojen kirjaaminen

Tietojen kirjaaminen
Tietojen kirjaaminen
Tietojen kirjaaminen
Tietojen kirjaaminen
Tietojen kirjaaminen
Tietojen kirjaaminen

Päätimme, että olisi hyvä kirjata ylös, kuinka täynnä roskat ovat, kun kuorma -auto tulee tyhjentämään roskat. Sqlite -solmun avulla pystymme lukemaan ja kirjoittamaan dataa, joka myös tallentaa sen Pi: hen. Sinun on asennettava tämä solmu, kuten olen aiemmin sanonut.

Tietojen luomisen ja kirjaamisen vaiheet ovat seuraavat:

1. Luo tietokanta

2. Kirjaa tiedot

3. Vedä tiedot näkyviin kojelaudallemme

4. Tyhjennä ja poista tiedot

SQL toimii siten, että sinun on luotava suoritettava aihe, joka on CREATE TABLE, INSERT INTO, SELECT FROM ja DELETE FROM. Käyttämällä aikaleimasolmuja voimme suorittaa aiheita sqlite -solmulle, joka suorittaa kaikki nämä toiminnot (luo, lisää, valitse ja poista). Meidän on luotava tietokanta vain kerran, ja kun se on tehty, voimme kirjata tietoja siihen. Kun tietokanta on luotu, voimme kirjata tietoja ja kirjauduimme uudelleen käyttäjän syötteellä, kun trukki on tullut. Teimme sen siten, ettet voi kirjata tietoja ennen kuin kuorma -auto saa tulla, mikä on 5 roskaa 80%: n kapasiteetilla (katsotaan täyteen). Käytimme myös vaihtosolmua uudelleen skaalaamaan 500 takaisin 0-100%: iin. Meillä on sitten mahdollisuus poistaa kaikki tiedot tietokannasta, jos haluamme. Käyttöliittymän taulukkosolmu on solmu, jonka avulla voimme nähdä taulukon hienosti muotoilulla tavalla koontinäytössämme.

Vaihe 6: Asettelu

Kun kaikki tämä on valmis, voit luoda haluamasi asettelun Node-REDin avulla. Sivuvälilehdessä voit sijoittaa ne haluamallasi tavalla, ja sinulla on paljon muita mukautusvaihtoehtoja. Liitteenä on myös koko ohjelmani kulku.

Vaihe 7: Johtopäätös

Tämän hankkeen päätyttyä on alueita, joilla voimme nähdä ohjelman kasvavan edelleen. En ole koskaan löytänyt tapaa tehdä kirjausta automaattisesti, koska ainoa tapa, jolla voimme tehdä sen, oli se, että se kirjautui ajoittain, emmekä tarvitsisi uusia numeroita, jos roska -auto tulisi kerran. Luulen, että tämä johtuu osittain siitä, miten päätimme tehdä sen suuresti riippuvaiseksi toiminnallisista solmuista ja ohjelmoinnista, koska meillä on parempi ohjelmointi. Tutkittuamme valmistumisen jälkeen oli selvää, että kaikelle on tehty solmuja ja se olisi voinut tehdä elämästä paljon helpompaa, jos olisimme löytäneet kytkimen ja rbe -solmujen toiminnon aikaisemmin. Siellä oli myös solmu tehty ultraääni -antureille, joita emme saaneet toimimaan. Se olisi helpottanut asioita, koska ei olisi tarvetta MQTT: lle tai Python -ohjelmalle, koska se on vain solmu, jossa on liipaisin ja kaiku. Päätimme kiertää sen tekemällä Python -ohjelman kuten edellä. Valtava vinkki kaikille, jotka haluavat sukeltaa Node-REDiin, on se, että sinun on käytettävä paljon virheenkorjaussolmuja selvittääksesi, toimiiko kukin virtaus ja tulostaako se mitä haluat/tarvitset.

Suositeltava: