Talaan ng mga Nilalaman:

Sistema ng Basura: 7 Hakbang
Sistema ng Basura: 7 Hakbang

Video: Sistema ng Basura: 7 Hakbang

Video: Sistema ng Basura: 7 Hakbang
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Nobyembre
Anonim
Sistema ng Basura
Sistema ng Basura

Napagpasyahan naming subukan na gumawa ng isang paraan upang subaybayan ang alinman sa pagpuno ng basura ng isang kapitbahayan o isang sensor sa bawat basura sa kapitbahayan upang subukang gawing mas mahusay ang mga pagtatapon ng basura. Naisip namin na kung ang isang trak ay darating tuwing dalawang linggo para sa isang koleksyon, paano kung ako o ang aking kapitbahay ay natapos lamang na magtapon ng kaunti. Hindi ba ito magiging episyente upang magpadala ng isang trak kung saan ang kalahati ng kapitbahayan ay hindi’nagpadala ng buong mga basurahan? Magaling kung posible na makita ang basurahan ng aming kapit-bahay na maaaring punan at pagkatapos ay gamitin ang kanilang basura kung puno ang minahan at ang kanila ay walang laman at kabaligtaran. Napagpasyahan naming gamitin ang ultrasonic sensor, HC-SR04 kasama ang isang raspberry pi upang subukang talakayin ang proyektong ito.

Mga gamit

Ultrasonic sensor (HC-SR04)

Raspberry Pi (ginamit namin ang Pi 4 Model B)

Breadboard

Mga kable ng jumper

Mag-asawa ng resistors (3 x 1k ohm)

Hakbang 1: Pagkonekta sa HC-SR04

Pagkonekta sa HC-SR04
Pagkonekta sa HC-SR04

Dahil ginagamit namin ang Raspberry Pi, kailangan naming gumamit ng isang voltage divider upang makontrol ang boltahe na papunta sa mga pin ng GPIO ng Pi dahil pinapayagan lamang nila ang 3.3v. Ang HC-SR04 ay gumagamit ng 5V ngunit kailangang ibaba sa 3.3V kapag kumokonekta ito sa Pi. Ikonekta ang 5V at mga ground pin ayon sa pagkakasunod at ayon sa iyong programa ikabit ang echo at mag-trigger ng mga pin sa mga magalang na pin. Sa aming programa ay ginamit namin ang pin 23 at 24 para sa echo at trigger ayon sa pagkakabanggit.

Hakbang 2: Mosquitto at Paho MQTT

Bago namin simulan ang pag-program sa Python upang makuha ang ultrasonic sensor upang gumana sa Pi, dapat naming i-install ang mga application na ito upang makuha ang ultrasonic sensor na makipag-usap sa aming program ng software na Node-RED. Ang Mosquitto ay isang MQTT broker na maaari mong gamitin sa Pi habang ang Paho MQTT ay ang silid-aklatan na nagpapahintulot sa iyo na mag-code sa Python upang makuha ang sensor upang makipag-usap sa MQTT broker. Upang mai-install ang pareho sa mga ito mai-type mo ang mga utos na ito sa iyong Pi terminal

sudo apt update

sudo apt install -y mosquitto mosquitto-kliyente

sudo apt-get install python3-pip

sudo pip3 i-install ang paho-mqtt

Hakbang 3: Program sa Python para sa Ultrasonic Sensor

Ito ang programa na ginamit ko upang basahin ang papasok na data mula sa sensor at i-publish din sa MQTT broker.

Hakbang 4: Node-RED

Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED

Ang ilang mga node ay hindi pa preinstall sa programa kaya maaaring kailanganin mong i-install ito mula sa mga palette. Ang mga kailangan mong i-install ay node-red-dashboard, at node-red-node-sqlite.

Dito namin sinisimulan ang paggamit ng aming software software at ng sensor. Ang unang node na kakailanganin mo ay ang MQTT-in Node at pinapayagan kaming gamitin ang aming sensor na nagpapatakbo ng programa mula sa itaas upang magpadala ng data sa software na ito. Ang range node na ginamit namin ay binabaliktad ang mga halagang mayroon kami (ibig sabihin, 5cm ay puno mula sa programa kaya't i-flip namin ito sa 100%). Kasunod sa range node mayroon kaming 2 function node, isa upang ipakita ang mensahe sa aming dashboard at isa upang ipakita ang isang visual na ang basura ay puno na. Ang programa para sa mga function node ay nakakabit.

Kung maaari, ang daloy na ito ay magagamit para sa maraming mga ultrasonic sensor. Para sa aming proyekto subalit kailangan naming gumawa ng data ng simulation dahil hindi namin nakakuha ng aming mga kamay sa higit pang mga sensor. Ang paraan na ginawa namin ito ay halos kapareho ngunit mayroon kaming mga pindutan na maaaring i-click ng gumagamit upang random na magdagdag ng 1-10 porsyento ng basura sa bawat isa sa mga garbage. Gumamit kami ng 2 mga pindutan, isa upang magdagdag ng basura, at isa upang linisin. Ang gauge, mga mensahe at ang tagapagpahiwatig ay pareho pa rin ang code upang mabilang at mapanatili ang bilang ng basura ay medyo magkakaiba.

Hakbang 5: Data ng Pag-log

Data ng Pag-log
Data ng Pag-log
Data ng Pag-log
Data ng Pag-log
Data ng Pag-log
Data ng Pag-log

Napagpasyahan namin na magandang ideya na mag-log kung gaano kabusog ang mga garbage pagdating sa trak upang alisan ng laman ang mga garbage. Sa tulong ng sqlite node nagagawa naming basahin at isulat ang data na nai-save din ito sa Pi. Kakailanganin mong i-install ang node na ito tulad ng sinabi ko dati.

Ang mga hakbang sa paglikha at pag-log ng data ay napupunta sa mga sumusunod:

1. Lumikha ng database

2. Mag-log ng data

3. Hilahin ang data upang ipakita sa aming dashboard

4. I-clear at tanggalin ang data

Ang paraan ng paggana ng SQL ay kailangan mo upang lumikha ng paksa na GALING TABLE, INSERT SA, SELECT MULA, at TANGGALIN MULA. Gamit ang mga timestamp node maaari naming maisagawa ang mga paksa sa sqlite node na ginagawa ang bawat isa sa mga pagpapaandar na iyon (lumikha, ipasok, piliin, at tanggalin). Kailangan lamang naming lumikha ng database nang isang beses at isang beses na tapos na maaari tayong mag-log ng data dito. Kapag nilikha ang database, maaari kaming mag-log data at ginamit namin muli ang input ng gumagamit upang mag-log pagdating ng trak. Ginawa namin ito upang hindi ka makapag-log data hanggang sa pahintulutan ang trak na dumating na 5 garbages na may 80% na kapasidad (isinasaalang-alang na puno). Ginamit din namin muli ang range node upang masukat ang 500 pabalik sa isang 0-100%. Mayroon kaming pagpipilian upang tanggalin ang lahat ng data mula sa database kung nais namin. Ang node ng mesa ng UI ay isang node upang payagan kaming makita ang talahanayan sa isang maayos na naka-format na paraan sa aming dashboard.

Hakbang 6: Layout

Matapos ang lahat ng ito ay magawa ay makakalikha ka ng isang layout na nais mo sa tulong ng Node-RED. Sa tab sa gilid magagawa mong i-space ang mga ito gayunpaman gusto mo at maraming mga pagpipilian sa pagpapasadya na mayroon ka. Nakalakip din ang aking daloy para sa aking buong programa.

Hakbang 7: Konklusyon

Sa pagkumpleto ng proyektong ito, may mga lugar kung saan maaari naming makita ang programa na lumago pa. Hindi ako nakahanap ng isang paraan upang gawing awtomatiko ang pag-log bilang ang tanging paraan na magagawa natin ito ay upang mag-log sa isang agwat at hindi namin kakailanganin ang anumang mga umuulit na numero kung ang trak ng basura ay dumating minsan. Sa palagay ko ito ay bahagyang sanhi ng kung paano namin napagpasyahan na gawin itong lubos na umaasa sa mga function node at sa programa dahil mas komportable kami sa programa na iyon. Matapos ang paggalugad pagkatapos naming magawa, malinaw na may mga node na ginawa para sa lahat at maaari nitong gawing mas madali ang buhay kung nakita namin ang pagpapaandar ng switch at rbe node nang mas maaga. Mayroon ding isang node na ginawa para sa mga ultrasonic sensor na hindi namin nagawang gumana. Ginagawa nitong mas madali ang mga bagay dahil hindi na kailangan ng MQTT o ng programa ng Python dahil ito ay isang node lamang na may mga gatilyo at echo pin. Napagpasyahan naming gawin ito sa pamamagitan ng paggawa ng programang Python tulad ng nakita mo sa itaas. Ang isang malaking tip para sa sinumang nais na sumisid sa Node-RED ay dapat mong gamitin ang maraming mga debug node upang malaman kung gumagana ang bawat daloy at naglalabas ng gusto mo / kailangan.

Inirerekumendang: