Pitunjuk: AIR RASPBERRY Pi
DIRANJANG PIKEUN RASPBERRY PI 400. Cocog sareng RASPBERRY PI 2, 3 AND 4.
V1d
BUBUKA
Kit Kualitas Udara MonkMakes pikeun Raspberry Pi dumasar kana dewan Sensor Kualitas Udara MonkMakes. Add-on ieu pikeun Raspberry Pi ngukur kualitas hawa di rohangan (kumaha hawa bulukan) sareng suhu. Papan gaduh tampilan genep LED (héjo, oranyeu sareng beureum) anu nampilkeun kualitas hawa sareng buzzer. Suhu sareng bacaan kualitas hawa tiasa dibaca ku Raspberry Pi anjeun, sareng buzzer sareng tampilan LED ogé tiasa dikontrol tina Raspberry Pi anjeun.
Dewan Sensor Kualitas Udara, nyolok langsung kana tonggong buah prambus Pi 400, tapi ogé tiasa dianggo sareng modél buah prambus Pi anu sanés, nganggo kabel jumper sareng template GPIO kalebet dina kit.
BAGIAN
Punten dicatet yén Raspberry Pi henteu kalebet dina kit ieu.
Sateuacan Anjeun ngalakukeun nanaon sejenna, pariksa yen kit Anjeun kaasup item di handap.
KUALITAS hawa JEUNG ECO2
Papan Sénsor Kualitas Udara ngagunakeun sénsor kalayan jumlah bagian CCS811. chip leutik ieu sabenerna teu ngukur tingkat CO2 (karbon dioksida) tapi gantina tingkat grup gasses disebut volatile organik sanyawa (VOCs). Nalika di jero ruangan, tingkat gas ieu naék dina laju anu sami sareng CO2, sahingga tiasa dianggo pikeun ngira-ngira tingkat CO2 (disebut CO2 sarimbag atanapi eCO2).
Tingkat CO2 dina hawa urang hirup boga pangaruh langsung kana well-mahluk urang. Tingkat CO2 dipikaresep hususna ti titik kaséhatan masarakat view salaku, mun nempatkeun eta saukur, aranjeunna ukuran sabaraha urang ngambekan hawa batur. Urang manusa ngambekan kaluar CO2 jadi, lamun sababaraha urang aya di kamar kirang ventilated, tingkat CO2 laun bakal ningkat. Ieu sami sareng aerosol virus anu nyebarkeun pilek, flu sareng Coronavirus nalika urang ngambekan duanana babarengan.
Dampak penting séjén tina tingkat CO2 aya dina fungsi kognitif - kumaha ogé anjeun tiasa mikir. Panaliti ieu (antara seueur deui) gaduh sababaraha pamanggihan anu pikaresepeun. Petik di handap ieu ti National Center for Biotechnology Information di AS: "dina 1,000 ppm CO2, panyusutan sedeng sareng signifikan sacara statistik lumangsung dina genep salapan skala kinerja-nyieun kaputusan. Dina 2,500 ppm, pangurangan ageung sareng signifikan sacara statistik lumangsung dina tujuh skala kinerja-nyieun kaputusan "Sumber: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3548274/
tabél di handap ieu dumasar kana informasi ti https://www.kane.co.uk/knowledge-centre/whatare-safe-levels-of-co-and-co2-in-rooms
sareng nunjukkeun tingkat dimana CO2 tiasa janten teu damang. Bacaan CO2 aya dina ppm (bagian per juta).
Tingkat CO2 (ppm) | Catetan |
250-400 | Konsentrasi normal dina hawa ambient. |
400-1000 | Konsentrasi has spasi indoor dijajah kalawan bursa hawa alus. |
1000-2000 | Keluhan drowsiness jeung hawa goréng. |
2000-5000 | Headaches, sleepiness jeung stagnant, basi, hawa stuffy. Konsentrasi goréng, leungitna perhatian, ngaronjat denyut jantung sarta slight seueul bisa ogé hadir. |
5000 | Watesan paparan tempat gawé di kalolobaan nagara. |
>40000 | Paparan tiasa ngakibatkeun kakurangan oksigén anu serius anu nyababkeun karusakan otak permanén, koma, bahkan maot. |
Nyetél
Naha anjeun nganggo Raspberry Pi 400 atanapi Raspberry Pi 2, 3 atanapi 4, pastikeun yén Raspberry Pi dipareuman sareng dipareuman sateuacan anjeun nyambungkeun Sénsor Kualitas Udara.
Sensor Kualitas Udara bakal ningalikeun bacaan eCO2 pas meunang kakuatan tina Raspberry Pi anjeun. Janten, saatos anjeun nyambungkeunana, tampilanna kedah nunjukkeun tingkat eCO2. Anjeun teras bakal diajar kumaha carana berinteraksi sareng dewan, nampi bacaan sareng ngontrol LED sareng alat sora tina program Python.
Nyambungkeun Sénsor Kualitas Udara (Raspberry Pi 400)
Hal ieu kacida penting nu teu nyorong konektor dina hiji sudut, atawa nyorong eta teuas teuing, sabab bisa ngabengkokkeun pin dina konektor GPIO. Nalika pin dijajarkeun
leres, eta kedah nyorong kana tempat gampang.Konektor pas sakumaha ditémbongkeun di luhur. Perhatikeun yén ujung handap dewan baris nepi ka handap kasus Pi 400 urang, sarta sisi dewan daun ngan cukup rohangan pikeun aksés gampang kana kartu micro SD. Sakali anjeun geus nyambungkeun dewan, kakuatan up Raspberry Pi Anjeun. - boh LED kakuatan (dina logo MonkMakes) sareng salah sahiji LED eCO2 ogé kedah terang.
Nyambungkeun Sénsor Kualitas Udara (Raspberry Pi 2/3/4)
Upami anjeun gaduh Raspberry Pi 2, 3, 4, maka anjeun peryogi Daun Raspberry sareng sababaraha kabel jumper bikang ka jalu pikeun nyambungkeun papan Sensor Kualitas Udara ka Raspberry Pi anjeun.
PERHATOSAN: Ngabalikeun kakuatan ngabalukarkeun atawa nyambungkeun Air Quality Sensor ka 5V tinimbang 3V pin Raspberry Pi kamungkinan megatkeun sensor jeung bisa ngaruksak buah prambus Pi Anjeun. Janten, mangga parios kabel sacara saksama sateuacan ngaktipkeun dina Raspberry Pi anjeun.
Mimitian ku nyocogkeun Daun Raspberry dina pin GPIO Raspberry Pi anjeun ku kituna anjeun tiasa terang pin mana. Témplatna tiasa pas dina jalan mana waé, janten pastikeun anjeun turutan diagram di handap ieu. Salajengna anjeun badé nyambungkeun opat lead antara pin GPIO Raspberry Pi sareng papan Kualitas Udara sapertos kieu:
Raspberry Pi Pin (sakumaha ditandaan dina Daun) | Dewan Kualitas Udara (sapertos dilabélan dina konektor) | Warna kawat anu disarankeun. |
GND (sagala pin anu ditandaan GND bakal dilakukeun) | GND | Hideung |
3.3V | 3V | Beureum |
14 TXD | PI_TXD | oranyeu |
15 RXD | PI_RXD | Konéng |
Sakali sadayana disambungkeun, éta kedah sapertos kieu:Pariksa wiring Anjeun taliti lajeng kakuatan up Raspberry Pi Anjeun - boh kakuatan LED (dina logo MonkMakes) sarta salah sahiji LEDs ogé kudu caang.
Unplugging Board Kualitas Udara
Sateuacan miceun papan tina Raspberry Pi 400.
- Pareuman buah prambus Pi.
- Gently betah dewan kaluar deui Pi 400, edging eta saeutik ti unggal sisi dina gilirannana, ku kituna teu ngabengkokkeun pin.
Upami Anjeun gaduh Pi 2/3/4 ngan cabut kabel jumper tina buah prambus Pi.
Aktipkeun Interface Serial
Sanaos dewan bakal nunjukkeun tingkat eCO2 tanpa pamrograman, éta hartosna urang ngan ukur nganggo Raspberry Pi salaku sumber listrik. Pikeun tiasa berinteraksi sareng dewan tina program Python, dina Raspberry Pi kami, aya sababaraha léngkah anu kedah urang lakukeun.
Anu kahiji nyaéta ngaktipkeun antarmuka Serial dina Raspberry Pi, sabab antarmuka ieu anu dianggo ku dewan Kualitas Udara.
Jang ngalampahkeun ieu, pilih Préferénsi teras Konfigurasi Raspberry Pi tina ménu utama.
Pindah ka tab Interfaces sareng pastikeun yén Port Serial diaktipkeun sareng Konsol Serial ditumpurkeun.
Ngundeur Example Program
Mantanample program pikeun kit ieu sadia pikeun diundeur ti GitHub. Pikeun nyandak éta, mimitian jandela browser dina Raspberry Pi anjeun sareng angkat ka alamat ieu:
https://github.com/monkmakes/pi_aq Unduh arsip pos proyék ku ngaklik tombol Kode teras pilihan Unduh ZIP.Saatos unduhan parantos réngsé, ekstrak file files ti arsip ZIP ku manggihan ZIP file dina folder Undeuran anjeun teras klik-katuhu kana éta sareng pilih pilihan Extract To.
Pilih diréktori anu cocog (kuring bakal nyarankeun diréktori bumi anjeun - /home/pi) sareng nimba file files. Ieu bakal nyieun folder disebut pi_aq-main. Ganti ngaran ieu ngan pi_aq.
Thonny
Saanggeus diundeur program, Anjeun ngan bisa ngajalankeun eta tina garis paréntah.
Sanajan kitu, éta hadé nyandak katingal di files, sarta redaktur Thonny bakal ngidinan urang pikeun ngédit éta files sarta ngajalankeun aranjeunna.
Editor Thonny Python tos dipasang dina Raspberry Pi OS. Anjeun bakal mendakanana dina bagian Pemrograman dina ménu utama. Upami alesan naon waé éta henteu dipasang dina anjeun
Raspberry Pi, teras anjeun tiasa pasang nganggo pilihan menu Tambah / Hapus Software dina item Menu Preferensi.Bagian salajengna ngajelaskeun sakedik langkung seueur ngeunaan naon anu diukur sensor ieu, sateuacan urang teras-terasan berinteraksi sareng dewan Kualitas Udara nganggo Python sareng Thonny.
NGAMIMITIAN
Sateuacan urang ngamimitian program Python, hayu urang tingali Dewan Kualitas Udara.Indikator kakuatan LED di kénca luhur, nyadiakeun cek gancang yén dewan narima kakuatan. Di handap ieu mangrupikeun chip sensor suhu, sareng di gigireun ieu mangrupikeun chip sensor eCO2 sorangan. Lamun neuteup taliti dina eta, anjeun bakal nempo yén éta boga liang leutik pikeun hawa asup jeung kaluar. Langsung handapeun sénsor eCO2 aya buzzer, anu tiasa anjeun hurungkeun sareng pareum tina program anjeun. Ieu mangpaat pikeun nyadiakeun alarm. Kolom genep LEDs diwangun (ti handap ka luhur) dua LEDs héjo, dua LEDs jeruk jeung dua LEDs beureum. Ieu bakal terang nalika tingkat eCO2 anu ditandaan di gigireun unggal LED ngaleuwihan. Aranjeunna baris némbongkeun tingkat pas Raspberry Pi kakuatan up, tapi anjeun oge bisa ngadalikeun aranjeunna ngagunakeun Python.
Hayu urang mimitian ku nyobian kaluar sababaraha percobaan tina garis paréntah. Buka sési Terminal ku ngaklik ikon Terminal di luhureun layar anjeun, atanapi bagian Asesoris dina ménu Utama. Nalika terminal dibuka, ketik paréntah di handap ieu saatos $ ajakan, pikeun ngarobih diréktori (cd) sareng muka Python.
Buka modul aq lokal ku ngetik paréntah: >>> ti aq import AQ
>>> Teras jieun instance kelas AQ ku cara ngetik: >>> aq = AQ()
>>> Urang ayeuna tiasa maca tingkat CO2 ku ngetik paréntah: >>> aq.get_eco2() 434.0
>>> Janten dina hal ieu, tingkat eCO2 mangrupikeun 434 ppm seger. Nyanggakeun suhu ayeuna (dina derajat Celcius). >>> aq.get_temp()
20.32 Catetan: Upami anjeun nampi pesen kasalahan nalika ngajalankeun kodeu di luhur, anjeun panginten henteu acan dipasang GUIZero. Pitunjuk pamasangan di dieu:
https://lawsie.github.io/guizero/#raspberry-pi
PROGRAM 1. ECO2 METER
Nalika anjeun ngajalankeun program ieu, jandela anu sami sareng anu dipidangkeun di handap bakal dibuka, nunjukkeun anjeun suhu sareng tingkat eCO2. Coba nempatkeun jari anjeun dina sénsor suhu sareng bacaan suhu kedah naék. Anjeun ogé tiasa ngambekan hampang dina sénsor eCO2 sareng bacaanna kedah ningkat.Pikeun ngajalankeun program, muatkeun file 01_aq_meter.py di Thonny teras klik dina tombol Run.
Ieu kodeu pikeun proyék éta. Kodeu ngagunakeun perpustakaan GUI Zero anu anjeun tiasa baca langkung seueur ngeunaan Appendix B.
Pikeun ngidinan bacaan suhu jeung cahaya lumangsung tanpa interrupting workings sahiji panganteur pamaké, perpustakaan threading diimpor. Fungsi update_readings bakal loop salawasna, nyandak bacaan unggal satengah detik sarta ngamutahirkeun widang dina jandela.
Sesa kode nyadiakeun widang panganteur pamaké diperlukeun pikeun nembongkeun suhu sarta tingkat eCO2. Ieu diteundeun kaluar salaku grid, ku kituna sawah baris nepi. Jadi, unggal widang diartikeun ku atribut grid nu ngagambarkeun kolom jeung posisi baris. Janten, sawah anu ningalikeun téks Temp (C) aya dina kolom 0, baris 0 sareng nilai suhu anu saluyu (temp_c_field) aya dina kolom 1, baris 0.
PROGRAM 2. ECO2 méteran kalawan alarem
Program ieu ngalegaan Program hiji, ku ngagunakeun alat keur ngagolakkeun jeung sababaraha fitur antarbeungeut pamaké fancy, sangkan sora alarem jeung jandela ngahurungkeun beureum lamun tingkat set tina eCO2 ngaleuwihan. Geser di handapeun jandela nyetél tingkat eCO2 dimana buzzer kedah disada sareng jandelana beureum. Coba setel tingkat Alarm rada luhur ti éta
tingkat eCO2 ayeuna lajeng ngambekan on sensor.Di handap ieu kode pikeun Program 2, loba pisan sarupa Program 1. Wewengkon dipikaresep geus disorot dina bold.import threading
waktos impor
ti Guizero impor App, téks, slaider
ti aq impor AQ
aq = AQ()
app = App(judul = "Kualitas Udara", lebar = 550, jangkungna = 400, perenah = "grid")
def update_readings ():
sedengkeun Leres: temp_c_field.value = str(aq.get_temp()) eco2 = aq.get_eco2() eco2_field.value = str(eco2)
lamun eco2> slider.value: app.bg = "beureum" app.text_color = "bodas" aq.buzzer_on ()
sejenna: app.bg = "bodas" app.text_color = "hideung" aq.buzzer_off() time.sleep(0.5)
t1 = threading.Thread(target=update_readings)
t1.start () # ngamimitian thread nu ngamutahirkeun bacaan aq.leds_automatic ()
# nangtukeun panganteur pamaké
Téks (aplikasi, téks = "Temp (C)", grid = [0,0], ukuran = 20)
temp_c_field = Téks (aplikasi, téks = "-", grid = [1,0], ukuran = 100)
Téks (aplikasi, téks = "eCO2 (ppm)", grid = [0,1], ukuran = 20)
eco2_field = Téks (aplikasi, téks = "-", grid = [1,1], ukuran = 100)
Téks (aplikasi, téks = "Alarm (ppm)", grid = [0,2], ukuran = 20)
geser = Slider(aplikasi, ngamimitian = 300, tungtung = 2000, rubak = 300, jangkungna = 40, grid = [1,2]) app.display ()
Anu mimiti, urang kedah nambihan Slider kana daptar hal anu urang impor ti guizero.
Urang ogé kudu manjangkeun fungsi update_readings, ku kituna, kitu ogé mintonkeun suhu sarta tingkat eCO2, éta ogé pariksa ningali lamun tingkat luhur bangbarung. Upami kitu, éta nyetél latar tukang jandela ka beureum, téks ka bodas sareng hurungkeun buzzer. Lamun tingkat eCO2 sahandapeun bangbarung diatur ku slaider, eta reverses ieu, jeung ngahurungkeun alat keur ngagolakkeun buzzer pareum.
PROGRAM 3. DATA LOGGER
Program ieu (03_data_logger.py) teu gaduh antarmuka grafis. Ieu ngan nyarankeun anjeun ngasupkeun interval dina detik antara bacaan, dituturkeun ku ngaran a file
di mana pikeun nyimpen bacaan.Dina urutample luhur, sampling disetel ka 5 detik jeung file disebut bacaan.txt. Sawaktos Anjeun tos rengse logging data, CTRL-c bakal mungkas logging jeung nutup file.
Data disimpen dina format anu sami sareng anu dipidangkeun dina newak layar di luhur. Hartina, baris kahiji nangtukeun lulugu, kalawan unggal nilai dibatesan ku karakter TAB. The file disimpen dina diréktori anu sami sareng program. Saatos ngarebut data, anjeun teras tiasa ngimpor kana hamparan (sapertos LibreOffice) dina Raspberry Pi anjeun teras ngarencanakeun bagan tina data. Upami LibreOffice henteu dipasang dina Raspberry Pi anjeun, anjeun tiasa masangna nganggo pilihan Tambah / Hapus Software dina Menu Préferénsi.
Buka spreadsheet anyar, pilih Buka tina file menu, tur arahkeun ka data file rék nempo. Ieu bakal muka dialog impor (tingali kaca salajengna) némbongkeun
yén spreadsheet geus otomatis ngadeteksi kolom data. Pencét OK pikeun ngimpor data, teras pilih kolom pikeun bacaan eCO2. Anjeun teras tiasa ngagambar grafik bacaan ieu ku milih Bagan tina ménu Selapkeun, teras milih jinis Bagan Garis, dituturkeun ku Garis Ngan. Ieu masihan anjeun grafik anu dipidangkeun dina kaca salajengna.
Salaku ékspérimén, cobian ngantepkeun program logger ngajalankeun salami 24 jam pikeun ningali kumaha tingkat eCO2 robih sapopoe.
LAMPIRAN A. DOKUMENTASI API
Pikeun programer serius - ieu téh dokuméntasi teknis. The file monkmakes_aq.py teu dipasang salaku perpustakaan Python pinuh, tapi ngan kudu disalin kana folder sarua sakumaha kode sejenna nu kudu make eta. aq.py
modul monkmakes_aq.py mangrupakeun kelas nu wraps komunikasi serial antara buah prambus Pi anjeun sarta dewan Quality Air.
Nyiptakeun conto AQ: aq = AQ()
Maca bacaan eCO2
aq.get_eco2 () # mulih maca eCO2 dina ppm
Maca suhu dina derajat C
aq.get_temp() # mulihkeun suhu dina derajat C
Layar LED
aq.leds_manual () # Nyetél mode LED pikeun manual
aq.leds_automatic () # Nyetél mode LED ka otomatis
# supados LED nunjukkeun eCO2
aq.set_led_level(level) # level 0-LEDs pareum,
# tingkat 1-6 LED 1 nepi ka 6 cahayana
Buzzer
aq.buzzer_on()
aq_buzzer_off()
Kelas komunikasi sareng dewan sensor nganggo antarmuka serial Pi. Upami anjeun hoyong ningali detil antarmuka serial, mangga tingali lembar data pikeun produk ieu. Anjeun bakal manggihan tumbu ka ieu ti produk urang web kaca (http://monkmakes.com/pi_aq)
LAMPIRAN B. GUI NOL
Laura Sach sareng Martin O'Hanlon di The Raspberry Pi Foundation parantos nyiptakeun perpustakaan Python (GUI Zero) anu matak ngagampangkeun ngarancang GUI. Kit ieu nganggo perpustakaan éta.
Samemeh Anjeun bisa make perpustakaan, Anjeun kudu ngimpor bit eta nu Anjeun hoyong pake dina program Anjeun.
Pikeun exampLe, upami urang ngan ukur hoyong jandela anu ngandung pesen, ieu paréntah impor:
ti Guizero impor App, téks
Kelas App ngagambarkeun aplikasi sorangan, sarta unggal program anjeun nulis nu ngagunakeun guizero perlu ngimpor ieu. Hiji-hijina kelas anu diperyogikeun di dieu nyaéta Téks, anu dianggo pikeun nampilkeun pesen.
Paréntah di handap ieu nyiptakeun jandela aplikasi, nangtukeun judul sareng ukuran awal jandela.
app = App(judul = "Jandela Kuring", lebar = "400", jangkungna = "300")
Pikeun nambihan sababaraha téks kana jandela, urang tiasa nganggo garis: Text (app, text = "Hello World", ukuran = 32)
Jandéla ayeuna disiapkeun pikeun tampilan, tapi moal sabenerna muncul dugi program ngajalankeun jalur: app.display ()Anjeun tiasa mendakan langkung seueur ngeunaan guizero di dieu: https://lawsie.github.io/guizero/start/
PAMÉRÉSAN MASALAH
Masalah: Papan dipasang kana Pi 400 kuring tapi kakuatan LED henteu hurung.
Solusi: Pariksa yén pin GPIO dijejeran leres sareng stop kontak. Tingali kaca 4.
Masalah: Papan dipasang kana Pi 400 kuring tapi kakuatan LED berkedip-kedip gancang.
Solusi: Ieu nunjukkeun masalah sareng sensor. Kadang-kadang, sadaya anu diperyogikeun nyaéta pikeun ngareset kakuatan ku cara mareuman Raspberry Pi anjeun sareng hurungkeun deui. Upami anjeun ngalakukeun ieu sareng kedip-kedip terus, sigana anjeun gaduh papan anu lepat, janten mangga ngahubungi support@monkmakes.com
Masalah: Kuring nembé nyambungkeun sadayana, tapi bacaan eCO2 sigana salah.
Solusi: Jinis sensor anu dianggo dina Sensor Kualitas Udara MonkMakes, bakal ngamimitian ngahasilkeun bacaan ti mimiti anjeun nyambungkeunana. Nanging, bacaan bakal langkung akurat dina waktosna. Datasheet pikeun sensor IC nunjukkeun yén bacaan ngan ukur bakal akurat saatos 20 menit waktos jalan.
Masalah: Kuring meunang pesen kasalahan nalika kuring nyobian ngajalankeun example program.
Solusi: Catetan: Anjeun bisa jadi teu boga GUIZero dipasang. Mangga turutan parentah di dieu: https://lawsie.github.io/guizero/#raspberry-pi
Masalah: Abdi ngabandingkeun bacaan tina sénsor ieu sareng méter CO2 anu leres sareng bacaanna béda.
Solusi: Éta anu dipiharep. Sensor Kualitas Udara ngira-ngira konsentrasi CO2 (éta 'e' dina eCO2) ku cara ngukur tingkat sanyawa organik volatil (VOC). Sensor CO2 leres langkung mahal.
DIAJAR
Programming & Éléktronik
Upami anjeun hoyong diajar langkung seueur ngeunaan program Raspberry Pi sareng Electronics, maka desainer kit ieu (Simon Monk) parantos nyerat sababaraha buku anu anjeun pikaresep.
Anjeun tiasa mendakan langkung seueur ngeunaan buku ku Simon Monk di: http://simonmonk.org atanapi tuturkeun anjeunna dina Twitter dimana anjeunna @simonmonk2
MONKMAKES
Kanggo inpo nu langkung lengkep ihwal kit ieu, halaman imah produk aya di dieu: https://monkmakes.com/pi_aq
Kitu ogé kit ieu, MonkMakes ngadamel sagala jinis kit sareng gadget pikeun ngabantosan anjeun
proyék maker. Pilarian langkung seueur, ogé dimana mésér: https://www.monkmakes.com/products
Anjeun oge bisa nuturkeun MonkMakes on Twitter@monkmakes.
Dokumén / Sumberdaya
![]() |
Monk nyieun Kit Kualitas Udara pikeun buah prambus Pi [pdf] Parentah Kit Kualitas Udara pikeun Raspberry Pi, Kit Kualitas pikeun Raspberry Pi, Kit pikeun Raspberry Pi, Raspberry Pi, Pi |