Talaan ng mga Nilalaman:

AtmoScan: 7 Hakbang (na may Mga Larawan)
AtmoScan: 7 Hakbang (na may Mga Larawan)

Video: AtmoScan: 7 Hakbang (na may Mga Larawan)

Video: AtmoScan: 7 Hakbang (na may Mga Larawan)
Video: Ingatan Mo - Yayoi Corpuz feat. Serjo & JDK (Official Music Video) MC Beats, Team 420 2024, Setyembre
Anonim
Image
Image
Mga sensor
Mga sensor

**********************************************************************************************

BALITA

Pumunta sa aking GitHub para sa:

- Ang ilang mga maliliit na pagbabago sa hardware ay nagpapabuti sa disenyo, kasama ang kakayahang patayin ang sarili nito mula sa software, na inaayos ang isa sa pinakamalaking drawbacks ng disenyo - kung paano hawakan ang mababang baterya.

- Ang isang disenyo ng PCB v2 ay nai-publish na kasama ng isang gabay upang madaling mailapat ang pagbabago sa mga board V1.0.

- Mga file ng CAD para sa kumpletong enclosure

Ang bagong enclosure ay katulad ng larawan sa itaas … mabuti, nang walang goma

****************************************************************************************

Ang ATMOSCAN ay isang aparato na multisensor na naglalayong subaybayan ang kalidad ng panloob na hangin. Habang maraming mga proyekto ang nai-publish na may katulad na layunin, ang isang ito ay isang kumpletong sistema sa isang compact, self-nilalaman na pakete na nagbubuod sa kanilang lahat. Ito ay may isang display ng kulay ng LCD, oras at lokasyon na may kamalayan, kontrolado ito ng kilos at nag-post ito sa ThingSpeak (o iba pa) sa pamamagitan ng MQTT, ngunit maaaring hawakan nang maayos ang mga nakakonektang operasyon at muling pagkakakonekta. Gamit ang naka-embed na rechargeable na baterya tumatagal ito ng isang buong araw kapag na-disconnect mula sa lakas.

Gumagamit ito ng isang multitasking framework ng kooperatiba at napaka tumutugon sa input ng gumagamit habang ang mga sensor ng sampling, paghawak ng UI, pag-post sa MQTT. Sa katunayan pinipiga nito nang kaunti ang maliit na ESP8266. Ginagawa ito sa pamamagitan ng pagsasama ng isang bilang ng mga bukas na pinagmulan ng aklatan at paggamit ng mga serbisyo sa web sa internet.

Ang mga kredito para sa mga aklatan ay pumupunta sa isang bilang ng mga nag-aambag, tingnan sa paglaon.

Ang musika sa video ay matatagpuan DITO

Hakbang 1: Mga Sensor

Sinusukat ng Atmoscan ang isang bilang ng mga variable:

  • Temperatura
  • Humidity
  • Presyon
  • CO2
  • CO
  • NO2
  • VOC (pabagu-bago ng isipong mga organikong compound, isang tagapagpahiwatig ng Kalidad ng Air)
  • PM 01
  • PM25
  • PM10
  • Radiation

Upang gawin ito isinasama nito ang isang bilang ng mga discrete sensor

  • BME280 (hal. Link)
  • PMS7003 (hal. Link)
  • MH-Z19 (hal. Link)
  • HDC1080 (hal. Link)
  • MiCS6814 (Link)
  • MP503 (Link)
  • LND-712 Geiger tube (Link, nahanap ko ito sa Europa dito Link o dito Link) na may mataas na boltahe na module (Link)

Narito ang Mga Data Sheet.

Hakbang 2: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Ang Atmoscan ay madaling maitayo gamit ang isang NodeMCU o anumang iba pang board ng ESP8266 at ilang mga madaling magagamit na mga sangkap, tulad ng mga shifters sa antas at mga regulator ng boltahe, kung susuko ka sa pinagsamang charger ng baterya.

Habang gumawa ako ng prototype na may magkakahiwalay na mga bahagi, para sa pangwakas na bersyon ay dinisenyo ko ang isang tukoy na board na isinasama ang lahat ng mga pag-andar at nagbibigay ng maayos na mga konektor para sa mga sensor, LEDs para sa katayuan (Blue = koneksyon ng kuryente; Pula = singilin).

Magagamit ang mga file ng Eagle PCB DITO.

Partikular, ang board ay nagsasama:

  • Nagcha-charge ang circuitry batay sa MAX8903A (Link)
  • One-button on / off na lohika
  • Module na ESP12E
  • Logika ng programa
  • Level shifter
  • LCD Driver ng backlight
  • 3.3V Step-Up / Step-Down Voltage Regulator batay sa Pololu S7V8F3 (Link)
  • 5V Step-Up Voltage Regulator batay sa Pololu U1V10F5 (Link)
  • Ang LiPo Fuel Gauge batay sa SparkFun TOL10617 (Link)

Ang display ay isang 2.8 TFT 320x240 batay sa isang ILI9341 chip (Link).

Ang sensor ng kilos ay batay sa PAJ7620U2 chip (Link), na mas mahusay kaysa sa murang APDS9960 na bumubuo ng tuluy-tuloy na pagkagambala at hindi gagana sa pamamagitan ng plexiglas.

Ang mga sensor ay mas gutom sa kapangyarihan, kaya upang magarantiya ng hindi bababa sa 24h awtonomiya gumawa ako ng isang pack na may 3 x 5000mAh LiPo 105575 na mga baterya (Link). Sa katunayan, 2 ay maaaring sapat. Nagpupumilit ang MAX8903 charger na singilin ang nagresultang 15, 000mAh pack.

TANDAAN - Tulad ng Nakikita sa mga LARAWAN:

  • Ipinapakita ang mga posisyon ng mga konektor
  • Ang puwang ng SD card ay kailangang masira mula sa display kung nais mong umangkop sa enclosure
  • Kailangan mong gumawa ng isang maliit na bingaw sa PCB upang hindi makagambala sa fan (ang notch ay nasa fashion pagkatapos ng iPhone X). Naitama sa PCB V2

Ang mga pagpapaikli ng mga konektor sa PCB ay ang mga sumusunod:

  • PRS: Barometric Pressure Sensor (batay sa BME280) TANDAAN: mai-mount nang direkta sa PCB
  • VOC: Grove - Air quality sensor v1.3 (batay sa MP503)
  • TMP: Mataas na Katumpakan Digital Humidity at Temperature Sensor (batay sa HDC1080)
  • PMS: PMS7003 Digital sensor ng konsentrasyon ng maliit na butil
  • GAS: Grove - Multichannel Gas Sensor (batay sa MiCS6814)
  • GES: Grove - Gesture sensor (batay sa PAJ7620U2)
  • RAD: Geiger tube (sa pamamagitan ng Mataas na Boltahe Geiger Probe Driver Power Supply Module 400V / 500V na may TTL Digitized Pulse Output)
  • CO2: MH-Z19 infrared CO2 gas sensor
  • U1V10F: 5V Step-Up Voltage Regulator batay sa Pololu
  • U1V10F5 S7V8V3: 3.3V Step-Up / Step-Down Voltage Regulator batay sa Pololu S7V8F3
  • TOL10617: Sparkfun LiPo Fuel Gauge
  • LCD: display ng ILI9341

Hakbang 3: Enclosure

Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure

Ang enclosure ay nagmula sa isang plexiglas 10x10x10 cm cube container na binili ko sa ebay at ito ay inilaan para sa isang ganap na magkakaibang paggamit. Ito ay may magagandang puwang ng bentilasyon na eksaktong kinakailangan. Ang dami ay nasa prinsipyo na sapat upang mai-pack ang buong hanay, maliban na hindi madali … ilang mga maagang pagtatangka batay sa mga karton na mockup ay nabigo nang malungkot kaya sumuko ako at nasayang ang ilang oras sa isang 3D CAD at nagkaroon ako ng panloob na pagsuporta sa hiwa ng laser. Ang panloob na puwang ay nahahati sa mga compartment upang ang sensor ng temperatura ay malayo hangga't maaari mula sa panloob na mga mapagkukunan ng init. Habang ang panlabas na enclosure ay gawa sa 3mm na materyal, ang tuktok ay gawa sa 2 + 1mm sheet. Pinapayagan ng trick na ito ang pagkakaroon ng sensor ng kilos na natatakpan ng 1mm acrylic lamang at sapat na ito upang gumana ito.

Ang ilang mga pagbabago ay kailangang gawin sa mga tool ng kamay sa orihinal na enclosure, tulad ng mga butas ng fan, switch at USB. Ang resulta ay gayunpaman disente!

Ang mga file ng CAD ay DITO.

Hakbang 4: Assembly ng Mekanikal

Pagpupulong sa Mekanikal
Pagpupulong sa Mekanikal
Pagpupulong sa Mekanikal
Pagpupulong sa Mekanikal
Pagpupulong sa Mekanikal
Pagpupulong sa Mekanikal

Ang pakete ay napaka siksik ngunit salamat sa disenyo ng 3D cad nagkaroon ako ng ilang mga sorpresa kapag tipunin ito.

Ang sirkulasyon ng hangin (mula sa itaas hanggang sa ibaba) ay natiyak ng isang maliit na fan. Matapos bumili ng isang patas na numero sa Aliexpress / eBay, napagtanto ko na ang ingay ng murang mga tagahanga ay hindi maagaw para sa isang panloob na aparato. Natapos akong bumili ng isang medyo mahal, mabagal na pag-on ng Papst 255M (Link) at pinakain ko ito ng mas mababa sa 5V sa pamamagitan ng isang pares ng mga diode. Ang resulta ay mabuti at tahimik na sapat upang hindi mapansin (kahit na naaprubahan ng asawa, ang pinakamahirap na sertipikasyon).

Hakbang 5: Software

Software
Software
Software
Software
Software
Software
Software
Software

Ang arkitektura ng software ay batay sa isang framework na oriented ng Object na nagpapatakbo ng maraming (kooperatiba) na mga proseso na humahawak sa UI, sensor at MQTT. Ito ay lokasyon at may kamalayan sa oras ngunit maaaring hawakan ang pagkakakonekta / muling pagkakakonekta sa WiFI.

Ang balangkas ay bukas at maaaring pamahalaan ang anumang bilang ng mga screen, hangga't ang kanilang code at mga mapagkukunan ay umaangkop sa memorya ng Flash. Hinahawakan ng framework ng application ang mga kilos at ipinapasa ito sa mga screen, para sa karagdagang paghawak o pagkansela kung kinakailangan. Ang mga galaw na pinamamahalaan ng balangkas ay:

  • Mag-swipe pakaliwa / pakanan - Baguhin ang screen
  • (Finger) Clockwise swirl - Turn screen
  • (Daliri) Pag-ikot ng pag-ikot - Mag-apply ng screen sa pag-setup
  • (Kamay) Mula sa malayo upang isara - I-off ang display

Ang mga screen ay nagmamana mula sa isang batayang klase at pinamamahalaan sa pamamagitan ng sumusunod na modelo ng kaganapan:

  • isaaktibo - fired isang beses, kapag ang screen ay lumikha
  • update - pana-panahong tinawag upang i-update ang screen
  • huwag paganahin - tinawag nang isang beses, bago ang screen ay natanggal
  • onUserEvent - tinawag kapag nag-trigger ang sensor ng kilos. Pinapayagan na tumugon at i-override din ang default na paghawak ng kaganapan, hal. i-abort ang swipe upang baguhin ang screen

Ipinapahayag ng bawat screen ang mga kakayahan nito sa pamamagitan ng pagbibigay ng sumusunod na impormasyon:

  • getRefreshPeriod - kung gaano kadalas kailangan ng pag-refresh ng screen
  • getRefreshWithScreenOff - kung nais ng screen na ma-refresh kahit na naka-backlit ang backlit. hal. para sa mga tsart
  • getScreenName - pangalan ng screen
  • isFullScreen - kontrolin ang buong display, o payagan ang tuktok na bar na may petsa / oras / lokasyon / gauge ng baterya / gauge ng wifi

Ang balangkas ay nakapagpatibay at nakikipag-ugnay sa mga screen sa pamamagitan ng isang nagpapahayag na pabrika ng klase. Ang dinamikong paglalaan ay nakakatipid ng RAM at ginagawang madaling napapalawak ang aparato. Ang pangkalahatang balangkas ng aplikasyon ay magagamit din para sa iba pang mga proyekto.

Ang mga screen na kasalukuyang ipinatupad sa Atmoscan ay:

  • Mga halaga ng sensor
  • Tsart ng geiger / semilog
  • Kalagayan ng sistema
  • Error log
  • Weather Station
  • Spotter ng Plane
  • Pag-set up
  • Mahina na ang baterya

Pinapayagan ng mga screen ng Pag-setup ang setting ng mga kredensyal ng Wifi, mga channel ng MQTT, Syslog server.

BAGO sa v2.0: ang lahat ng mga susi sa mga serbisyo sa web ay mai-configure na ngayon sa pamamagitan ng portal ng pagsasaayos. Ang tanging halaga na pa-hardcoded ay ang password ng OTA (uppercase ATMOSCAN).

TANDAAN 1: Ang unang programa ay dapat gawin sa isang USB-Serial cable na konektado sa konektor ng programa. Tulad ng serial port ay inookupahan ng isang sensor, ang pag-debug at pag-program sa ganoong paraan ay hindi praktikal pagkatapos ng pagpupulong dahil kakailanganin nito ang pag-detach ng sensor. Samakatuwid sinusuportahan ng software ang pag-debug ng SYSLOG at mga pag-update ng OTA.

TANDAAN 2: Ang ATMOSCAN binary ay higit sa 700Kb at hinihiling ng ArduinoOTA ang puwang ng programa na hindi bababa sa dalawang beses ang laki ng imahe, na pinipigilan ang pagpipiliang "4M (3M SPIFFS)". Gayunpaman, ang pamantayang pagpipiliang "4M (1M SPIFFS)" ay hindi angkop din dahil ang paghati ng SPIFFS ay hindi sapat para sa mga mapagkukunang grapikong nauugnay sa istasyon ng panahon, spotter ng eroplano at para sa confing file. Samakatuwid ang isang pasadyang pagsasaayos na "4M (2M SPIFFS)" ay nilikha upang malutas ang isyu. Paliwanag dito.

Ang dokumentasyon at buong source code ay magagamit dito.

CREDITSINCLUDES CODE & LIBRARIES MULA SA

  • Adafruit
  • Arcao
  • Bblanchon
  • Bodmer
  • ClosedCube
  • Gmag11
  • Knolleary
  • Lucadentella
  • Nakita
  • Squix78
  • Tzapu
  • Wizard97

INTEGRATE WEB SERVICES MULA SA

  • Adsbexchange.com
  • GeoNames.org
  • Google.com
  • Mylnikov.org
  • Timezonedb.com
  • Wunderground.com

Hakbang 6: Gawin itong Mas Mabuti

Gawin itong Mas mahusay!
Gawin itong Mas mahusay!

Ang resulta ay hindi masama! Ang software ay mukhang mahusay at maaasahan, habang maaari itong mapalawak sa mga bagong tampok at marahil ay nalinis nang kaunti upang gawin ang application framework na tunay na magagamit muli para sa iba pang mga proyekto. Ang pagkakalibrate ng ilang mga sensor ay hindi maganda, ngunit kailangan ang mga kagamitan sa pagsubok sa lab. Mahalaga ang oras at wala akong masyadong, kaya mabagal ang pag-unlad. Sa oras na natapos ako, ang disenteng suporta para sa ESP32 ay magagamit. Kung sinimulan ko ito ngayon, gagamitin ko ito at isasama ang mga panlabas na sensor sa pamamagitan ng bluetooth.

Sinuman?

TANDAAN: Mayroon pa akong kaunting mga PCB kaya kung may interesado magagamit sila sa nominal / presyo ng selyo.

Hakbang 7: Mga Tanong at Sagot

mga tanong at mga Sagot
mga tanong at mga Sagot
mga tanong at mga Sagot
mga tanong at mga Sagot

Una sa lahat, SALAMAT sa iyong labis na positibong mga komento. Sa totoo lang hindi ko inaasahan ang gaanong interes.

Nakatanggap ako ng isang bilang ng mga katanungan alinman sa pamamagitan ng mga komento o pribadong mensahe, kaya naisip kong kolektahin ang mga sagot dito. Kung dapat maraming dumating, magdagdag ako.

Natagpuan ko sa likuran ng isang drawer ang 8 magagamit na mga PCB - at papunta na sila sa Belgium, Alemanya, India, USA, Canada, UK, Australia. Wow, 3 kontinente! Kamangha-mangha

Ano ang ilalagay ko sa pahina ng pagsasaayos ng ATMOSCAN?

Ang pahina ng pagsasaayos ng Atmoscan ay nangangailangan ng mga sumusunod na parameter:

  • SSID at password ng WiFi network na nais mong kumonekta dito
  • MQTT server na ginagamit mo. Halimbawa, gumagamit ako ng mqtt.thingspeak.com
  • Ginamit ang string ng koneksyon para sa mga paksang MQTT. Halimbawa, ang mga paksa ng Thingspeak MQTT ay nasa format: mga channel / CHANNEL-ID / publish / WRITE-API (HALIMBAWA: mga channel / 123456 / publish / 567890)
  • Syslog server: ang IP ng syslog server na ginagamit mo para sa pag-log
  • Google key para sa Maps Static API. Kumuha ng isang susi mula sa https://console.cloud.google.com/apis/dashboard. Lumikha ng isang proyekto; Ang API na ginagamit ng Atmoscan ay https://maps.googleapis.com/maps/api/staticmap. Lumikha ng isang susi para sa API na ito sa proyekto sa google na iyong nilikha, gamitin ito dito
  • Weather Underground key. Lumikha ng isang account sa www.wunderground.com, pumunta sa WEATHER API (link sa ilalim ng home page, pumunta sa KEY SETTINGS, bumuo ng isang susi, gamitin ito dito
  • Geonames account. Lumikha ng isang account sa https://www.geonames.org/ paganahin ito upang magamit ang libreng mga serbisyo sa web at ilagay dito ang username
  • Key ng TimeZoneDB. Lumikha ng isang account onhttps://timezonedb.com/, lumikha ng isang susi, ilagay ito dito

Paano ko mai-configure ang Thingspeak?

Kailangan mo ng 3 Thingspeak channel. Ginagamit ang mga patlang tulad ng sumusunod:

CHANNEL 1 mga patlang

  1. TEMPERATURE
  2. HUMIDITY
  3. PAMIGIT
  4. PM01
  5. PM2.5
  6. PM10
  7. CPM
  8. RADIATION

CHANNEL 2 mga patlang

  1. CO
  2. CO2
  3. NO2
  4. VOC

CHANNEL 3 na patlang (System channel)

  1. UPTIME SA MINUTES
  2. LIBRENG TANGGOL SA BYTES
  3. WIFI RSSI (SIGNAL SA DBM)
  4. BATTERY VOLTAGE
  5. LINEAR SOC (BATTERY STATE OF CHARGE% - linear na pagkalkula, proporsyonal sa boltahe)
  6. NATIVE SOC (BATTERY STATE OF CHARGE% - tulad ng iniulat ng gauge. Tulad ng nabasa mula sa gauge. TANDAAN: sinabi ng gauge na 0% kapag umabot sa 3.6v habang ang mga baterya ay maaaring maipalabas nang medyo malayo, sasabihin sa itaas ng 3v. Ang mas mababang limitasyon, kung saan pinapatay ng ATMOSCAN ang sarili, ay isang # kahulugan sa globaldefinitions.h file)
  7. SISTEMA TEMPERATURE (mula sa bme280, direktang naka-mount sa board)
  8. SYSTEM HUMIDITY (mula sa bme280, direktang naka-mount sa board)

Napaka-compact ng PCB. Paano ko hihihinang ang mga SMD device, lalo na ang MAX8903A IC?

Una, iminumungkahi kong tanungin mo ang iyong sarili kung nais mong makapasok sa SMD o kung ito ay isang one-off- Kung ang huli, marahil ay hilingin sa isang tao na gawin ito para sa iyo. Kung nais mong gawin ang hamon sa SMD, mamuhunan nang kaunti at makuha ang wastong mga tool (panghinang, pagkilos ng bagay, isopropylic alkohol maliit na bakal, hot gun, sipit, isang murang USB camera, isang may hawak ng PCB). Sa panahong ito ito ay murang bagay. Pagkatapos manuod ng isang video sa YouTube - mayroong kalahating milyon - at gumugol ng ilang oras sa isang lumang PCB na maaari mong isakripisyo at i-de-solder / malinis / maghinang ang ilang mga sangkap. Hindi ka maniniwala kung gaano ito nakapagtuturo, upang malaman kung ano ang aasahan, makakuha ng tamang temperatura atbp Nagsasalita mula sa karanasan … Sinimulan ko ang SMD na binago ang display konektor sa isang iPod touch at pinatay ko ang una!

Sa katunayan ang Atmoscan PCB ay siksik at ang IC na iyon ay hindi isang madaling isa. Muli, hindi ko inirerekumenda na gawin mo ito bilang iyong unang SMD paghihinang. Ang QFN ay hindi isang magiliw na pakete kahit na naghinang ako ng isang numero sa ngayon. Hindi ka nakakatiyak na nakuha mong tama…

Sa Atmoscan solder ko muna ito, pagkatapos ay ang mga nakapaligid na bahagi nito upang masubukan ko na gumagana ang bahagi ng singilin ng board, pagkatapos ay nakumpleto ko ang lahat ng natitira. Mula sa mga nakalakip na larawan dapat mong mapaghihinuha ang oryentasyon ng mga sangkap. Gumamit ako ng mga pampublikong library ng bahagi ng domain at ang orientation ay hindi masyadong maliwanag sa silkscreen.

Ang aking paraan: Una kong inilagay ang ilang mga panghinang sa mga pad na may bakal. Pagkatapos ng maraming pagkilos ng bagay (SMD tiyak) at maingat kong nakaposisyon ang IC na may sipit. Pagkatapos ay pinainit ang buong bagay sa paligid ng 200 / 220C (sa ibaba ng natutunaw na punto) upang maiwasan ang mga tensyon dahil sa hindi pantay na pag-init. Pagkatapos ay pinalakas ko ang temperatura sa 290C o higit pa at sa paligid ng IC. Kung maglagay ka ng isang piraso ng panghinang sa isang kalapit na pad makikita mo kapag ang temperatura ay nasa lebel ng pagkatunaw, dahil ito ay lumiwanag.

Pagkatapos nito ay nilinis ko ito sa isopropylic na alak at maingat na siniyasat ito sa isang murang USB cam. Karaniwang mga isyu ay ang pagkakahanay at dami ng panghinang, dahil ang ilang mga pin ay maaaring hindi maiugnay. Sa ilang mga kaso kailangan kong bumalik dito gamit ang isang maliit na bakal na panghinang upang magdagdag ng higit pang panghinang sa ilang mga pin, dahil ang IC na ito ay may isang thermal pad sa ilalim na kailangan ding maghinang. Ginagawa nitong medyo nakakalito upang hulaan ang dami ng panghinang at maaaring mangyari na ang labis na panghinang sa ilalim ay maaaring itaas ito upang ang mga pin ay hindi hawakan ang PCB.

Nasabi na, ayokong takutin ka. Nakumpleto ko ang 3 board at hindi ko pinatay ang mga IC na ito … Kapag kinailangan ko ring alisin ito, linisin at muling simulan mula sa simula ngunit gumana ito sa huli. Muli, hindi napakadali ngunit magagawa.

Saan mo binili ang mga sangkap?

Karamihan sa eBay at Aliexpress. Gayunpaman, ang mga may tatak ay orihinal (Kita, Pololu, Sparkfun).

Sumusunod ang ilang mga link na INDICATIVE. Tandaan: tumingin sa paligid, maaari kang makahanap ng mas murang mga deal …

www.aliexpress.com/item/ESP8266-Remote-Ser…

www.aliexpress.com/item/PLANTOWER-Laser-PM…

www.aliexpress.com/item/High-Accuracy-BME2…

www.aliexpress.com/item/Free-shipping-HDC1…

www.aliexpress.com/item/J34-F85-Free-Shipp…

www.aliexpress.com/item/30pcs-A11-Tactile-…

www.aliexpress.com/item/10PCS-IRF7319TRPBF…

www.aliexpress.com/item/120PC-Lot-0805-SMD…

www.aliexpress.com/item/100pcs-sma-1N5819-…

www.aliexpress.com/item/Free-Shipping-100P…

www.aliexpress.com/item/Chip-Capacitor-080…

www.aliexpress.com/item/92valuesX50pcs-460…

www.aliexpress.com/item/170valuesX50pcs-85…

www.aliexpress.com/item/Si2305-si2301-si23…

www.aliexpress.com/item/100pcs-lot-SI2303-…

www.aliexpress.com/item/20pcs-XH2-54-2-54m…

www.aliexpress.com/item/10pcs-SMD-Power-In…

Unang programa Ang board ng Atmoscan ay nagsasama ng isang circuitry ng programa na umaayon sa NodeMCU. Karaniwang ginagamit ang serial na koneksyon para sa unang programa. Pagkatapos nito, ang programa ng OTA sa pamamagitan ng wifi ang ginustong pagpipilian, dahil maaari itong gawin sa yunit na buong tipunin. Huwag kalimutan na ang serial port ay karaniwang ginagamit ng sensor ng maliit na butil!

Upang mai-program ang board na may serial, isang USB-Serial adapter (hal. FTDI232 o katulad) ay dapat na konektado sa J7 konektor (sa tabi ng pindutan ng pag-reset) kasunod sa pinout sa eskematiko. Ang programa ay maaaring ma-upload nang walang mga sensor na nakakonekta, maliban sa makagambala na linya ng geiger sensor ay dapat na konektado sa GND, kung hindi man ang board ay hindi mag-boot (upang gawin ito, ikonekta ang mga pin na 1 at 3 sa konektor ng RAD). Ang pinakamadaling paraan upang subukan ang board nang hindi ginagamit ang pangunahing sketch - samakatuwid nang walang pagiging kumplikado ng mga sensor - ay i-upload ang ITONG simpleng programa sa pamamagitan ng serial cable. Lumilikha ito ng isang access point ng wifi na nagbibigay-daan sa karagdagang pag-flash sa pangunahing programa.

MAHALAGA: Huwag kalimutang gamitin ang pagsasaayos ng 4M / 2M SPIFFS ayon sa itinuturo, kung hindi man ang pangunahing programa ay hindi magkasya. Ang lupon ay dapat na ipasimula sa pamamagitan ng serial programming kasama ang pagsasaayos na iyon, kung hindi man ay maaaring may mga isyu ka sa OTA sa paglaon.

Sa kasamaang palad ang ilang pauna-unahang mga sensor ay humaharang kung ang mga sensor ay wala (depende sa nagbibigay ng silid-aklatan). Ang isang halimbawa ay ang library ng multigas sensor. Upang matiyak na maayos ang Atmoscan boots gamit ang buong firmware, maaari mong hindi paganahin ang kaugnay na proseso, tingnan ang nauugnay na Q&A point. Ang isang simpleng paraan upang hindi paganahin ang LAHAT ng mga sensor para sa pagsubok ay upang bigyan ng puna ang linya #define ENABLE_SENSORS sa GlobalDefinitions.h file.

Kapag na-boot ng board ang pangunahing sketch sa kauna-unahang pagkakataon, dapat itong makilala na hindi ito naka-configure at dapat buksan ang isang wifi hotspot, kung saan maaari mong ikonekta at i-set up ito. Kabilang sa mga setting, mayroong isang syslog server na makakatulong sa lubos na pag-debug. Maaari mo ring dagdagan ang antas ng pag-log sa pamamagitan ng pag-unsment sa # tukuyin ang DEBUG_SYSLOG sa GlobalDefinitions.h file. Mangyaring tandaan na sa parehong file mayroon ding isang # tukuyin DEBUG_SERIAL na ginamit sa panahon ng paunang pag-debug. Kung hindi kumpleto ay naglalabas ito ng _ ilang mga natitirang pag-log, ngunit minimal. Ang isang ToDo item ay palaging gumawa ng pare-pareho ang pag-log at mapipili ngunit wala akong oras upang linisin ito.

Nabago mo ba ang mga aklatan na iyong ginamit, mayroon bang kinakailangang pagsasaayos? (taliwas sa pag-download at pag-compile)

Magandang tanong, nakalimutan kong banggitin ang puntong iyon. Sa katunayan mayroong ilang mga mod / config na kinakailangan:

  • Library https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - mga pahayag ng serial debug. Kailangang ma-comment out, dahil ang serial port ay ginagamit para sa isang sensor!
  • Library https://github.com/Bodmer/TFT_eSPI - nangangailangan ng isang config file kung saan tinukoy ang pagtatalaga ng pin at dalas ng SPI
  • Library https://github.com/lucadentella/ArduinoLib_MAX1704… - Sa pagtingin sa mga komento at paghiling ng mga kahilingan napansin kong mayroong isang pag-aayos ng bug na hindi kailanman na-merge

Sa pagkakaalala ko ay dapat na. Ipaalam sa akin kung may anumang mga problemang lumitaw.

TANDAAN: Mangyaring mag-refer sa mga komento sa pinakabagong source code - naglalaman ng mga link sa lahat ng kinakailangang aklatan at pinapanatiling napapanahon

Bakit may ilang mga sensor na nagbabasa ng pula at ilang berde sa video / larawan?

Isinasaad ng kulay ang kalakaran. Nagsisimula itong puti at kung ang pag-akyat ay pula, kung ang pagbaba ay berde.

Paano mo mahawakan ang naaanod ng mga sensor sa paglipas ng panahon? Gaano kabuti ang mga sensor na ito? Ano ang nakikita ko sa mga sensor na ito?

Sa totoo lang hindi ito pang-agham na sukat ng pagsukat. Upang i-calibrate kakailanganin ko ang mga kagamitan na wala akong magagamit. Ito ay talagang isang proyekto sa alagang hayop. Sinubukan ko ang maraming mga sensor. Ang maliit na butil, CO2, temperatura, halumigmig, presyon, Geiger ay mas mabuti sa palagay ko. Sa NO2 Mayroon akong mga reserbasyon sa pagkakalibrate at pangkalahatang disenyo, ngunit walang gaanong magagamit. Sa pangkalahatan, ang mga ito ay pangunahing sensor.

Gayunpaman, ang kombinasyon ay sapat na sapat upang maipakita ang mga bagay na hindi mo inaasahan.

Sa Atmoscan sa sala at sa kusina isang silid ang layo, nakita nito ang napakalaking tuktok ng mga particle kapag hal. Pagprito ng mga bagay-bagay. Nararamdaman ang NO2 mula sa trapiko sa umaga kahit na sarado ang mga bintana.

Kailangan ba talaga ang isang counter ng Geiger? Nagpapakita ba ito ng anumang kapaki-pakinabang?

Sa kabutihang-palad wala pa kaming mga insidente sa nukleyar at ang digmaan ay hindi pa darating … Gayunpaman, may mga planta ng nukleyar na hindi ganoon kalayo at ang gobyerno ay namamahagi ng iodine pills para sa mga bata na itatago sa drawer kung sakaling may mga insidente … kaya't naghihinala ako. Sa ngayon sasabihin kong ang mga pagbasa ay eksaktong naaayon sa inaasahang background radiation (0.12 uSv / h)

Ano ang kabuuang halaga ng aparato?

Marami na akong mga sangkap sa bahay at ang mga link sa itaas ay magbibigay sa iyo ng isang ideya. Sa totoo lang, kung bibili ka ng isang nakahandang NetAtmo o katulad mo ay nakakatipid ng pera. Hindi mo matatalo ang isang kumpanyang Tsino na gumagawa ng mga bagay sa sukatan! Gayunpaman, kung nasisiyahan ka sa paggawa marahil kasama ng iyong mga anak, sulit ito. Ang magandang bahagi ay nasubukan ko na (at itinapon) ang isang bilang ng mga sensor para sa iyo ….

Paano ang tungkol sa mga PCB? Maaari mo ba akong ibenta ng isa?

Orihinal na mayroon akong 10 sa mga ito na ginawa ng dustypcbs.com at ang aking mga file ay nagtrabaho nang maayos. Mahusay na kalidad at sapat na murang, 25USD / 20Euro para sa 10 PCBs. Gumamit ako ng dalawa at masaya akong ipadala ang mga natitira para sa walang bayad na gastos (2 Euro + padala, depende sa lokasyon at mga kagustuhan sa pagpapadala). Natatakot akong pumili ako ng mga una na nagpapadala sa akin ng isang pribadong mensahe.

Maaari ka bang gumawa ng isang kit o isang kampanya sa kickstarter?

Mapang-akit, ngunit sa totoo lang hindi ko akalain na sapat na makabago ito … at bukod sa, WALANG PANAHON !!

Gayunpaman, kung may kukuha ng ideya, kakailanganin ang pangalawang pag-ulit. Mayroong ilang mga matalim na gilid sa disenyo na nagkakahalaga ng pagwawasto, ngunit muli ay wala akong sapat na oras para sa V2.

Sa Hardware: Maaari ba akong magdagdag / mag-alis ng isang sensor, ang screen atbp upang mapalawak ang mga kakayahan / bawasan ang pagkonsumo ng kuryente?

Ang display ay konektado nang hindi gumagamit ng MISO samakatuwid ang CPU ay hindi kailanman nagbabasa mula sa display. Samakatuwid hindi mo maaaring ikonekta ang display ant na gagana lamang ito. Sa nasabing gayon, ang display ay nakabukas lamang para sa ilang oras pagkatapos na nakita ang huling kilos kaya't hindi talaga ito nakakaapekto sa pagkonsumo ng kuryente.

Ang mga sensor ay sa halip ay gutom sa lakas at ang buong bagay ay gumagamit ng madaling 400 / 500mA. Huwag kalimutan ang fan at din ang katotohanan na ang sensor ng maliit na butil ay mayroon ding built-in na tagahanga. Ang ESP ay hindi rin pumunta sa mode ng pagtulog, dahil sa kakulangan ng mga GPIO pons. Gayunpaman, marahil ay nai-save ang 20mA…

Ang software ay modular at madali mong maidaragdag / alisin ang mga proseso at screen upang magdagdag ka ng mga sensor o magaan ang kapangyarihan sa pamamagitan ng pag-aalis ng ilan, kung nais mo. Ang tanging limitasyon ay ang bilang ng mga GPIO pin. Gayunpaman, ang mga sensor ay maaaring madaling maidagdag kung I2C, o kahalili isang I2C expander ay maaaring magamit upang magdagdag ng mga GPIO …

Upang hindi paganahin ang isang sensor, halimbawa upang subukan ang isang bahagyang pagbuo, ang pinakamahusay na paraan sa aking palagay ay hindi upang simulan ang kaugnay na proseso. Maaari itong magawa sa pamamagitan ng pagkomento sa nauugnay na paganahin () na tawag sa walang bisa na startProcesses () na pag-andar sa pangunahing.ino file. Maliban kung nais mong baguhin ang istraktura ng system, hindi ko aalisin ang mga proseso nang kabuuan dahil ang mga proseso ng screen at MQTT ay i-poll ang mga ito. Sa ganitong paraan dapat lamang silang bumalik ng zero. Mangyaring tandaan na ang makagambala na input para sa geiger board ay hilahin pababa kung hindi nagamit, kung hindi man ay hindi mag-boot ang board.

Ano ang mga pagpapabuti na nais mong gawin kung may oras ka para sa isang V2.0?

Wala sa anumang partikular na pagkakasunud-sunod..

  • Maaaring maiwasan ng PCB ang tanso sa likod ng antena ng ESP8266. Lubos kong nakalimutan ito at ginagawa nitong hindi-isotropic ang diagram ng radiation
  • Ang charger sa aking palagay ay maliit sa para sa isang malaking baterya / ang baterya ay masyadong malaki para sa charger. Mayroong iba pang mga IC at susubukan ko ang isa pa.
  • Mayroong mas mahusay na mga gauge ng baterya.
  • Magdaragdag ako ng isang sensor ng ozone
  • Gumagamit ako ng isang ESP32 para sa mas maraming mga GPIO at Bluetooth sensor mula sa pangunahing yunit.
  • Kung mayroon akong mas maraming mga GPIO alinman sa ESP32 o sa isang expander ng I2C gagamitin ko ang isa upang makontrol ang fan at isa pa upang patayin ang yunit mula sa software. Ngayon kapag mababa ang baterya, ang tanging bagay na magagawa ito upang maipakita ang isang mababang screen ng baterya. Ito ay sa katunayan ang pinakamalaking sagabal ng disenyo, dahil ang mababang sitwasyon ng baterya ay hindi maganda ang paghawak.

Sa Software

Inabot ako ng mas mahaba kaysa sa hardware … Sa palagay ko naglalaman ito ng maraming magagandang konsepto, aba hindi pa ganap na naipatupad. Partikular, naniniwala akong dapat itong malinis, potensyal na pinalawak at isang pangkaraniwang balangkas para sa mga aplikasyon ng ESP8266 ay madaling makuha mula rito. Walang oras. Sinumang nakakakuha ng hamon?

Maaari kang magdagdag ng kontrol sa Boses?

Dapat magagawa. Mayroong isang bilang ng mga handa nang aklatan upang makontrol ang isang ESP8266 kay Alexa at hindi ko makita kung bakit dapat maging isang problema ang pagsasama. Ang kagiliw-giliw na tanong ay kung ano ang nais mong gawin dito, matalinong pag-andar. Wala akong pagmamay-ari ng isang Amazon Echo kaya't hindi ko sinubukan.

Paano mo nagawa ang pagbawas ng laser?

Ang mga guhit ay ginawa sa SketchUp. Ang programa ay maganda ngunit seryoso na walang mga kakayahan sa pag-export. Gayunpaman, makakatulong ang bersyon ng 30 araw na pagsubok dahil mayroon itong karagdagang pag-andar. Pagkatapos ay na-import ko ito sa Inkscape para sa pangwakas na pagproseso.

Maaari mo bang buksan / i-off ang mga sensor upang makatipid ng kuryente, sa pamamagitan ng MOSFETs?

Magandang ideya sa prinsipyo, ngunit ang karamihan sa mga sensor na ito ay kailangang palakasin sa lahat ng oras dahil mayroon silang oras ng pag-init. Bukod sa … Naubusan ako ng mga GPIO sa ESP8266. Kahit na kinailangan kong gumamit ng GPIO10 na opisyal na hindi gumagana, ngunit gumagana lamang sa ESP12E.

Anong mga kasanayan ang kakailanganin ko?

Upang maitayo ito mula sa simula kakailanganin mo ng ilang background sa disenyo ng electronics. Hindi gaanong talaga, sa panahon ngayon sa internet hindi mo talaga kailangang basahin ang mga datasheet nang linya sa linya tulad ng sa aking mga unang araw … Kung gagamitin mo ang kinalabasan ng aking eksperimento, kailangan mo ng ilang mga kasanayan sa paghihinang ng SMD, kasanayan sa mekanikal at kaunting pasensya.

Ito ba ang iyong unang proyekto?

Ito ang aking unang natuturo ngunit hindi ang aking unang proyekto. Marami akong tinkered sa nakaraan ngunit wala talaga akong oras sa panahong ito. Binuhay ko muli ang aking kalawangin na kasanayan habang sinusubukan kong magturo ng isang bagay na kapaki-pakinabang sa aking mga anak..! Gumawa ako ng ilan pang mga proyekto na maaaring maipalathala ko balang araw..

Inirerekumendang: