Tabla de contenido:
- Paso 1: Sensores
- Paso 2: Electrónica
- Paso 3: recinto
- Paso 4: Ensamblaje mecánico
- Paso 5: software
- Paso 6: ¡Hazlo mejor
- Paso 7: preguntas y respuestas
Video: AtmoScan: 7 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
**********************************************************************************************
NOTICIAS
Vaya a mi GitHub para:
- Algunos pequeños cambios de hardware mejoran el diseño, incluida la capacidad de desconectarse del software, solucionando uno de los mayores inconvenientes del diseño: cómo manejar la batería baja.
- Ahora se publica un diseño de PCB v2 junto con una guía para aplicar fácilmente el cambio a las placas V1.0.
- Archivos CAD para cerramiento completo
El nuevo recinto se parece a la imagen de arriba … bueno, sin la goma elástica
****************************************************************************************
ATMOSCAN es un dispositivo multisensor destinado a monitorear la calidad del aire interior. Si bien se han publicado muchos proyectos que tienen un propósito similar, este es un sistema completo en un paquete compacto y autónomo que los resume todos. Tiene una pantalla LCD en color, es consciente de la hora y la ubicación, se controla mediante gestos y se publica en ThingSpeak (u otros) a través de MQTT, pero puede manejar correctamente las operaciones desconectadas y la reconexión. Con su batería recargable incorporada, dura un día completo cuando se desconecta de la energía.
Utiliza un marco cooperativo multitarea y es muy sensible a la entrada del usuario mientras toma muestras de los sensores, maneja la interfaz de usuario y publica en MQTT. De hecho, exprime bastante el diminuto ESP8266. Lo hace integrando una serie de bibliotecas de código abierto y aprovechando los servicios web de Internet.
Los créditos para las bibliotecas van a una serie de contribuyentes, ver más adelante.
La música en video se puede encontrar AQUÍ
Paso 1: Sensores
Atmoscan mide una serie de variables:
- Temperatura
- Humedad
- Presión
- CO2
- CO
- NO2
- COV (compuestos orgánicos volátiles, un indicador de la calidad del aire)
- PM 01
- PM25
- PM10
- Radiación
Para ello integra una serie de sensores discretos
- BME280 (p. Ej., Enlace)
- PMS7003 (p. Ej., Enlace)
- MH-Z19 (p. Ej., Enlace)
- HDC1080 (p. Ej., Enlace)
- MiCS6814 (enlace)
- MP503 (enlace)
- Tubo Geiger LND-712 (Enlace, lo encontré en Europa aquí Enlace o aquí Enlace) con módulo de alto voltaje (Enlace)
Las hojas de datos están AQUÍ.
Paso 2: Electrónica
Atmoscan se puede construir fácilmente con un NodeMCU o cualquier otra placa ESP8266 y algunos componentes fácilmente disponibles, como cambiadores de nivel y reguladores de voltaje, si renuncia al cargador de batería integrado.
Si bien hice un prototipo con componentes separados, para la versión final diseñé una placa específica que integra todas las funciones y proporciona conectores prolijos para sensores, LED para estado (azul = fuente de alimentación conectada; rojo = cargando).
Archivos Eagle PCB disponibles AQUÍ.
Específicamente, la placa integra:
- Circuito de carga basado en MAX8903A (enlace)
- Lógica de encendido / apagado con un solo botón
- Módulo ESP12E
- Lógica de programación
- Cambiador de nivel
- Controlador de luz de fondo LCD
- Regulador de voltaje elevador / reductor de 3.3V basado en Pololu S7V8F3 (Enlace)
- Regulador de voltaje elevador de 5 V basado en Pololu U1V10F5 (enlace)
- Medidor de combustible LiPo basado en SparkFun TOL10617 (Enlace)
La pantalla es una TFT 320x240 de 2,8 basada en un chip ILI9341 (Enlace).
El sensor de gestos está basado en el chip PAJ7620U2 (Link), mucho mejor que el APDS9960 barato que genera interrupciones continuas y no puede funcionar a través de plexiglás.
Los sensores consumen bastante energía, por lo que para garantizar al menos 24 horas de autonomía, hice un paquete con 3 baterías LiPo 105575 de 5000 mAh (Enlace). De hecho, 2 podrían haber sido suficientes. El cargador MAX8903 tiene dificultades para cargar el paquete de 15.000 mAh resultante.
NOTAS - TAL COMO SE VE EN LAS FOTOS:
- Se muestran las posiciones de los conectores
- La ranura de la tarjeta SD debe desoldarse de la pantalla si desea que quepa en el gabinete
- Debe hacer una pequeña muesca en la PCB para no interferir con el ventilador (la muesca está de moda después del iPhone X). Corregido en PCB V2
Las abreviaturas de conectores en PCB son las siguientes:
- PRS: Sensor de presión barométrica (basado en BME280) NOTA: para montar directamente en la PCB
- VOC: Grove - Sensor de calidad del aire v1.3 (basado en MP503)
- TMP: Sensor digital de temperatura y humedad de alta precisión (basado en HDC1080)
- PMS: Sensor de concentración de partículas digital PMS7003
- GAS: Grove - Sensor de gas multicanal (basado en MiCS6814)
- GES: Grove - Sensor de gestos (basado en PAJ7620U2)
- RAD: tubo Geiger (a través del módulo de fuente de alimentación del controlador de sonda Geiger de alto voltaje 400 V / 500 V con salida de pulso digitalizada TTL)
- CO2: sensor de gas de CO2 infrarrojo MH-Z19
- U1V10F: Regulador de voltaje elevador de 5 V basado en Pololu
- U1V10F5 S7V8V3: Regulador de voltaje elevador / reductor de 3.3V basado en Pololu S7V8F3
- TOL10617: Indicador de combustible Sparkfun LiPo
- LCD: pantalla ILI9341
Paso 3: recinto
El gabinete se deriva de un contenedor de cubo de plexiglás de 10x10x10 cm que compré en eBay y estaba destinado a un uso completamente diferente. Tenía bonitas ranuras de ventilación que eran exactamente lo que se necesitaba. En principio, el volumen era suficiente para empacar todo el conjunto, excepto que no fue fácil … algunos intentos iniciales basados en maquetas de cartón fracasaron estrepitosamente, así que me rendí y desperdicié algunas horas con un CAD 3D y corté los soportes internos con láser. El espacio interno está dividido en compartimentos para que el sensor de temperatura esté lo más alejado posible de las fuentes de calor internas. Mientras que la carcasa externa está hecha de material de 3 mm, la parte superior está hecha de láminas de 2 + 1 mm. Este truco permitió tener el sensor de gestos cubierto con solo acrílico de 1 mm y esto es suficiente para que funcione.
Algunas modificaciones tuvieron que hacerse con herramientas manuales en la carcasa original, como el ventilador, el interruptor y los orificios USB. ¡Sin embargo, el resultado fue decente!
Los archivos CAD están AQUÍ.
Paso 4: Ensamblaje mecánico
El paquete es muy denso pero gracias al diseño CAD en 3D tuve pocas sorpresas al montarlo.
La circulación del aire (de arriba a abajo) está asegurada por un pequeño ventilador. Después de comprar un buen número en Aliexpress / eBay, me di cuenta de que el ruido de los ventiladores baratos era insoportable para un dispositivo de interior. Terminé comprando un Papst 255M (Link) de giro lento y bastante caro y lo alimenté con menos de 5V a través de un par de diodos. El resultado es bastante bueno y es lo suficientemente silencioso como para pasar desapercibido (incluso está aprobado por la esposa, la certificación más difícil).
Paso 5: software
La arquitectura del software se basa en un marco orientado a objetos que ejecuta múltiples procesos (cooperativos) que manejan UI, sensores y MQTT. Es consciente de la ubicación y el tiempo, pero puede manejar la desconexión / reconexión a WiFI.
El marco es abierto y puede administrar cualquier número de pantallas, siempre que su código y recursos quepan en la memoria Flash. El marco de la aplicación maneja los gestos y los pasa a las pantallas, para su posterior manejo o cancelación si es necesario. Los gestos gestionados por el marco son:
- Deslizar hacia la izquierda / derecha - Cambiar pantalla
- (Dedo) Remolino en el sentido de las agujas del reloj - Girar la pantalla
- (Dedo) Giro en sentido antihorario: pantalla de configuración de invocación
- (Mano) De lejos a cerca - Apagar la pantalla
Las pantallas se heredan de una clase base y se administran a través del siguiente modelo de eventos:
- activar - disparado una vez, cuando se crea la pantalla
- actualizar - llamado periódicamente para actualizar la pantalla
- desactivar: se llama una vez, antes de que se cierre la pantalla
- onUserEvent: se llama cuando se activa el sensor de gestos. Permite responder y también anular el manejo de eventos predeterminado, p. Ej. abortar deslizar para cambiar de pantalla
Cada pantalla declara sus capacidades proporcionando la siguiente información:
- getRefreshPeriod: con qué frecuencia se debe actualizar la pantalla
- getRefreshWithScreenOff: si la pantalla desea actualizarse incluso cuando la retroiluminación está apagada. p.ej. para gráficos
- getScreenName - nombre de la pantalla
- isFullScreen: tome el control total de la pantalla o permita que la barra superior con fecha / hora / ubicación / indicador de batería / indicador de wifi
El marco puede crear instancias y desasignar las pantallas a través de una fábrica de clases declarativas. La asignación dinámica ahorra RAM y hace que el dispositivo se pueda expandir fácilmente. El marco de aplicación general también se puede reutilizar para otros proyectos.
Las pantallas actualmente implementadas en Atmoscan son:
- Valores de los sensores
- Medidor Geiger / gráfico semilogarítmico
- Estado del sistema
- Registro de errores
- Estación meteorológica
- Avión Spotter
- Configuración
- Batería baja
Las pantallas de configuración permiten configurar credenciales Wifi, canales MQTT, servidor Syslog.
NUEVO en v2.0: ahora todas las claves de servicios web se pueden configurar a través del portal de configuración. El único valor que todavía está codificado es la contraseña OTA (ATMOSCAN en mayúsculas).
NOTA 1: La primera programación debe realizarse con un cable serie USB conectado al conector de programación. Como el puerto serie está ocupado por un sensor, depurar y programar de esa manera no es práctico después del ensamblaje, ya que requeriría desconectar el sensor. Por lo tanto, el software admite la depuración SYSLOG y las actualizaciones OTA.
NOTA 2: El binario ATMOSCAN tiene más de 700Kb y ArduinoOTA requiere que el espacio del programa sea al menos el doble del tamaño de la imagen, lo que descarta la opción "4M (3M SPIFFS)". Sin embargo, la opción estándar "4M (1M SPIFFS)" tampoco es adecuada ya que la partición SPIFFS sería insuficiente para los recursos gráficos relacionados con la estación meteorológica, el avistador de aviones y el archivo confing. Por lo tanto, se ha creado una configuración personalizada "4M (2M SPIFFS)" para resolver el problema. Explicación aquí.
La documentación y el código fuente completo están disponibles aquí.
CRÉDITOS INCLUYE CÓDIGO Y BIBLIOTECAS DE
- Adafruit
- Arcao
- Bblanchon
- Bodmer
- ClosedCube
- Gmag11
- Knolleary
- Lucadentella
- Seeed
- Squix78
- Tzapu
- Wizard97
INTEGRA SERVICIOS WEB DE
- Adsbexchange.com
- GeoNames.org
- Google.com
- Mylnikov.org
- Timezonedb.com
- Wunderground.com
Paso 6: ¡Hazlo mejor
¡El resultado no está nada mal! El software se ve bien y es confiable, mientras que podría ampliarse con nuevas funciones y tal vez limpiarse un poco para que el marco de la aplicación sea realmente reutilizable para otros proyectos. La calibración de algunos sensores no es excelente, pero se necesitaría equipo de laboratorio de pruebas. El tiempo es precioso y no tengo mucho, por lo que el progreso fue lento. Cuando terminé, se dispuso de un soporte decente para el ESP32. Si lo comenzara ahora, lo usaría e integraría sensores externos a través de bluetooth.
¿Alguien?
NOTA: Todavía tengo un puñado de PCB, por lo que si alguien está interesado, están disponibles a un precio nominal / postal.
Paso 7: preguntas y respuestas
En primer lugar, GRACIAS por sus comentarios abrumadoramente positivos. Sinceramente, no esperaba tanto interés.
Recibí una serie de preguntas a través de comentarios o mensajes privados, así que pensé en recopilar las respuestas aquí. En caso de que vengan más, agregaré.
Encontré en la parte posterior de un cajón los 8 PCB disponibles, y están de camino a Bélgica, Alemania, India, EE. UU., Canadá, Reino Unido, Australia. ¡Guau, 3 continentes! Increíble.
¿Qué debo poner en la página de configuración de ATMOSCAN?
La página de configuración de Atmoscan requiere los siguientes parámetros:
- SSID y contraseña de la red WiFi a la que desea conectarse
- Servidor MQTT que utiliza. Por ejemplo, uso mqtt.thingspeak.com
- Cadena de conexión para los temas de MQTT utilizados. Por ejemplo, los temas de Thingspeak MQTT están en el formato: canales / ID DE CANAL / publicar / ESCRIBIR-API (EJEMPLO: canales / 123456 / publicar / 567890)
- Servidor Syslog: la IP del servidor Syslog que usa para iniciar sesión
- Clave de Google para la API estática de Maps. Obtenga una clave de https://console.cloud.google.com/apis/dashboard. Crea un proyecto; La API que utiliza Atmoscan es https://maps.googleapis.com/maps/api/staticmap. Cree una clave para esta API en el proyecto de Google que acaba de crear, úsela aquí
- Tecla Weather Underground. Cree una cuenta en www.wunderground.com, vaya a WEATHER API (enlace en la parte inferior de la página de inicio, vaya a CONFIGURACIÓN DE CLAVES, genere una clave, úsela aquí
- Cuenta de Geonames. Cree una cuenta en https://www.geonames.org/ habilítela para utilizar los servicios web gratuitos y ponga el nombre de usuario aquí
- Clave TimeZoneDB. Cree una cuenta en https://timezonedb.com/, cree una clave, póngala aquí
¿Cómo configuro Thingspeak?
Necesita 3 canales de Thingspeak. Los campos se utilizan de la siguiente manera:
Campos del CANAL 1
- TEMPERATURA
- HUMEDAD
- PRESIÓN
- PM01
- PM2.5
- PM10
- CPM
- RADIACIÓN
Campos del CANAL 2
- CO
- CO2
- NO2
- COV
Campos del CANAL 3 (canal del sistema)
- TIEMPO DE ACTIVIDAD EN MINUTOS
- MONTÓN LIBRE EN BYTES
- WIFI RSSI (SEÑAL EN DBM)
- VOLTAJE DE LA BATERÍA
- SOC LINEAL (% DE ESTADO DE CARGA DE LA BATERÍA - cálculo lineal, proporcional al voltaje)
- SOC NATIVO (% DE ESTADO DE CARGA DE LA BATERÍA - según lo informado por el medidor. Según lo leído en el medidor. NOTA: el medidor dice 0% cuando se alcanza 3.6v mientras que las baterías se pueden descargar un poco más, digamos por encima de 3v. El límite inferior, en el que ATMOSCAN se apaga solo, es un #define en el archivo globaldefinitions.h)
- TEMPERATURA DEL SISTEMA (del bme280, montado directamente en la placa)
- HUMEDAD DEL SISTEMA (del bme280, montado directamente en la placa)
El PCB es muy compacto. ¿Cómo sueldo los dispositivos SMD, especialmente el MAX8903A IC?
En primer lugar, le sugiero que se pregunte si desea ingresar a SMD o si es algo único. Si es el último, tal vez pida a alguien que lo haga por usted. Si desea aceptar el desafío SMD, invierta un poco y obtenga las herramientas adecuadas (soldadura, fundente, plancha pequeña con alcohol isopropílico, pistola caliente, pinzas, una cámara USB barata, un soporte para PCB). Hoy en día esto es algo barato. Luego, mire un video de YouTube (hay medio millón) y pase un tiempo con una PCB vieja que puede sacrificar y desoldar / limpiar / soldar algunos componentes. No creerías lo instructivo que es esto, para saber qué esperar, obtener la temperatura correcta, etc. Hablando por experiencia … ¡Empecé a SMD cambiando el conector de pantalla en un iPod touch y eliminé el primero!
De hecho, la PCB Atmoscan es compacta y ese IC no es fácil. Una vez más, no te recomiendo que hagas esto como tu primera soldadura SMD. El QFN no es un paquete amigable a pesar de que ya solté un número. Nunca estás seguro de haberlo hecho bien …
En Atmoscan, lo soldé primero, luego sus componentes circundantes para poder probar que la parte de carga de la placa estaba funcionando, luego completé todo el resto. A partir de las imágenes adjuntas, debería poder inferir la orientación de los componentes. Usé bibliotecas de componentes de dominio público y la orientación no es muy evidente en la serigrafía.
A mi manera: primero puse un poco de soldadura en las almohadillas con la plancha. Luego, un montón de flujo (SMD específico) y coloqué cuidadosamente el IC con unas pinzas. Luego, calienta todo a alrededor de 200 / 220C (por debajo del punto de fusión) para evitar tensiones debido al calentamiento desigual. Luego aumenté la temperatura a 290 ° C más o menos y alrededor del IC. Si pones un poco de soldadura en una almohadilla cercana, verás cuando la temperatura está en el punto de fusión, ya que brillará.
Después de eso, lo limpié con alcohol isopropílico y lo inspeccioné cuidadosamente con una cámara USB barata. Los problemas típicos son la alineación y la cantidad de soldadura, ya que es posible que algunos pines no estén conectados. En algunos casos tuve que volver a usarlo con un pequeño soldador para agregar un poco más de soldadura a algunos pines, ya que este IC tiene una almohadilla térmica debajo que también debe soldarse. Esto hace que sea un poco complicado adivinar la cantidad de soldadura y puede suceder que demasiada soldadura debajo la levante de modo que los pines no toquen la PCB.
Habiendo dicho eso, no quiero asustarte. Completé 3 tableros y nunca maté estos circuitos integrados … Una vez tuve que quitarlos, limpiarlos y reiniciarlos desde cero, pero al final funcionó. Una vez más, no es muy fácil pero factible.
¿Dónde compraste los componentes?
Principalmente en eBay y Aliexpress. Sin embargo, los de marca son originales (Seeed, Pololu, Sparkfun).
A continuación se muestran algunos enlaces INDICATIVOS. Nota: mire a su alrededor, puede encontrar ofertas incluso más baratas …
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ón La placa Atmoscan incluye un circuito de programación que está en línea con el NodeMCU. La conexión en serie se utiliza normalmente para la primera programación. Después de eso, la programación OTA a través de wifi es la opción preferida, ya que se puede hacer con la unidad completamente ensamblada. ¡No olvide que el puerto serie lo utiliza normalmente el sensor de partículas!
Para programar la placa con serie, se debe conectar un adaptador USB-Serie (por ejemplo, FTDI232 o similar) al conector J7 (junto al botón de reinicio) siguiendo el pinout en el esquema. El programa se puede cargar sin sensores conectados, excepto que la línea de interrupción del sensor geiger debe estar conectada a GND, de lo contrario la placa no arrancará (para hacerlo, conecte los pines 1 y 3 en el conector RAD). La forma más fácil de probar la placa sin usar el boceto principal, por lo tanto, sin la complejidad de los sensores, es cargar ESTE programa simple a través de un cable serial. Crea un punto de acceso wifi que permite flashear más con el programa principal.
IMPORTANTE: No olvide usar la configuración 4M / 2M SPIFFS según las instrucciones, de lo contrario, el programa principal no encajará. La placa debe inicializarse a través de la programación en serie con esa configuración; de lo contrario, es posible que tenga problemas con OTA más adelante.
Desafortunadamente, la inicialización de algunos sensores se bloquea si los sensores no están presentes (depende del proveedor de la biblioteca). Un ejemplo es la biblioteca de sensores multigas. Para asegurarse de que Atmoscan se inicie correctamente con el firmware completo, puede deshabilitar el proceso relacionado, consulte el punto de preguntas y respuestas relacionado. Una forma sencilla de deshabilitar TODOS los sensores para la prueba es comentar la línea #define ENABLE_SENSORS en el archivo GlobalDefinitions.h.
Cuando la placa arranca el boceto principal por primera vez, debe reconocer que no está configurado y debe abrir un punto de acceso wifi, al que puede conectarse y configurarlo. Entre las configuraciones, hay un servidor syslog que ayuda mucho a la depuración. También puede aumentar el nivel de registro descomentando #define DEBUG_SYSLOG en el archivo GlobalDefinitions.h. Tenga en cuenta que en el mismo archivo también hay un #define DEBUG_SERIAL que se utilizó durante la depuración inicial. Si no se comenta, genera _algunos_ registros residuales, pero mínimos. Una tarea pendiente era siempre hacer que el registro fuera uniforme y seleccionable, pero nunca tuve tiempo de limpiarlo.
¿Ha modificado las bibliotecas que utilizó? ¿Se necesita alguna configuración? (a diferencia de descargar y compilar)
Buena pregunta, olvidé mencionar ese punto. De hecho, se necesitan algunas modificaciones / configuraciones:
- Biblioteca https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - declaraciones de depuración en serie. ¡Necesita ser comentado, ya que el puerto serie se usa para un sensor!
- Biblioteca https://github.com/Bodmer/TFT_eSPI: requiere un archivo de configuración donde se especifican la asignación de pines y la frecuencia SPI
- Biblioteca https://github.com/lucadentella/ArduinoLib_MAX1704… - Al mirar los comentarios y las solicitudes de extracción, noté que hay una corrección de errores que nunca se combinó
Por lo que recuerdo, debería ser así. Avísame si surge algún problema.
NOTA: Consulte los comentarios en el código fuente más reciente; contiene enlaces a todas las bibliotecas necesarias y se mantiene actualizado
¿Por qué algunos sensores están leyendo en rojo y algo en verde en el video / imágenes?
El color indica tendencia. Empieza en blanco y si sube es rojo, si baja es verde.
¿Cómo maneja la deriva de los sensores a lo largo del tiempo? ¿Qué tan buenos son estos sensores? ¿Qué puedo ver con estos sensores?
Honestamente, este no es un kit de medición científica. Para calibrar necesitaría un equipo que no tengo disponible. Este es realmente un proyecto favorito. Probé varios sensores. La partícula, CO2, temperatura, humedad, presión, Geiger son bastante buenos en mi opinión. Sobre el NO2 tengo reservas sobre la calibración y el diseño general, pero no hay mucho disponible. En general, son sensores convencionales.
Sin embargo, la combinación es lo suficientemente buena como para mostrar cosas inesperadas.
Con el Atmoscan en la sala de estar y la cocina a una habitación de distancia, detecta enormes picos de partículas cuando, p. Ej. freír cosas. Siente el NO2 del tráfico matutino incluso con las ventanas cerradas.
¿Era realmente necesario un contador Geiger? ¿Muestra algo útil?
Afortunadamente no hemos tenido incidentes nucleares y la guerra aún no llega… Aún así, hay plantas nucleares no tan lejos y el gobierno distribuye pastillas de yodo para que los niños las guarden en el cajón en caso de incidentes… así que sospeché. Hasta ahora tengo que decir que las lecturas están exactamente en línea con la radiación de fondo esperada (0.12 uSv / h)
¿Cuál es el costo total del dispositivo?
Ya tenía muchos componentes en casa y los enlaces de arriba te dan una idea. Honestamente, si compra un NetAtmo listo para usar o similar, ahorrará dinero. ¡No se puede vencer a una empresa china que hace cosas a gran escala! Sin embargo, si te gusta hacer tal vez junto con tus hijos, vale la pena. Lo bueno es que ya probé (y descarté) varios sensores para ti….
¿Qué hay de los PCB? ¿Puedes venderme uno?
Originalmente tenía 10 de ellos hechos por dirtypcbs.com y mis archivos funcionaron bien. De buena calidad y bastante barato, 25 USD / 20 euros por 10 PCB. Usé dos y me complace enviar los restantes por el costo total (2 euros + envío, según la ubicación y las preferencias de envío). Me temo que tendré que elegir los primeros que me envíen un mensaje privado.
¿Puedes hacer un kit o una campaña de kickstarter?
Halagador, pero sinceramente nunca pensé que fuera lo suficientemente innovador… y además, ¡¡NO HAY TIEMPO !!
Sin embargo, si alguien retoma la idea, se necesitaría una segunda iteración. Hay algunos bordes afilados en el diseño que valdría la pena corregir, pero nuevamente nunca tuve suficiente tiempo para V2.
En el hardware: ¿Puedo agregar / quitar un sensor, la pantalla, etc. para expandir las capacidades / reducir el consumo de energía?
La pantalla está conectada sin usar MISO, por lo que la CPU nunca lee desde la pantalla. Por lo tanto, simplemente no podría conectar la pantalla y funcionaría bien. Dicho esto, la pantalla está encendida solo por un tiempo después de que se detectó el último gesto, por lo que realmente no afecta el consumo de energía.
En cambio, los sensores necesitan mucha energía y todo el sistema usa fácilmente 400 / 500mA. No olvide el ventilador y también el hecho de que el sensor de partículas también tiene un ventilador incorporado. El ESP tampoco entra en modo de suspensión debido a la falta de pons GPIO. Sin embargo, eso quizás habría ahorrado 20 mA …
El software es modular y puede agregar / eliminar procesos y pantallas fácilmente para que pueda agregar sensores o hacer que se encienda la energía quitando algunos, si lo desea. La única limitación es la cantidad de pines GPIO. Sin embargo, los sensores se pueden agregar fácilmente si I2C, o alternativamente, se podría usar un expansor I2C para agregar GPIO …
Para deshabilitar un sensor, por ejemplo, para probar una compilación parcial, en mi opinión, la mejor manera sería no iniciar el proceso relacionado. Esto se puede lograr comentando la llamada enable () relacionada en la función void startProcesses () en el archivo.ino principal. A menos que desee modificar estructuralmente el sistema, no eliminaría los procesos por completo, ya que la pantalla y los procesos MQTT los sondearán. De esta manera, deberían devolver cero. Tenga en cuenta que la entrada de interrupción para la placa geiger se bajará si no se utiliza, de lo contrario, la placa no arrancará.
¿Cuáles son las mejoras que habría realizado si tuviera tiempo para una V2.0?
Sin ningún orden en particular..
- El PCB podría evitar el cobre detrás de la antena ESP8266. Lo olvidé por completo y hace que el diagrama de radiación no sea isotrópico.
- En mi opinión, el cargador tiene un tamaño insuficiente para una batería tan grande / la batería es demasiado grande para el cargador. Hay otros circuitos integrados y probaría con otro.
- Hay mejores indicadores de batería.
- Agregaría un sensor de ozono
- Usaría un ESP32 para más sensores GPIO y Bluetooth fuera de la unidad principal.
- Si tuviera más GPIO con el ESP32 o con un expansor I2C, usaría uno para controlar el ventilador y otro para apagar la unidad desde el software. Ahora, cuando la batería está baja, lo único que puede hacer es mostrar una pantalla de batería baja. De hecho, este es el mayor inconveniente del diseño, ya que la situación de batería baja no se maneja con elegancia.
Sobre el software
Me tomó más tiempo que el hardware … Creo que contiene una serie de buenos conceptos, lamentablemente no completamente implementados. Específicamente, creo que debería limpiarse, potencialmente expandirse y un marco genérico para aplicaciones ESP8266 podría derivarse fácilmente de él. No hay tiempo. ¿Alguien acepta el desafío?
¿Puedes agregar control por voz?
Debería ser factible. Hay una serie de bibliotecas listas para usar para controlar un ESP8266 con Alexa y no veo por qué la integración debería ser un problema. La pregunta interesante es qué quieres hacer con él, en cuanto a funcionalidad. No tengo un Amazon Echo, así que nunca lo probé.
¿Cómo hiciste los cortes con láser?
Los dibujos están hechos con SketchUp. El programa es bueno pero carece seriamente de capacidades de exportación. Sin embargo, la versión de prueba de 30 días ayuda, ya que tiene una funcionalidad adicional. Luego lo importé en Inkscape para su procesamiento final.
¿Puede encender / apagar los sensores para ahorrar energía, a través de MOSFET?
Buena idea en principio, pero la mayoría de estos sensores necesitan estar encendidos todo el tiempo ya que tienen un tiempo de calentamiento. Además… me quedo sin GPIO en el ESP8266. Incluso tuve que usar GPIO10 que oficialmente no es funcional, pero funciona bien en el ESP12E.
¿Qué habilidades necesitaría?
Para construirlo desde cero, necesitaría algo de experiencia en diseño de electrónica. Realmente no mucho, hoy en día con Internet realmente no necesitas leer las hojas de datos línea por línea como en mis primeros días … Si usas el resultado de mi experimentación, necesitas algunas habilidades de soldadura SMD, habilidades mecánicas y algo de paciencia.
¿Es este tu primer proyecto?
Es mi primer proyecto instructable pero no mi primer. Hice muchos retoques en el pasado, pero realmente no tengo mucho tiempo hoy en día. ¡Resucité mis habilidades oxidadas mientras trato de enseñar algo útil a mis hijos..! Hice algunos proyectos más que quizás algún día publique.
Recomendado:
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática Este / Oeste: 11 pasos (con imágenes)
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática de este a oeste: El proyecto: Una oficina de 200 pies cuadrados debe funcionar con baterías. La oficina también debe contener todos los controladores, baterías y componentes necesarios para este sistema. La energía solar y eólica cargará las baterías. Hay un pequeño problema de solo
Cómo: Instalación de Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: 7 pasos (con imágenes)
Cómo: Instalar Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: planeo usar este Rapsberry PI en un montón de proyectos divertidos en mi blog. No dudes en comprobarlo. Quería volver a usar mi Raspberry PI, pero no tenía un teclado ni un mouse en mi nueva ubicación. Ha pasado un tiempo desde que configuré una Raspberry
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: 6 pasos (con imágenes)
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: ¡Hola, chicos! Akarsh aquí de CETech. En este proyecto, vamos a echar un vistazo a HuskyLens de DFRobot. Es un módulo de cámara impulsado por inteligencia artificial que es capaz de realizar varias operaciones de inteligencia artificial como el reconocimiento facial
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: 6 pasos (con imágenes)
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: ya escribí un artículo sobre cómo ejecutar demostraciones de OpenMV en Sipeed Maix Bit y también hice un video de demostración de detección de objetos con esta placa. Una de las muchas preguntas que la gente ha hecho es: ¿cómo puedo reconocer un objeto que la red neuronal no está tr
Cómo desmontar una computadora con sencillos pasos e imágenes: 13 pasos (con imágenes)
Cómo desmontar una computadora con sencillos pasos e imágenes: esta es una instrucción sobre cómo desmontar una PC. La mayoría de los componentes básicos son modulares y se quitan fácilmente. Sin embargo, es importante que se organice al respecto. Esto ayudará a evitar que pierda piezas y también a que el reensamblaje sea más fácil