Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Reloj POV LED de estilo analógico

Componentes y suministros

Arduino Nano R3
× 1
LED (genérico)
× 17
Sensor de efecto Hall
× 1
Resistencia 100 ohm
× 17
Motor de CC (genérico)
× 1
Regulador de conmutación Boost (Step Up), fijo
× 1

Herramientas y máquinas necesarias

Soldador (genérico)

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Las pantallas de persistencia de la visión (POV) son generalmente pantallas LED que "muestran" imágenes mostrando una sección de una imagen en un momento dado, en rápida sucesión. El cerebro humano percibe esto como la visualización de una imagen continua.

En el sitio web del "proyecto de hobby" se presenta este reloj de esfera de estilo analógico relativamente simple pero visualmente efectivo. La parte electrónica contiene los diodos LED Arduino Nano 17 y el sensor de efecto Hall. Los grupos de diodos LED d1-d11, d12-d16 y d17 son de diferentes colores para un mejor efecto visual. El dispositivo funciona con una batería de iones de litio a través de un convertidor elevador.

La parte más difícil de los proyectos para mí fue la estabilidad mecánica. En el primer intento, la batería se colocó excéntricamente y a mayor velocidad de rotación hubo una gran vibración. Luego hice una modificación y puse la batería en el centro de rotación.

Para la rotación, utilizo un motor eléctrico de 12V conectado a una fuente de alimentación variable para que la velocidad de rotación del dispositivo se pueda controlar fácilmente. Dependiendo de la velocidad de rotación del dispositivo, en el código debe establecer el valor de "delayMicroseconds" en un valor determinado.

El video presentado no es lo suficientemente claro, porque para este propósito necesito una cámara con mejores cuadros por segundo.

Código

  • código
código Arduino
 // proyectos hobby // ArduinoNanoPropellerLEDAnalogClock20190403Aint LED1 =2; int LED2 =3; int LED3 =4; int LED4 =5; int LED5 =6; int LED6 =7; int LED7 =8; int LED8 =9; int LED9 =10; int LED10 =11; int LED11 =12; int LED12 =A1; int LED13 =A2; int LED14 =A3; int LED15 =A4; int LED16 =A5; int sensorPin =A0; unsigned int n, ADCvalue, propeller_posn; unsigned long previousTime =0; byte hours =12; // establece horasbyte minutos =15; // establecer minutosbyte segundos =00; // establecer segundosint val; void setup () {pinMode (LED1, SALIDA); pinMode (LED2, SALIDA); pinMode (LED3, SALIDA); pinMode (LED4, SALIDA); pinMode (LED5, SALIDA); pinMode (LED6, SALIDA); pinMode (LED7, SALIDA); pinMode (LED8, SALIDA); pinMode (LED9, SALIDA); pinMode (LED10, SALIDA); pinMode (LED11, SALIDA); pinMode (LED12, SALIDA); pinMode (LED13, SALIDA); pinMode (LED14, SALIDA); pinMode (LED15, SALIDA); pinMode (LED16, SALIDA); pinMode (sensorPin, INPUT_PULLUP); if (horas ==12) horas =0;} bucle vacío () {val =digitalRead (sensorPin); while (val ==LOW) {val =digitalRead (sensorPin); } if (millis ()> =(hora anterior)) {hora anterior =hora anterior + 1000; segundos =segundos + 1; if (segundos ==60) {segundos =0; minutos =minutos + 1; } si (minutos ==60) {minutos =0; horas =horas + 1; } if (horas ==12) {horas =0; }} propeller_posn =30; n =0; while (n <60) {drawMinuteMarker (); if ((propeller_posn ==0) || (propeller_posn ==5) || (propeller_posn ==10) || (propeller_posn ==15) || (propeller_posn ==20) || (propeller_posn ==25) || (posición_hélice ==30) || (posición_hélice ==35) || (posición_hélice ==40) || (posición_hélice ==45) || (posición_hélice ==50) || (posición_hélice ==55)) drawHourMarker (); if ((propeller_posn ==0) || (propeller_posn ==15) || (propeller_posn ==30) || (propeller_posn ==45)) dibujarQuarterMarker (); if ((propeller_posn ==horas * 5) || ((propeller_posn ==0) &&(horas ==0))) drawHoursHand (); if (propeller_posn ==minutos) drawMinutesHand (); if (propeller_posn ==segundos) drawSecondsHand (); delayMicroseconds (140); // para el ancho de píxel del LED (cambie el valor de acuerdo con la velocidad del motor. Aumente para baja velocidad, disminuya para motor de alta velocidad) displayClear (); drawInner_Circle (); delayMicroseconds (600); // para el espacio entre los marcadores LED de píxeles / minutos (cambie el valor de acuerdo con la velocidad del motor. Aumente para baja velocidad, disminuya para alta velocidad) n ++; propeller_posn ++; if (propeller_posn ==60) propeller_posn =0; } val =digitalRead (sensorPin); while (val ==HIGH) {val =digitalRead (sensorPin); }} // =========================void displayClear () {digitalWrite (LED1, LOW); escritura digital (LED2, BAJA); escritura digital (LED3, BAJA); escritura digital (LED4, BAJA); escritura digital (LED5, BAJA); escritura digital (LED6, BAJA); escritura digital (LED7, BAJA); escritura digital (LED8, BAJA); escritura digital (LED9, BAJA); escritura digital (LED10, BAJA); escritura digital (LED11, BAJA); escritura digital (LED12, BAJA); digitalWrite (LED13, BAJO); escritura digital (LED14, BAJA); escritura digital (LED15, BAJA); escritura digital (LED16, BAJA); } vacío drawMinuteMarker () {digitalWrite (LED16, ALTO); } anular drawHourMarker () {digitalWrite (LED15, HIGH); escritura digital (LED14, ALTA); } anular drawQuarterMarker () {digitalWrite (LED13, HIGH); escritura digital (LED12, ALTA); } void drawHoursHand () {digitalWrite (LED1, HIGH); escritura digital (LED2, ALTA); escritura digital (LED3, ALTA); escritura digital (LED4, ALTA); escritura digital (LED5, ALTA); escritura digital (LED6, ALTA); escritura digital (LED7, ALTA); } vacío drawMinutesHand () {digitalWrite (LED1, HIGH); escritura digital (LED2, ALTA); escritura digital (LED3, ALTA); escritura digital (LED4, ALTA); escritura digital (LED5, ALTA); escritura digital (LED6, ALTA); escritura digital (LED7, ALTA); escritura digital (LED8, ALTA); escritura digital (LED9, ALTA); } vacío drawSecondsHand () {digitalWrite (LED1, HIGH); escritura digital (LED2, ALTA); escritura digital (LED3, ALTA); escritura digital (LED4, ALTA); escritura digital (LED5, ALTA); escritura digital (LED6, ALTA); escritura digital (LED7, ALTA); escritura digital (LED8, ALTA); escritura digital (LED9, ALTA); escritura digital (LED10, ALTA); escritura digital (LED11, ALTA); } vacío drawInner_Circle () {digitalWrite (LED1, HIGH); delayMicroseconds (30); escritura digital (LED1, BAJA); } 

Esquemas


Proceso de manufactura

  1. Secuenciador LED
  2. Reloj de cuco
  3. Visualizador de música DIY LUMAZOID Arduino
  4. Reloj de visión pov de Arduino
  5. Dispositivo de medición de flujo de aire a presión con sensor analógico
  6. Juego de ruleta DIY 37 LED
  7. Reloj maestro
  8. Arduclock 3D RGB
  9. Rueda de pestaña de ajuste analógico FlightGear
  10. Matriz LED + Pantalla de puerta con sensor de movimiento [Arduino Holiday]
  11. Controla tu LED con Cortana