Taula de continguts:

AtmoScan: 7 passos (amb imatges)
AtmoScan: 7 passos (amb imatges)

Vídeo: AtmoScan: 7 passos (amb imatges)

Vídeo: AtmoScan: 7 passos (amb imatges)
Vídeo: 7 Steps to Confident English! 2024, Setembre
Anonim
Image
Image
Sensors
Sensors

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

NOTÍCIES

Vés al meu GitHub per:

- Alguns petits canvis de maquinari milloren el disseny, inclosa la possibilitat de desactivar-se del programari, solucionant un dels majors inconvenients del disseny: manejar la bateria baixa.

- Ara es publica un disseny de PCB v2 juntament amb una guia per aplicar fàcilment el canvi a les taules V1.0.

- Arxius CAD per a un recinte complet

El nou recinte sembla la imatge de dalt … bé, sense la goma

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

ATMOSCAN és un dispositiu multisensor dirigit a controlar la qualitat de l’aire interior. Tot i que s’han publicat molts projectes amb finalitats similars, aquest és un sistema complet en un paquet compacte i autònom que els resumeix a tots. Té una pantalla LCD en color, té en compte el temps i la ubicació, està controlat per gestos i es publica a ThingSpeak (o altres) mitjançant MQTT, però pot gestionar correctament les operacions i la reconnexió desconnectades. Amb la seva bateria recarregable incorporada, dura un dia complet quan es desconnecta de l’alimentació.

Utilitza un marc cooperatiu multitarea i és molt sensible a l’entrada de l’usuari mentre mostra els sensors, maneja la interfície d’usuari i publica a MQTT. De fet, s’extreu força del petit ESP8266. Ho fa integrant diverses biblioteques de codi obert i aprofitant els serveis web d’Internet.

Els crèdits per a biblioteques van a diversos col·laboradors (vegeu més endavant).

La música en vídeo es pot trobar AQUÍ

Pas 1: Sensors

Atmoscan mesura diverses variables:

  • Temperatura
  • Humitat
  • Pressió
  • CO2
  • CO
  • NO2
  • COV (compostos orgànics volàtils, un indicador de qualitat de l'aire)
  • PM 01
  • PM25
  • PM10
  • Radiació

Per fer-ho, integra una sèrie de sensors discrets

  • BME280 (per exemple, enllaç)
  • PMS7003 (per exemple, enllaç)
  • MH-Z19 (per exemple, enllaç)
  • HDC1080 (p. Ex., Enllaç)
  • MiCS6814 (enllaç)
  • MP503 (enllaç)
  • LND-712 Tub Geiger (Link, el vaig trobar a Europa aquí Link o aquí Link) amb mòdul d'alta tensió (Link)

Les fitxes tècniques són AQUÍ.

Pas 2: electrònica

Electrònica
Electrònica
Electrònica
Electrònica
Electrònica
Electrònica

Atmoscan es pot construir fàcilment amb una targeta NodeMCU o qualsevol altra placa ESP8266 i alguns components fàcilment disponibles, com ara canvis de nivell i reguladors de tensió, si es renuncia al carregador de bateria integrat.

Tot i que feia prototipus amb components separats, per a la versió final vaig dissenyar una placa específica que integra totes les funcions i proporciona connectors nets per a sensors, LEDs d’estat (Blau = font d’alimentació connectada; Vermell = càrrega).

Els fitxers Eagle PCB estan disponibles AQUÍ.

En concret, la junta integra:

  • Circuits de càrrega basats en MAX8903A (enllaç)
  • Lògica d'encès / apagat d'un botó
  • Mòdul ESP12E
  • Lògica de programació
  • Canviador de nivell
  • Controlador de llum de fons LCD
  • Regulador de voltatge de pujada / baixada de 3,3 V basat en Pololu S7V8F3 (enllaç)
  • Regulador de tensió augmentat de 5V basat en Pololu U1V10F5 (enllaç)
  • Indicador de combustible LiPo basat en SparkFun TOL10617 (enllaç)

La pantalla és un TFT 320x240 de 2,8 basat en un xip ILI9341 (Link).

El sensor de gestos es basa en el xip PAJ7620U2 (Link), molt millor que el barat APDS9960 que genera interrupcions contínues i no pot funcionar a través del plexiglàs.

Els sensors tenen molta gana, de manera que, per garantir una autonomia mínima de 24 hores, he creat un paquet amb bateries LiPo 105575 de 3 x 5000 mAh (Link). De fet, 2 podrien haver estat suficients. El carregador MAX8903 lluita per carregar el paquet resultant de 15.000 mAh.

NOTES - COM VEURE A LES IMATGES:

  • Es mostren les posicions dels connectors
  • La ranura de la targeta SD s'ha de dessoldar de la pantalla si voleu que encaixi al recinte
  • Heu de fer una petita osca al PCB per no interferir amb el ventilador (la osca està de moda després de l’iPhone X). Corregit a PCB V2

Les abreviatures dels connectors a la PCB són les següents:

  • PRS: Sensor de pressió baromètrica (basat en BME280) NOTA: per muntar directament al PCB
  • VOC: Grove - Sensor de qualitat de l’aire v1.3 (basat en MP503)
  • TMP: Sensor digital d’humitat i temperatura d’alta precisió (basat en HDC1080)
  • PMS: PMS7003 Sensor digital de concentració de partícules
  • GAS: Grove - Sensor de gas multicanal (basat en MiCS6814)
  • GES: Grove - Sensor de gest (basat en PAJ7620U2)
  • RAD: tub Geiger (a través del mòdul de font d'alimentació del controlador Geiger Probe d'alta tensió 400V / 500V amb sortida de pols digitalitzada TTL)
  • CO2: sensor de gas de CO2 infraroig MH-Z19
  • U1V10F: Regulador de tensió incremental de 5V basat en Pololu
  • U1V10F5 S7V8V3: regulador de voltatge de pujada / baixada de 3,3 V basat en Pololu S7V8F3
  • TOL10617: Indicador de combustible Sparkfun LiPo
  • Pantalla LCD: pantalla ILI9341

Pas 3: recinte

Recinte
Recinte
Recinte
Recinte
Recinte
Recinte

El recinte deriva d’un contenidor de 10x10x10 cm de plexiglàs que vaig comprar a eBay i que estava destinat a un ús completament diferent. Tenia bones ranures de ventilació que eren exactament el que calia. El volum era, en principi, suficient per empaquetar tot el conjunt, excepte que no va ser fàcil … alguns primers intents basats en maquetes de cartró van fracassar estrepitosament, així que vaig renunciar i vaig perdre algunes hores amb un CAD 3D i vaig tenir els suports interns tallats amb làser. L'espai intern es divideix en compartiments de manera que el sensor de temperatura estigui el més lluny possible de les fonts de calor internes. Tot i que el recinte exterior està fet de material de 3 mm, la part superior està formada per làmines de 2 + 1 mm. Aquest truc va permetre tenir el sensor de gest cobert només amb acrílic d’1 mm i això és suficient perquè funcioni.

Algunes modificacions es van haver de fer amb eines manuals del recinte original, com ara el ventilador, l'interruptor i els forats USB. Tot i així, el resultat va ser decent!

Els fitxers CAD són AQUÍ.

Pas 4: Muntatge mecànic

Muntatge mecànic
Muntatge mecànic
Muntatge mecànic
Muntatge mecànic
Muntatge mecànic
Muntatge mecànic

El paquet és molt dens, però gràcies al disseny CAD 3D vaig tenir poques sorpreses en muntar-lo.

La circulació de l’aire (de dalt a baix) està assegurada per un petit ventilador. Després de comprar un bon nombre a Aliexpress / eBay, em vaig adonar que el soroll dels fans barats era insuportable per a un dispositiu interior. Vaig acabar comprant un Papst 255M (Link) de gir lent i bastant car i el vaig alimentar amb menys de 5V mitjançant un parell de díodes. El resultat és bastant bo i és prou silenciós com per passar desapercebut (fins i tot està aprovat per la dona, la certificació més dura).

Pas 5: programari

Programari
Programari
Programari
Programari
Programari
Programari
Programari
Programari

L’arquitectura del programari es basa en un marc orientat a objectes que executa múltiples processos (cooperatius) que gestionen la interfície d’usuari, els sensors i l’MQTT. És conscient de la ubicació i del temps, però pot gestionar la desconnexió / reconnexió a WiFI.

El framework és obert i pot gestionar qualsevol nombre de pantalles, sempre que el seu codi i recursos encaixin a la memòria Flash. El framework d'aplicacions gestiona els gestos i els transmet a les pantalles, per a una manipulació o cancel·lació addicional si cal. Els gestos gestionats pel marc són:

  • Llisca cap a l'esquerra / dreta: canvia de pantalla
  • (Dit) Remolí en sentit horari: gireu la pantalla
  • (Dit) Remolí en sentit antihorari: invoca la pantalla de configuració
  • (Mà) De lluny a tancar: apagueu la pantalla

Les pantalles hereten d'una classe base i es gestionen mitjançant el model d'esdeveniments següent:

  • activar: es dispara una vegada, quan es crea la pantalla
  • actualització: es diu periòdicament per actualitzar la pantalla
  • desactiva: es diu una vegada, abans que la pantalla s'acabi
  • onUserEvent: es diu quan s'activa el sensor de gestos. Permet respondre i també anul·lar el tractament d'esdeveniments predeterminat, per exemple. avortar el lliscament per canviar de pantalla

Cada pantalla declara les seves capacitats proporcionant la informació següent:

  • getRefreshPeriod: freqüència amb què la pantalla necessita actualitzar-se
  • getRefreshWithScreenOff: si es vol actualitzar la pantalla fins i tot quan la retroil·luminació està apagada. per exemple. per a gràfics
  • getScreenName: nom de la pantalla
  • isFullScreen: pren el control total de la pantalla o permet la barra superior amb data / hora / ubicació / indicador de bateria / indicador wifi

El framework és capaç d’instanciar i distribuir les pantalles mitjançant una fàbrica de classes declarativa. L’assignació dinàmica estalvia memòria RAM i fa que el dispositiu sigui fàcilment ampliable. El marc general d’aplicacions també es pot reutilitzar per a altres projectes.

Les pantalles implementades actualment a Atmoscan són:

  • Valors dels sensors
  • Gràfic Geiger meter / semilog
  • Estat del sistema
  • Registre d'errors
  • Estació Meteorològica
  • Plane Spotter
  • Configuració
  • Bateria baixa

Les pantalles de configuració permeten configurar credencials de Wifi, canals MQTT i servidor Syslog.

NOU a la v2.0: ara totes les claus de serveis web es poden configurar a través del portal de configuració. L'únic valor que encara es codifica és la contrasenya OTA (ATMOSCAN en majúscules).

NOTA 1: La primera programació s'ha de fer amb un cable sèrie USB connectat al connector de programació. Com que el port sèrie està ocupat per un sensor, la depuració i la programació d’aquesta manera no són pràctiques després del muntatge, ja que caldria separar el sensor. Per tant, el programari admet la depuració SYSLOG i les actualitzacions OTA.

NOTA 2: El binari ATMOSCAN supera els 700 KB i ArduinoOTA requereix que l'espai del programa sigui almenys el doble de la mida de la imatge, cosa que descarta l'opció "4M (3M SPIFFS)". Tanmateix, l'opció estàndard "4M (1M SPIFFS)" tampoc és adequada, ja que la partició SPIFFS seria insuficient per als recursos gràfics relacionats amb l'estació meteorològica, l'observador pla i el fitxer confing. Per tant, s'ha creat una configuració personalitzada "4M (2M SPIFFS)" per resoldre el problema. Explicació aquí.

La documentació i el codi font complet estan disponibles aquí.

EL CRÈDIT INCLOU EL CODI I LES BIBLIOTECES DE

  • Adafruit
  • Arcao
  • Bblanchon
  • Bodmer
  • ClosedCube
  • Gmag11
  • Knolleary
  • Lucadentella
  • Llavor
  • Squix78
  • Tzapu
  • Assistent97

INTEGRA ELS SERVEIS WEB DE

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

Pas 6: Feu-lo millor

Fes-ho millor!
Fes-ho millor!

El resultat no està gens malament! El programari té un bon aspecte i és fiable, tot i que es podria ampliar amb noves funcions i potser netejar-se una mica per fer que el marc d'aplicacions sigui realment reutilitzable per a altres projectes. La calibració d’alguns sensors no és fantàstica, però caldria equip de laboratori de proves. El temps és preciós i no en tinc gaire, de manera que el progrés va ser lent. Quan vaig acabar, ja estava disponible un suport decent per a l’ESP32. Si el començés ara, l’utilitzaria i integraria sensors externs mitjançant bluetooth.

Ningú?

NOTA: Encara tinc un grapat de PCBs, de manera que si algú està interessat estan disponibles al preu nominal / franqueig.

Pas 7: Preguntes i respostes

Preguntes i respostes
Preguntes i respostes
Preguntes i respostes
Preguntes i respostes

En primer lloc, GRÀCIES pels vostres aclaparadors comentaris positius. Sincerament, no esperava tant d’interès.

He rebut diverses preguntes mitjançant comentaris o missatges privats, així que he pensat a recollir les respostes aquí. Si n’arriben més, afegiré.

Vaig trobar al darrere d’un calaix els vuit PCB disponibles - i van camí de Bèlgica, Alemanya, Índia, EUA, Canadà, Regne Unit, Austràlia. Vaja, 3 continents! Increïble.

Què he de posar a la pàgina de configuració ATMOSCAN?

La pàgina de configuració d’Atmoscan requereix els paràmetres següents:

  • SSID i contrasenya de la xarxa WiFi a la qual voleu que es connecti
  • Servidor MQTT que utilitzeu. Per exemple, faig servir mqtt.thingspeak.com
  • Cadena de connexió per als temes MQTT utilitzats. Per exemple, els temes de Thingspeak MQTT tenen el format: canals / CHANNEL-ID / publish / WRITE-API (EXEMPLE: canals / 123456 / publish / 567890)
  • Servidor Syslog: la IP del servidor syslog que utilitzeu per registrar
  • Clau de Google per a l'API Maps Static. Obteniu una clau a https://console.cloud.google.com/apis/dashboard. Crear un projecte; L'API que utilitza Atmoscan és https://maps.googleapis.com/maps/api/staticmap. Creeu una clau per a aquesta API al projecte de google que acabeu de crear; utilitzeu-la aquí
  • Clau Weather Underground. Creeu un compte a www.wunderground.com, aneu a l'API WEATHER (enllaç a la part inferior de la pàgina inicial, aneu a CONFIGURACIÓ DE CLAUS, genereu una clau, utilitzeu-la aquí
  • Compte Geonames. Creeu un compte a https://www.geonames.org/ permeteu-li utilitzar els serveis web gratuïts i poseu-hi el nom d'usuari
  • Clau TimeZoneDB. Creeu un compte a https://timezonedb.com/, creeu una clau i poseu-la aquí

Com puc configurar Thingspeak?

Necessiteu 3 canals Thingspeak. Els camps s’utilitzen de la següent manera:

Camps del CANAL 1

  1. TEMPERATURA
  2. HUMITAT
  3. PRESSIÓ
  4. PM01
  5. PM2.5
  6. PM10
  7. CPM
  8. RADIACIÓ

CANAL 2 camps

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

CHANNEL 3 camps (canal del sistema)

  1. TEMPS D'ACTIVITAT EN MINUTS
  2. HEAP GRATU INT EN BITES
  3. WIFI RSSI (SENYAL EN DBM)
  4. TENSIÓ DE LA BATERIA
  5. SOC LINEAL (ESTAT DE CÀRREGA DE LA BATERIA% - càlcul lineal, proporcional a la tensió)
  6. SOC NATIU (ESTAT DE CÀRREGA DE LA BATERIA%: segons indica l’indicador. Tal com es llegeix des de l’indicador. NOTA: l’indicador indica el 0% quan s’arriba a 3,6v, mentre que les bateries es poden descarregar una mica més, diguem per sobre de 3v. El límit inferior, en què ATMOSCAN s'apaga, és un #define al fitxer globaldefinitions.h)
  7. TEMPERATURA DEL SISTEMA (des del bme280, muntat directament a la placa)
  8. HUMITAT DEL SISTEMA (des del bme280, muntat directament a la placa)

El PCB és molt compacte. Com puc soldar els dispositius SMD, especialment el MAX8903A IC?

En primer lloc, us suggereixo que us pregunteu si voleu accedir a SMD o si és únic. Si és últim, potser demaneu a algú que ho faci per vosaltres. Si voleu assumir el repte SMD, invertiu una mica i obteniu les eines adequades (soldadura, flux, alcohol isopropílic, ferro petit, pistola calenta, pinces, una càmera USB barata, un suport per a PCB). Avui en dia són coses barates. A continuació, mireu un vídeo de YouTube (hi ha mig milió) i passeu una estona amb un PCB antic que podeu sacrificar i des soldar / netejar / soldar alguns components. No us creieu el instructiu que és, aprendre què esperar, fer la temperatura correcta, etc. Parlant de l'experiència … Vaig començar a SMD canviant el connector de la pantalla en un iPod touch i vaig matar el primer.

De fet, el PCB Atmoscan és compacte i aquesta IC no és fàcil. De nou, no us recomano que ho feu com a primera soldadura SMD. El QFN no és un paquet amigable tot i que ja he soldat un número. Mai no esteu segurs d’haver-ho encertat …

A Atmoscan el vaig soldar primer, després els components circumdants per poder provar que la part de càrrega de la placa funcionava, i després vaig completar la resta. A partir de les imatges adjuntes hauríeu de ser capaços d’inferir l’orientació dels components. He utilitzat biblioteques de components de domini públic i l’orientació no és molt evident a la serigrafia.

A la meva manera: primer vaig posar una mica de soldadura als coixinets amb la planxa. A continuació, hi ha un munt de flux (específic de SMD) i he posat acuradament el CI amb pinces. A continuació, escalfeu el conjunt a uns 200 / 220C (per sota del punt de fusió) per evitar tensions a causa d’un escalfament desigual. Llavors vaig augmentar la temperatura a 290 ºC aproximadament i al voltant del CI. Si poseu una mica de soldadura en un coixinet proper, veureu quan la temperatura està en punt de fusió, ja que brillarà.

Després, el vaig netejar amb alcohol isopropílic i el vaig inspeccionar acuradament amb una càmera USB barata. Els problemes típics són l'alineació i la quantitat de soldadura, ja que és possible que alguns pins no estiguin connectats. En alguns casos, vaig haver de tornar-hi amb un petit soldador per afegir una mica més de soldadura a alguns passadors, ja que aquest CI té un coixinet tèrmic a sota que també s’ha de soldar. Això fa que sigui una mica complicat endevinar la quantitat de soldadura i pot passar que si hi ha massa soldadura a sota la pugi de manera que els pins no toquin la PCB.

Dit això, no vull espantar-vos. Vaig completar tres taulers i mai no vaig matar aquests IC … Un cop fins i tot vaig haver de treure-la, netejar-la i reiniciar-la de zero, però al final va funcionar. Una vegada més, no és molt fàcil però factible.

On heu comprat els components?

Sobretot a eBay i Aliexpress. Tot i això, les de marca són originals (Seeed, Pololu, Sparkfun).

Segueixen alguns enllaços INDICATIUS. Nota: mireu al voltant, és possible que trobeu ofertes encara més barates …

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…

Primera programació La placa Atmoscan inclou un circuit de programació que està en línia amb el NodeMCU. La connexió en sèrie s’utilitza normalment per a la primera programació. Després d’això, la programació OTA via wifi és l’opció preferida, ja que es pot fer amb la unitat totalment muntada. No oblideu que el port sèrie normalment el fa servir el sensor de partícules.

Per programar la placa amb sèrie, cal connectar un adaptador sèrie USB (per exemple, FTDI232 o similar) al connector J7 (al costat del botó de restabliment) seguint el pinout de l’esquema. El programa es pot carregar sense que hi hagi cap sensor connectat, tret que la línia d’interrupció del sensor geiger s’hauria de connectar a GND, en cas contrari no s’arrencarà la placa (per fer-ho, connecteu els pins 1 i 3 al connector RAD). La forma més senzilla de provar la placa sense fer servir l'esbós principal (per tant, sense la complexitat dels sensors) és carregar AQUEST programa senzill mitjançant un cable sèrie. Crea un punt d’accés wifi que permet intermitents amb el programa principal.

IMPORTANT: no us oblideu d'utilitzar la configuració SPIFFS 4M / 2M segons les instruccions, en cas contrari el programa principal no s'adaptarà. La placa s’ha d’inicialitzar mitjançant la programació en sèrie amb aquesta configuració, en cas contrari és possible que tingueu problemes amb OTA més endavant.

Malauradament, algunes inicialitzacions de sensors es bloquegen si no hi ha sensors (depèn del proveïdor de la biblioteca). Un exemple és la biblioteca de sensors multigas. Per assegurar-vos que Atmoscan arrenca correctament amb el firmware complet, podeu desactivar el procés relacionat; consulteu el punt de preguntes i respostes relacionat. Una manera senzilla de desactivar TOTS els sensors per provar-los és comentar la línia #define ENABLE_SENSORS al fitxer GlobalDefinitions.h.

Quan el tauler arrenca l’esbós principal per primera vegada, ha de reconèixer que no està configurat i ha d’obrir un punt d'accés wifi al qual pugueu connectar-lo i configurar-lo. Entre els paràmetres, hi ha un servidor syslog que ajuda molt la depuració. També podeu augmentar el nivell de registre descomentant el #define DEBUG_SYSLOG al fitxer GlobalDefinitions.h. Tingueu en compte que al mateix fitxer també hi ha un #define DEBUG_SERIAL que s’ha utilitzat durant la depuració inicial. Si no està comentat, emet un registre residual, però mínim. Un ítem pendent sempre era uniforme i seleccionable, però mai vaig tenir temps de netejar-lo.

Heu modificat les biblioteques que heu utilitzat, cal alguna configuració? (a diferència de descarregar i compilar)

Bona pregunta, m’he oblidat d’esmentar aquest punt. De fet, es necessiten algunes modificacions / configuracions:

  • Biblioteca https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor: sentències de depuració en sèrie. Cal comentar-lo, ja que el port sèrie s’utilitza per a un sensor.
  • Biblioteca https://github.com/Bodmer/TFT_eSPI: requereix un fitxer de configuració on s’especifiquen l’assignació de pins i la freqüència SPI
  • Biblioteca https://github.com/lucadentella/ArduinoLib_MAX1704… - Mirant els comentaris i les sol·licituds d'extracció, em vaig adonar que hi havia una correcció d'errors que mai no es va fusionar

Pel que recordo, hauria de ser. Avisa’m si sorgeix algun problema.

NOTA: Consulteu els comentaris del codi font més recent: conté enllaços a totes les biblioteques necessàries i es manté actualitzat

Per què hi ha alguns sensors que llegeixen de color vermell i d’altres de verd al vídeo / imatges?

El color indica tendència. Comença blanc i si pujar és vermell, si baixar és verd.

Com es fa front a la deriva dels sensors al llarg del temps? Què tan bons són aquests sensors? Què puc veure amb aquests sensors?

Sincerament, no es tracta d’un kit de mesurament científic. Per calibrar-lo necessitaria equips que no tinc disponibles. Aquest és realment un projecte per a mascotes. He provat diversos sensors. Al meu parer, les partícules, el CO2, la temperatura, la humitat, la pressió i Geiger són bastant bones. Al NO2 tinc reserves de calibratge i disseny general, però no hi ha molt disponibles. En general, són sensors principals.

Tot i això, la combinació és prou bona per mostrar coses que no esperàveu.

Amb l'Atmoscan a la sala d'estar i la cuina a una habitació, detecta enormes pics de partícules quan, per exemple, coses per fregir. Se sent el NO2 del trànsit del matí fins i tot amb les finestres tancades.

Era realment necessari un comptador Geiger? Mostra alguna cosa útil?

Per sort, no hem tingut incidents nuclears i la guerra encara no arriba … Tot i això, hi ha plantes nuclears no tan lluny i el govern distribueix píndoles de iode perquè els nens es guardin al calaix en cas d’incidents … així que vaig sospitar. Fins ara he de dir que les lectures coincideixen exactament amb la radiació de fons esperada (0,12 uSv / h)

Quin és el cost total del dispositiu?

Ja tenia molts components a casa i els enllaços anteriors us donen una idea. Sincerament, si compreu un NetAtmo o similar ja fabricat, estalvieu diners. No es pot guanyar una empresa xinesa fent coses a gran escala! Tot i això, si us agrada fer junts amb els vostres fills, val la pena. La part bona és que ja he provat (i he descartat) diversos sensors per a vosaltres …

Què tal els PCB? En pots vendre un?

Originalment en tenia deu fabricades per dirtypcbs.com i els meus fitxers funcionaven bé. Bona qualitat i prou barat, 25USD / 20Euro per a 10 PCB. N’he fet servir dos i estic encantat d’enviar-ne els residuals pel cost (2 euros + enviament, segons la ubicació i les preferències d’enviament). Em temo que hauré de triar els primers que m'enviïn un missatge privat.

Podeu fer un kit o una campanya de kickstarter?

Afalagador, però sincerament mai vaig pensar que fos prou innovador … i, a més, NO TIME !!

Tanmateix, si algú recull la idea, caldria fer una segona iteració. Hi ha algunes vores nítides al disseny que valdrien la pena corregir, però de nou mai vaig tenir prou temps per a la V2.

A maquinari: puc afegir / eliminar un sensor, la pantalla, etc. per ampliar les capacitats i reduir el consum d'energia?

La pantalla es connecta sense utilitzar MISO, per tant la CPU mai no llegeix des de la pantalla. Per tant, no podríeu connectar la pantalla i funcionaria bé. Dit això, la pantalla només està encesa un temps després de detectar l'últim gest, de manera que no afecta realment el consum d'energia.

En canvi, els sensors tenen molta alimentació i tot fa servir fàcilment 400 / 500mA. No oblideu el ventilador i el fet que el sensor de partícules també té un ventilador incorporat. L'ESP tampoc passa al mode d'espera, a causa de la manca de pons GPIO. Tot i això, potser hauria estalviat 20mA …

El programari és modular i podeu afegir / eliminar fàcilment processos i pantalles perquè pugueu afegir sensors o encendre-ho en traient alguns, si ho desitgeu. L'única limitació és el nombre de pins GPIO. No obstant això, els sensors es poden afegir fàcilment si es pot utilitzar I2C o, alternativament, un expansor I2C per afegir GPIO …

Per desactivar un sensor, per exemple per provar una compilació parcial, al meu entendre, la millor manera seria no iniciar el procés relacionat. Això es pot aconseguir comentant la trucada enable () relacionada a la funció void startProcesses () al fitxer.ino principal. Tret que vulgueu modificar estructuralment el sistema, no eliminaria els processos del tot, ja que la pantalla i els processos MQTT els interrogaran. D’aquesta manera només haurien de tornar zero. Tingueu en compte que l’entrada d’interrupció per a la placa geiger es retirarà si no s’utilitza, en cas contrari la placa no arrencarà.

Quines millores hauríeu fet si teniu temps per a una versió 2.0?

No en cap ordre concret..

  • El PCB podria evitar coure darrere de l’antena ESP8266. Ho vaig oblidar totalment i fa que el diagrama de radiació no sigui isòtrop
  • Al meu parer, el carregador està reduït a una bateria tan gran / la bateria és massa gran per al carregador. Hi ha altres CI i jo provaria un altre.
  • Hi ha indicadors de bateria millors.
  • Afegiria un sensor d’ozó
  • Utilitzaria un ESP32 per obtenir més GPIO i sensors Bluetooth fora de la unitat principal.
  • Si tingués més GPIO amb l’ESP32 o amb un expansor I2C, n’utilitzaria un per controlar el ventilador i un altre per apagar la unitat del programari. Ara, quan la bateria és baixa, l'únic que pot fer és mostrar una pantalla de bateria baixa. Aquest és, de fet, l’inconvenient més gran del disseny, ja que la situació de poca bateria no es maneja amb gràcia.

Al programari

Em va costar més temps que el maquinari … Crec que conté una sèrie de bons conceptes, per desgràcia, no estan completament implementats. Concretament, crec que s’hauria de netejar, potencialment ampliar i se’n podria derivar fàcilment un marc genèric per a aplicacions ESP8266. No hi ha temps. Algú es planteja el repte?

Es pot afegir control de veu?

Hauria de ser factible. Hi ha diverses biblioteques ja preparades per controlar un ESP8266 amb Alexa i no veig per què la integració hauria de ser un problema. La pregunta interessant és què voleu fer-ne, per funcionalitat. No tinc cap Amazon Echo, de manera que no ho vaig provar mai.

Com vas fer els talls làser?

Els dibuixos es fan amb SketchUp. El programa és bonic, però manca seriosament d’exportació. Tot i això, la versió de prova de 30 dies ajuda ja que té funcions addicionals. Després el vaig importar a Inkscape per al processament final.

Podeu activar / desactivar els sensors per estalviar energia mitjançant MOSFET?

Una bona idea en principi, però la majoria d’aquests sensors s’han d’alimentar tot el temps, ja que tenen un temps d’escalfament. A més … em quedo sense GPIO a l'ESP8266. Fins i tot vaig haver d’utilitzar GPIO10 que oficialment no és funcional, però funciona bé a l’ESP12E.

Quines habilitats necessitaria?

Per construir-lo des de zero, necessitareu alguns antecedents de disseny electrònic. Poc realment, avui en dia amb Internet no necessiteu llegir fulls de dades línia per línia com en els meus primers dies … Si utilitzeu el resultat de la meva experimentació, necessiteu algunes habilitats de soldadura SMD, habilitats mecàniques i certa paciència.

Aquest és el vostre primer projecte?

És el meu primer projecte instructiu però no el meu primer projecte. Vaig jugar moltíssim en el passat, però realment no tinc molt de temps avui en dia. Vaig ressuscitar les meves habilitats rovellades mentre intentava ensenyar alguna cosa útil als meus fills …! Vaig fer alguns projectes més que algun dia podria publicar …

Recomanat: