Taula de continguts:

Rellotge despertador Oled: 8 passos (amb imatges)
Rellotge despertador Oled: 8 passos (amb imatges)

Vídeo: Rellotge despertador Oled: 8 passos (amb imatges)

Vídeo: Rellotge despertador Oled: 8 passos (amb imatges)
Vídeo: ПРИГОТОВИЛ ОГРОМНЫХ КАРАСЕЙ В СМЕТАНЕ. РЕЦЕПТ. ГОТОВИТ Липован. ENG SUB. 2024, Juliol
Anonim
Rellotge despertador Oled
Rellotge despertador Oled

Hi ha molts rellotges arduino / ESP32 circulant, però fan servir aquests OLEDs agradables i nítids?

Fa temps que experimento amb arduinos i ESP32, però mai no he arribat a un producte acabat. He fet un despertador amb 4 OLED monocromàtics de 1,3 polzades. El rellotge també inclou una làmpada de nit regulable i un port de càrrega USB (ningú no disposa de sortides de recanvi al costat del llit). Els OLED també són regulables; això es va afegir a l’últim moment després que la meva xicota amenaçés el meu projecte. Si la veu de les nòvies no fos prou fosca, també puc proporcionar una versió del codi on s'alimenten 3 pantalles entre certes hores. L'objectiu era fer un rellotge fàcil de reparar, amb una mirada més enllà del "prototip". Mentre feia el rellotge, vaig trobar algunes dificultats que havia de resoldre, per això crec que val la pena compartir aquest instructiu. El rellotge es pot fer amb petites eines, no m'agraden els tutorials "i per al següent pas he utilitzat els meus 10.000 € / $ molí CNC".

Algunes coses que s’explicaran en aquest instructiu (in-structable-ception):

- Com utilitzar / connectar una pantalla OLED I2C amb arduino / ESP32

- Com utilitzar diversos objectes I2C amb un arduino / ESP32

- Com fer un menú "capaç de desplaçar-se" mitjançant un codificador rotatiu (+ com utilitzar un codificador amb un ESP32 / arduino)

- Com dissenyar i demanar un PCB personalitzat amb fritzing.

- El rellotge també utilitza un RTC (rellotge en temps real), controlador led, mòdul de tensió reduït … No hi entraré, perquè hi ha molta informació disponible per a aquests mòduls.

Voldria constatar que no sóc un programador professional. L’objectiu del meu instructiu és explicar els punts que he esmentat anteriorment. És possible que no sigui la manera més neta de combinar-ho tot per al meu producte final. És la manera que em va permetre fer un seguiment de tot plegat.

Subministraments

Quan compro subministraments, sempre intento analitzar la importància de la qualitat / documentació en comparació amb el preu. Els meus subministraments són una barreja de marques A i peces xineses més econòmiques. Mouser és un gran proveïdor si la qualitat és important, demano a Banggood / Aliexpress les parts més econòmiques.

- Un tauler ESP32, he utilitzat el Huzzah32 d’Adafruit, però hi ha moltes altres opcions (més barates). He triat el Huzzah32 perquè està molt ben documentat.

- 4 pantalles OLED I2C de 1,3 polzades (128x64, amb el controlador SH1106), les de 0,96 "són més habituals, però per a aquest projecte prefereixo les de 1,3"

- Controlador femtobuck Sparkfun per accionar el LED

- Rellotge RTC, n’he utilitzat un amb una cèl·lula de liti

- Arduino nano

- Port USB 2.0 femella (he utilitzat: SS-52200-002 de Stewart Connector)

- Connector de corrent continu femení (he utilitzat: L722A de Switchcraft)

Adaptador de CC de 12V 3A (GST36E12-P1J de Mean Well)

- PCB personalitzat, opcional, però això fa que el projecte sigui molt més compacte i fàcil de fer servir si una peça mor + més fiabilitat perquè hi ha menys cables (jlcpcb.com)

Cargols i cargols M3

Insercions de llautó M3

- Mòdul reductor de 12V a 5V de Pololu (DF24V22F5)

- 3 watts alimentats amb dissipador de calor

- Cavalls de pont

- Zumbador

- Multiplexor I2C (TCA9548A d'Adafruit)

- 2 codificadors rotatius (n’he provat alguns, no tots funcionen amb el meu codi. El de "DFrobot" funciona i el de la placa rodona de "DIYmore". El meu codi no sembla que funcioni per al polsador del tipus KY-040. El meu despertador utilitza el de DIYmore perquè són molt fàcils de muntar al panell (no calen cargols / forats addicionals).

- Assortiment de capçaleres femenines (opcional)

- Fusta per al marc: 18mmx18mmx2400mm

- Paper de calç

També he utilitzat algunes eines (soldador, 3a mà, serra …), però res realment exòtic.

Pas 1: utilitzar un Oled

Utilitzant un Oled
Utilitzant un Oled
Utilitzant un Oled
Utilitzant un Oled
Utilitzant un Oled
Utilitzant un Oled

Per utilitzar els OLED cal instal·lar una biblioteca. Faig servir l’U8G2lib d’Oli Kraus, és molt comprensible i té una guia de referència amb exemples clars.

Per connectar la vostra placa (ESP o arduino) heu de trobar pins SDA i SCL. Aquests pins són els pins de comunicació I2C. Google per obtenir el "pinout" del tauler específic si no el trobeu.

He afegit algun exemple de codi. El codi funciona tant per arduino com per ESP32, però és menys probable que l’ESP32 s’esgoti la memòria. Tots els oleds que he provat fins ara funcionen tant amb 3.3v (ESP32) com amb 5V.

Pas 2: diversos OLED

Múltiples OLED
Múltiples OLED

Aquí és on el meu projecte comença a diferir dels altres rellotges despertadors. La majoria dels arduinos / ESP només tenen un o dos pins I2C. Aquest tipus de límits fan servir l’ús de peces I2C. Què passa si tinc 4 sensors I2C i vull mostrar les seves lectures en una pantalla I2C? Introduïu el multiplexor. El multiplexor us permet abordar 7 parts I2C diferents. Això permet que el meu ESP32 utilitzi un rellotge de temps real I2C i pugui tornar a mostrar l’hora fent servir I2C a les 4 pantalles (o més, no em deixeu aturar).

He afegit algun exemple de codi per a l'ESP32, a partir d'aquí no estic segur que l'arduino pugui continuar. L'exemple només utilitza pantalles, també poden ser altres coses, com ara sensors I2C, etc. El principi sempre és el mateix, anomeneu el canal correcte amb el "tcaselect (#);" funció, llavors executeu el codi necessari per al vostre objecte I2C.

Pas 3: crear un menú desplaçable amb un codificador rotatiu

Creació d’un menú desplaçable amb un codificador rotatiu
Creació d’un menú desplaçable amb un codificador rotatiu
Creació d’un menú desplaçable amb un codificador rotatiu
Creació d’un menú desplaçable amb un codificador rotatiu
Creació d’un menú desplaçable amb un codificador rotatiu
Creació d’un menú desplaçable amb un codificador rotatiu

Primer de tot, proveu els codificadors. He afegit algun codi per provar els vostres mòduls de codificador. Com s’indica als subministraments: només he provat amb èxit el meu codi amb els mòduls de codificador rotatiu del robot DF i el mòdul amb el PCB rodó de DIYmore. Vegeu les imatges anteriors per obtenir els codificadors adequats.

La biblioteca que he utilitzat és aquesta:

El PDF que he afegit és d’esperar que ajudi a l’estructura de menú que he utilitzat per al rellotge.

Fer que el codificador funcioni, va ser la part més difícil per a mi en aquest projecte. Hi ha molts codificadors diferents i moltes biblioteques diferents que no sempre són compatibles amb l’ESP32. Però crec que un codificador rotatiu (que funciona) és una solució elegant si voleu introduir alguna cosa. Si hagués fet servir només botons, hauria necessitat més d’un i definir el temps necessitaria moltes pressions.

Pas 4: Posar el codi anterior Togetther

Posar el codi anterior Togetther
Posar el codi anterior Togetther

El títol resumeix el que vaig fer. Vaig provar part per part i després ho vaig ajuntar tot. Però com que res no és mai fàcil, he hagut de canviar algunes coses. La comunicació en sèrie és un procés lent. Això dificulta la lectura correcta del codificador. Per superar-ho, he afegit interrupcions als pins del codificador. El codi per llegir el codificador es crida immediatament si premeu o gireu el codificador.

Un cop hàgiu entès com es construeixen els menús, trobareu que és molt fàcil afegir o eliminar funcions al vostre gust. Potser voldríeu obtenir el temps o l'hora actuals a Internet i mostrar-los?

He deixat de banda moltes d'aquestes idees perquè volia sobretot una pau temporal fiable. Un que no fa res automàticament. Treballo hores molt estranyes en una zona d’estiu. Cada vegada que es canvia l’hora, estic nerviós de dormir massa. El meu telèfon canviarà automàticament l’hora? El meu rellotge? Bé, el meu rellotge no ho farà, tret que el canviig jo mateix. Però potser voleu posar el rellotge a la cuina? Escenari diferent: afegiu funcions fins que la memòria s'esgoti.

Pas 5: PCB personalitzat amb Fritzing + Schematic

PCB personalitzat amb esquema Fritzing +
PCB personalitzat amb esquema Fritzing +
PCB personalitzat amb esquema Fritzing +
PCB personalitzat amb esquema Fritzing +
PCB personalitzat amb esquema Fritzing +
PCB personalitzat amb esquema Fritzing +

Punt d'atenció: Adafruit assenyala que, tot i que podeu alimentar el huzzah32 mitjançant el pin USB, heu de tenir cura de no utilitzar simultàniament la presa d'alimentació micro USB. El meu PCB s’alimenta a través del bit down down, que després alimenta el huzzah mitjançant el pin USB. Així que sempre desconnecteu l’alimentació externa / traieu la huzzah del tauler quan la pengeu.

Vaig decidir soldar capçaleres femenines al PCB perquè fa més fàcil canviar una peça o afegir, per exemple, un sensor I2C addicional. Això també em permet eliminar fàcilment el nano o l’ESP32 per carregar els programes.

He afegit el fitxer Frizting, aquí puc escriure una novel·la, però crec que l’exemple parla millor. Vaig començar amb l'esquema de tota la configuració. Tot i que Fritzing té moltes parts als contenidors, no tot hi és. De vegades podeu trobar la part Fritzing a Internet, de vegades no. Les parts que no he pogut trobar, simplement les he substituït per una part femenina de capçalera. Si hi feu clic amb el botó dret, podeu editar la capçalera a la quantitat de pins que vulgueu i assignar-li un pinout. Ho feia amb totes les parts que no trobava. Com que gairebé tots els mòduls fan servir el mateix pas de 2,54 mm (0,1 polzades), això us proporcionarà l'espai correcte per a la peça.

A continuació, canvieu a la vista PCB de l'aplicació Fritzing. Es posarà un PCB, si hi feu clic, podeu configurar-ne la mida i triar un PCB de capa simple o doble. La meva utilitza 2 capes. Fritzing us suggerirà les connexions que heu fet a la vista esquemàtica. El programa té una opció d’autoruta, però mai l’utilitzo. M’agrada organitzar les meves connexions manualment. A la vista del PCB, les connexions grogues es troben a la capa superior i el taronja a la capa inferior. De nou, si feu clic a la connexió, podeu triar-ne les propietats.

Per crear el PCB real, heu d’exportar-lo com a fitxer gerber. Abans de fer-ho, a la pestanya "enrutament" podeu consultar les regles de disseny. Si tot es comprova, podeu fer clic a "exporta per PCB". La majoria dels fabricants demanaran un fitxer gerber; per tant, seleccioneu exporta a gerber.

He demanat el meu PCB a JLCPCB, m'agrada que immediatament us indiquin un preu. Per descomptat, hi ha moltes altres opcions.

Quant a l’esquema: s’utilitzen 2 voltatges. El LED i femtobuck s’alimenten directament mitjançant l’alimentació de 12V. La resta s’alimenta a través de 5 volts.

Pas 6: Disseny + Lasercutter

Disseny + Lasercutter
Disseny + Lasercutter
Disseny + Lasercutter
Disseny + Lasercutter

Per al meu primer disseny, vaig provar d’utilitzar roure massís (segueixo classes de fusta), però va quedar clar que no era l’ideal. La fusta és massa gruixuda, cosa que dificulta l’adaptació de les parts. El multiplex de bedoll de 3 mm permet fer maneres més fàcils de subjectar els codificadors i les pantalles.

Vaig trobar un servei de tall de lasercut en línia, snijlab.nl, disponible per a aficionats ubicats a Rotterdam (enviats a Bèlgica, els Països Baixos i Alemanya). Al seu lloc web podeu penjar els vostres dibuixos i immediatament citen el vostre preu. He utilitzat Autocad, que tinc a la feina, però el programari realment no importa. Només ha de ser un dibuix vectorial (Vectr, Illustrator, Inkscape …). La majoria de botigues utilitzen colors per determinar si voleu tallar o gravar.

Algunes coses a tenir en compte:

- Màx. dimensions del trencaclosques (vaig dibuixar un marc al voltant de les meves parts)

- Mín. distància entre talls

- Assegureu-vos de no traçar cap línia doble, ja que el làser farà una passada addicional i us costarà més.

- Quan consulteu el format PDF, assegureu-vos de dibuixar 1: 1. No voleu reduir ni ajustar-vos al paper.

Pas 7: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

Vaig construir el rellotge al voltant d’un marc de fusta, els panells es mantenen al seu lloc amb cargols M3 i insercions al marc. En cas de construir una versió 2, faria servir perfils "L" d'alumini per fixar els panells. Era molt difícil perforar amb precisió els forats de les insercions de llautó. Em va costar molt de temps, només obtenir un resultat acceptable. Això significaria, per descomptat, que s'ha de revisar el dibuix en forma de tall. Crec que amb perfils d’alumini i només cargols i femelles obtindríeu un millor resultat.

Per difondre millor la llum, he enganxat paper de calc a la part interior de les perforacions. Això li dóna una bona brillantor a la llum.

Pas 8: No us atureu aquí

No us atureu aquí
No us atureu aquí
No us atureu aquí
No us atureu aquí
No us atureu aquí
No us atureu aquí

El projecte se centra al voltant d’un ESP32, amb prou feines l’he utilitzat. Actualment, els llums del meu dormitori es poden controlar a distància mitjançant blynk. Controlar-los amb el rellotge és només un petit pas més. Potser voleu algunes pantalles addicionals que us mostrin la temperatura al voltant de casa vostra? O alguns sensors locals (encara hi ha connexions I2C de recanvi en aquest multiplexor!). Potser configureu l'hora / l'alarma mitjançant una aplicació i Bluetooth?

Feu-me saber què heu canviat, què canviaríeu, què hauria de canviar …

Recomanat: