Taula de continguts:

Rellotge de visualització mecànic de 7 segments: 7 passos (amb imatges)
Rellotge de visualització mecànic de 7 segments: 7 passos (amb imatges)

Vídeo: Rellotge de visualització mecànic de 7 segments: 7 passos (amb imatges)

Vídeo: Rellotge de visualització mecànic de 7 segments: 7 passos (amb imatges)
Vídeo: Пилотируйте Cessna вокруг света! 🛩🌥🌎 - Geographical Adventures GamePlay 🎮📱 🇷🇺 2024, De novembre
Anonim
Rellotge de visualització mecànic de set segments
Rellotge de visualització mecànic de set segments
Rellotge de visualització mecànic de set segments
Rellotge de visualització mecànic de set segments

Fa un parell de mesos vaig construir una pantalla mecànica de 7 segments de dos dígits que vaig convertir en un temporitzador de compte enrere. Va sortir força bé i diverses persones van suggerir doblar-se a la pantalla per fer un rellotge. El problema era que ja em quedava sense PWM IO al meu Arduino Mega i no tenia prou disponible per al segon o tercer dígit. Llavors em van apuntar en direcció a aquests controladors PWM de 16 canals PCA9685 que funcionen a través d’una interfície I2C. Això va permetre conduir els 28 servos que necessitava tot utilitzant els dos pins I2C d'un Arduino. Així doncs, vaig començar a treballar en la construcció d’un rellotge que ara utilitza un mòdul de rellotge en temps real DS1302 per mantenir l’hora i dos servocontroladors de 16 canals per controlar els 28 servos que s’utilitzen per formar la pantalla, tot alimentat per un Arduino Uno.

Si us agrada aquest instructiu, considereu votar-lo al Concurs de rellotges

Subministraments:

Per construir el rellotge, necessitareu els subministraments següents a més d’algunes eines bàsiques:

  • Arduino Uno: compreu aquí
  • Mòdul de rellotge DS1302: compreu aquí
  • 2 x Servo Drivers PCA9685 16Ch: compreu aquí
  • 28 x micro servos: compra aquí
  • Cable de cinta: compreu aquí
  • Tires de capçalera de pin masculí: compreu aquí
  • Tires de capçalera de pin femení: compreu aquí
  • MDF de 3 mm: compreu aquí
  • Pintura en aerosol negre: compreu aquí
  • Circuit d’eliminació de bateries 5V 5A: compreu aquí
  • Font d'alimentació de 12V: compreu aquí

Per a aquest projecte també necessitareu algunes peces impreses en 3D. Si encara no teniu una impressora 3D i us agrada fer coses, hauríeu de considerar-ne la possibilitat de comprar-ne una. El Creality Ender 3 Pro que s’utilitza aquí és assequible i produeix impressions de força bona qualitat pel seu preu.

  • Impressora 3D usada: compreu aquí
  • Filament - Compra aquí

Pas 1: imprimiu en 3D els components de plàstic

Impressió 3D dels components de plàstic
Impressió 3D dels components de plàstic
Impressió 3D dels components de plàstic
Impressió 3D dels components de plàstic
Impressió 3D dels components de plàstic
Impressió 3D dels components de plàstic

He dissenyat les pantalles de 7 segments perquè siguin el més senzilles possibles. El servo també és el suport de suport per mantenir el segment situat a sobre. Hi ha dos components impresos en 3D necessaris per a cada segment, un bloc espaiador per suportar la part inferior del servo i el segment de visualització que s’enganxa directament al braç del servo.

Descarregueu els fitxers d'impressió 3D: fitxers d'impressió 3D de rellotge de visualització mecànic de 7 segments

Imprimiu els segments i els punts de servo amb un PLA de colors brillants. Jo feia servir verd translúcid, però el vermell, el taronja o el groc també haurien de funcionar bé. He utilitzat PLA negre per als blocs espaiadors i els suports de punts perquè no siguin visibles quan els segments es giren a la posició apagada.

Si no teniu accés a una impressora 3D, proveu un dels serveis d’impressió en línia. Hi ha una sèrie de serveis assequibles disponibles que imprimiran els components i els lliuraran a casa vostra en pocs dies.

Pas 2: prepareu les plaques de control i el cablejat

Prepareu les plaques de control i el cablejat
Prepareu les plaques de control i el cablejat
Prepareu les plaques de control i el cablejat
Prepareu les plaques de control i el cablejat
Prepareu les plaques de control i el cablejat
Prepareu les plaques de control i el cablejat
Prepareu les plaques de control i el cablejat
Prepareu les plaques de control i el cablejat

Haureu d’utilitzar dos controladors PWM de 16 canals PCA9685 per conduir els vostres 28 servos de rellotge. He separat els servos en els dígits d'hora i de minut, i cada parell de dígits els condueix un tauler. Per tant, tinc un tauler que controla els servos per als dos dígits d’hora i el segon que controla els servos per als dos dígits de minuts.

Per encadenar els dos, haureu de configurar un connector de cable de cinta de 6 fils i soldar una segona tira de capçalera a l’altre extrem de la primera placa de control de servo. També haureu de canviar l'adreça I2C del segon tauler perquè sigui diferent de la primera i s'identifiqui de manera única.

També haureu de configurar el cablejat per connectar les tres plaques (dues taules servo i el mòdul de rellotge) al vostre Arduino. Necessitareu 5V i GND a cada placa, així com les connexions I2C als vostres pins Arduino A4 i A5 (I2C a Arduino Uno), i els pins CLK, DAT i RST del mòdul de rellotge als pins 6, 7 i 8 del vostre Arduino respectivament.

L’alimentació es subministra a l’Arduino directament des de la font d’alimentació de 12V i als servos mitjançant el BEC de 5V 5A que després es connecta als dos terminals de la part superior del controlador PWM. Només cal connectar un servo controlador a l’alimentació i alimentarà el segon mitjançant la connexió del cable de cinta de 6 fils.

Pas 3: munteu els Servos

Muntar els Servos
Muntar els Servos
Muntar els Servos
Muntar els Servos
Muntar els Servos
Muntar els Servos

Un cop hàgiu imprès els segments, haureu de ruixar la part posterior i els laterals de negre perquè siguin menys visibles quan es giren 90 graus a la posició apagada.

A continuació, haureu d’enganxar els segments als braços del servo amb cola en calent. Ajuda a enganxar-los al servo amb el braç ja al servo, d’aquesta manera podeu comprovar que els enganxeu rectes i anivellats.

També haureu d’enganxar un bloc espaiador a la part inferior de cada servo.

Muntar els punts enganxant una espiga petita o un kebab a la part posterior dels punts i després als blocs base. També he ruixat aquests pals de negre perquè siguin menys visibles si es veuen des d’un angle.

Pas 4: configureu i proveu

Configura i prova
Configura i prova
Configura i prova
Configura i prova

Vaig numerar tots els servos i vaig escriure el número a cada pista perquè fos més fàcil fer-ne un seguiment. Vaig començar amb el segment superior del dígit de les unitats i vaig treballar fins al segment mitjà del dígit de les desenes. Aquest és també l'ordre en què els he connectat a les plaques de servocontrol, recordant que els identificadors de les taules compten de 0 a 13 i no d'1 a 14.

A continuació, vaig col·locar els segments en una taula amb prou espai entre ells per provar-los de manera que no es moguessin en un i altre mentre es configuraven els límits de viatge i les indicacions. Si proveu de configurar-los molt a prop, probablement en provareu un o dos de moure’s en la direcció equivocada o sobrepassar-los en algun moment i colpejar-ne un altre que pugui danyar el segment, el braç del servo o despullar els engranatges del servo.

Pas 5: càrrega del codi

Carregant el codi
Carregant el codi
Carregant el codi
Carregant el codi
Carregant el codi
Carregant el codi

El codi sembla complicat a primera vista, però en realitat és relativament senzill gràcies a les dues biblioteques utilitzades. També hi ha moltes repeticions, ja que cal actualitzar quatre pantalles de 7 segments diferents.

Aquí teniu una descripció resumida del codi, consulteu la guia completa per obtenir una explicació més detallada i un enllaç per descarregar el codi: rellotge de visualització mecànic de 7 segments

Comencem per importar dues llibreries, virtuabotixRTC.h per al mòdul de rellotge i Adafruit_PWMServoDriver.h per als servocontroladors. La biblioteca d'Adafruit es pot descarregar i instal·lar directament a través del gestor de la biblioteca a l'IDE.

A continuació, creem un objecte per a cada tauler de control amb l'adreça corresponent, un per als dígits de l'hora i un per als dígits dels minuts.

A continuació, tenim quatre matrius per emmagatzemar les posicions d’encès i apagat de cada servo. Haureu d’ajustar aquests números en els pròxims passos per assegurar-vos que els servos estiguin en posició vertical quan estiguin engegats, que estiguin girats 90 graus quan estigui apagat i que no sobrepassin els desplaçaments.

Una matriu de dígits emmagatzema les posicions de cada segment per a cada dígit que es mostrarà.

A continuació, configurem el mòdul de rellotge i creem variables per emmagatzemar els dígits individuals actuals i passats.

A la funció de configuració iniciem i configurem les plaques de control PWM, així com actualitzem l’hora del rellotge si cal. A continuació, passem per un bucle per configurar la pantalla a 8 8: 8 8 de manera que coneguem la posició inicial de tots els servos. Això també s'utilitza per configurar els servos perquè estiguin tots cap amunt correctament.

Al bucle principal obtenim l’hora actualitzada del mòdul de rellotge, l’abocem als quatre dígits i després comprovem si l’hora ha canviat des de l’última comprovació. Si l'hora ha canviat, actualitzem la pantalla i actualitzem els dígits anteriors.

A la funció de visualització d’actualització, primer movem els segments centrals. Això es fa primer perquè hi ha una mica de lògica necessària per moure els dos segments superiors adjacents al segment mitjà fora del camí una mica abans de moure el segment mitjà, en cas contrari els toparà. Un cop es mouen els segments mitjans, els segments restants es mouen a les posicions correctes.

Pas 6: Muntatge del rellotge al tauler posterior

Muntatge del rellotge al tauler posterior
Muntatge del rellotge al tauler posterior
Muntatge del rellotge al tauler posterior
Muntatge del rellotge al tauler posterior
Muntatge del rellotge al tauler posterior
Muntatge del rellotge al tauler posterior

Un cop acabada la prova, vaig muntar els servos al tauler posterior utilitzant el disseny anterior com a guia.

L’àrea blanca és la mida total del tauler, el gris més clar és l’àrea que envolta cada dígit on es mouen els segments de servo i el contorn de la zona gris fosc és la línia central dels 6 segments externs de cada dígit.

Vaig tallar el tauler, vaig marcar el disseny i després vaig enganxar els dígits al seu lloc per conformar la cara del rellotge.

Després he forat prop de cada servo i he introduït els cables fins a la part posterior de la placa perquè siguin menys visibles.

Vaig muntar l’electrònica a la part posterior del rellotge amb cinta de doble cara.

Pas 7: Configuració i operació finals

Configuració i operació finals
Configuració i operació finals
Configuració i operació finals
Configuració i operació finals
Configuració i operació finals
Configuració i operació finals
Configuració i operació finals
Configuració i operació finals

Una vegada que els servos estaven a punt, vaig treure tots els braços de servo per fer els ajustos finals a les posicions dels segments. Haureu d’engegar l’Arduino en aquest estat de manera que es mostri 8 8: 8 8 i, a continuació, desconnecteu l’alimentació; això tornarà a centrar tots els servos perquè pugueu tornar a posar els braços servo amb els segments orientats al més a prop de la vertical com sigui possible.

A continuació, haureu d’encendre el vostre Arduino de manera seqüencial i fer ajustos a les posicions d’encès i apagat del segment de les vostres quatre matrius de manera que els servos siguin perfectament verticals quan s’encenguin i gireu de 90 graus quan estigueu apagats sense haver de viatjar massa. Aquest pas suposa molt de temps i requereix una mica de paciència, però el resultat final val molt la pena.

El rellotge es pot deixar alimentat mitjançant la font d'alimentació de 12V i 5V BEC connectats a aquest. Si s’alimenta, la bateria del mòdul RTC mantindrà l’hora perquè, quan es restableixi l’alimentació, el rellotge es restableixi automàticament a l’hora correcta.

Si us ha agradat aquest instructiu, voteu-lo al concurs Rellotge i feu-me saber qualsevol millora o suggeriment que pugueu arribar a la secció de comentaris que hi ha a continuació.

Concurs de rellotges
Concurs de rellotges
Concurs de rellotges
Concurs de rellotges

Accèssit al concurs de rellotges

Recomanat: