Taula de continguts:
- Pas 1: parts i components
- Pas 2: el sensor
- Pas 3: Personalització del rellotge en temps real
- Pas 4: Altres varis a bord
- Pas 5: esquema
- Pas 6: programari i lògica
Vídeo: Postino: El carter va lliurar alguna cosa ?: 6 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Ni idea meva: un dia un amic em va demanar una manera de comprovar remotament si hi havia cap missatge de correu a la seva bústia. La bústia de correus no es troba al camí de la porta, de manera que, com que és un noi mandrós, es va preguntar si un aparell tecnològic hauria de poder advertir-lo de qualsevol carta a la bústia. Vaig fer una ullada al mercat i no vaig poder trobar cap dispositiu ja preparat i adequat a les seves necessitats, així que em vaig plantejar un repte: per què no dissenyar-lo i construir-lo?
Les restriccions eren:
- alimentat per bateria amb una vida útil raonable entre els canvis de bateria;
- Comunicació WiFi;
- comproveu només un cop al dia si hi havia correu o no;
La pregunta principal era: quin tipus de sensor podia ajustar-se als meus requisits? Un sensor de proximitat no podia funcionar, ja que la comprovació s’havia de fer només un cop al dia i no en temps real; cap sensor de pes tampoc, ja que això hauria afegit problemes de complexitat i sensibilitat (un full de paper podria ser molt lleuger). La meva elecció es va basar en un sensor de temps de vol (un micro làser). Un cop calibrat per a la mida de la bústia, qualsevol cosa que estigués al centre hauria activat el sensor. Tenint en compte les 3 restriccions, vaig decidir utilitzar un ESP8266 (executant el programari i enllaçant a WiFi), un sensor de temps de vol VL6180 per a la mesura i un rellotge en temps real DS3231 per activar tots els circuits un cop al dia: així era. Va néixer Postino!
Pas 1: parts i components
- ESP8266-01 (o ESP-12E NodeMCU)
- VL6108 Sensor de temps de vol
- DS3231 Rellotge en temps real
- IRLZ44 MosFET del canal N
- BC547 Transistor
- Resistències
- Bateria CR123
Pas 2: el sensor
El cor del sistema és el sensor VL6180. Es tracta d’una tecnologia innovadora que permet mesurar la distància absoluta independentment de la reflectància de l’objectiu. En lloc d’estimar la distància mesurant la quantitat de llum reflectida des de l’objecte (que està influenciada significativament pel color i la superfície), el VL6180X mesura amb precisió el temps que la llum triga a viatjar fins a l’objecte més proper i a reflectir-se cap al sensor (Temps -de-vol). Combinant un emissor IR, un sensor d’abast i un sensor de llum ambiental en un paquet refluxable llest per utilitzar tres en un, el VL6180X és fàcil d’integrar i estalvia al fabricant de productes finals llargues i costoses optimitzacions de disseny òptic i mecànic.
El mòdul està dissenyat per a un funcionament de baixa potència. He utilitzat la placa de sortida Pololu que té reguladors de tensió a bord que li permeten treballar en un rang de tensió d’entrada de 2,7 V a 5,5 V.
El sensor permet 3 factors d’escala vàlids que estableixen l’interval màxim de la mesura de 20 a 60 cm, amb diferents sensibilitats. En configurar un factor d’escala d’abast, es pot augmentar l’abast màxim potencial del sensor a costa d’una resolució més baixa. Establir el factor d’escala a 2 proporciona un abast de fins a 40 cm amb una resolució de 2 mm, mentre que un factor d’escala de 3 proporciona un abast de fins a 60 cm amb una resolució de 3 mm. Heu de provar les 3 escales amb les dimensions de la vostra bústia de correu. Com que el meu feia 25 cm (H), vaig utilitzar un factor d’escala = 1.
Pas 3: Personalització del rellotge en temps real
Per al RTC he utilitzat un tauler DS3231 que inclou una EEPROM (inútil per al meu propòsit) i una bateria de mida de moneda. Quan vaig decidir alimentar el RTC mitjançant la bateria del dispositiu principal (un CR123 de 3v), vaig treure la bateria de la moneda; per estalviar energia, també vaig treure l'EEPROM (tallant amb cura els passadors) i el led de bord.
La bateria de monedes no em va ser útil perquè no calia mantenir la data / hora / minut / segon en temps real, però l’RTC només havia de comptar durant 24 hores i després activar l’alarma per encendre el dispositiu.
Pas 4: Altres varis a bord
L'encesa del dispositiu es realitza mitjançant un transistor i un circuit MosFET, activat per l'alarma RTC. Un cop restablerta l'alarma, el circuit tanca l'alimentació del dispositiu durant un cicle de 24 hores més. Quan s’arriba a l’alarma, el DS3231 commuta un pin d’alç a baix: en condicions normals, el transistor està saturat i es posa curt a la porta de MosFET. Un cop l’alarma porta a terra la base del transistor, s’obre i permet al MosFET tancar el circuit i donar energia a la resta de components.
A més, he afegit un pont “test-1M”. L'objectiu d'aquest commutador és, si està activat, canviar el cicle d'una vegada al dia a un per minut, per tal d'executar proves de desplegament. Per canviar l'interval d'un dia a un minut, primer heu de tancar el pont "Test-C" durant uns 15 segons, passar el període d'activació de l'alarma del rellotge i encendre el dispositiu. Quan hagueu fet les proves, obriu els ponts i reinicieu el dispositiu (alimentació del cicle).
Pas 5: esquema
Pas 6: programari i lògica
Durant les proves he utilitzat (per raons pràctiques) un controlador NodeMCU, de manera que el programari s’encarrega establint la variable CHIP a “NodeMCU” o “esp8266”.
L’esbós implementa la biblioteca WiFiManager per permetre que el dispositiu es connecti a un punt de connexió WiFi vàlid durant la primera execució. En aquest cas, el dispositiu passa al mode AP, cosa que us permet connectar-vos-hi i triar la xarxa WiFi adequada per unir-vos-hi. Després d'això, la configuració de xarxa es desa a l'EPROM per a cicles posteriors.
La variable REST_MSG conté el missatge http que cal enviar quan el sensor troba un objecte a la bústia de correu. En el meu cas, envia un missatge a un servidor REST domòtic, però el podeu canviar segons vulgueu: un missatge Telegram BOT, un esdeveniment IFTTT WebHook, etc.
La resta de l'esbós es troba a la funció setup (), ja que no s'arriba mai al bucle. Després de les configuracions necessàries per a les diverses biblioteques, el programari estableix l'hora del rellotge a 00:00:01 i l'alarma a un cop al dia (o un cop al minut si el pont "test-1M" està activat). A continuació, fa la mesura, envia la notificació (si es troba algun objecte a la bústia de correu) i restableix el pin d'alarma, apagant el dispositiu. Al final del cicle, només s’encén el RTC, comptant durant 24 hores. El pont Test-1M està connectat al pin RX de l'ESP8266, utilitzat com GPIO-3 mitjançant la configuració: setMode (PIN, FUNCTION_3). Per això, no podeu utilitzar el monitor de sèrie mentre executeu l’ESP8266: la línia “#define DEBUG” (que permet fer totes les impressions en sèrie a l’esbós) només s’utilitza quan s’instal·la un NodeMCU en lloc d’un ESP8266.
L'ESP8266 gestiona la comunicació I2C amb el RTC i el sensor a través dels seus pins GPIO-0 i GPIO-2, inicialitzats a la biblioteca Wire.
El codi complet es pot descarregar des d’aquest enllaç.
Accèssit al concurs d'assistència tècnica
Recomanat:
Alguna cosa ESP: 6 passos
Alguna cosa d’ESP: El meu propòsit aquí és compartir la meva experiència amb l’ESP8266 a través dels mòduls ESP-01, ESP-12 i NodeMCU. Us explicaré: 1. Com connectar ESP-01 al vostre ordinador 2. Torneu a carregar el microprogramari AT3. Utilitzeu Arduino IDE per programar el chip4. Experiència de MCU de node5
Feu alguna cosa agradable amb una consola de joc trencada: 6 passos
Feu alguna cosa agradable amb una consola de joc trencada: fa un temps el meu amic em va donar la seva vella PS2 que ja no funciona. Malauradament, com que no sóc enginyer elèctric, no puc arreglar la consola, però puc utilitzar el meu coneixement de RetroPie per crear un sistema de joc completament nou. (Per aquest instructiu jo
Com modificar el motor de corrent continu en alguna cosa sorprenent: 5 passos
Com modificar el motor de CC en alguna cosa increïble: Hola amics, en aquest instructiu he fet una increïble modificació del meu vell motor de corrent continu en què es pren el cos del motor i la rotació del rotor és ben visible … Seguir llegint
Com emular un comandament a distància o una altra cosa amb Arduino Irlib: 3 passos (amb imatges)
Com emular un control remot de TV o una altra cosa amb Arduino Irlib: Introducció Hola a tothom i benvinguts al meu primer instructable. Avui aprendrem, com diu el títol, a emular el control remot de TV o alguna cosa similar que funcioni amb senyals infrarojos mitjançant Arduino (qualsevol model) El problema era: Com puc transmetre codis a un
Convertiu un aparell de plàstic genèric en Alguna cosa més bonic: 14 passos (amb imatges)
Convertiu un aparell de plàstic genèric en Something a Little More Beautiful: Motivació: Durant l’estiu estic navegant o treballo en projectes al voltant del nostre petit jardí o granja. L’hivern és a tocar aquí a Boston i estic preparat per començar a atacar la llarga llista de projectes que he ajornat per als “mesos interiors”. Tanmateix, tinc