Close Menu
    Facebook X (Twitter) Instagram
    Facebook YouTube LinkedIn
    Industry SurferIndustry Surfer
    Inicio - Reloj con ventilador USB Propeller LED: esquema y código de proyecto
    Hogar

    Reloj con ventilador USB Propeller LED: esquema y código de proyecto

    6 Mins Read Hogar
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Reloj con ventilador USB Propeller LED: esquema y código de proyecto
    Share
    Facebook Twitter LinkedIn Pinterest Email

    Si has visto el video del famoso gadget en Reloj divertido con luz LED mini USBbasado en Arduino NANO, sensores de pasillo, resistencias, baterías, motores de CC y LED, diseñaremos el mismo reloj analógico de luz LED, así que prepárate.

    El LED gira en un círculo, creando un reloj analógico en una pantalla de hélice con las tres manecillas que representan las horas, los minutos y los segundos, respectivamente, así como la forma redondeada (circular) de un reloj de pared o de muñeca normal.

    Lo mejor de este proyecto es que puede cambiar la configuración de tiempo en minutos y segundos cargando el código fuente al Arduino NANO a través de un cable USB. Veamos cómo hacerlo.

    A continuación se muestra el esquema del reloj analógico USB Propeller LED Fan. Si desea crear el mismo proyecto con la función de configuración de tiempo, consulte el segundo esquema al final de esta publicación.

    Conecte los cables de la resistencia al pin digital ‘D’ de Arduino y al pin analógico ‘A’ de la siguiente manera:

    Puede realizar los cambios necesarios en el código fuente del reloj del ventilador LED USB a continuación y cargarlo en el Arduino NANO a través de un cable USB según sea necesario.

    int LED1 = 2;
    int LED2 = 3;
    int LED3 = 4;
    int LED4 = 5;
    int LED5 = 6;
    int LED6 = 7;
    int LED7 = 8;
    int LED8 = 9;
    intLED9 = 10;
    intLED10 = 11;
    int LED11 = 12;
    int LED12 = A1;
    int LED13 = A2;
    int LED14 = A3;
    int LED15 = A4;
    int LED16 = A5;

    pin del sensor int = A0;

    sensor de minutos int = A7;
    int sensor de hora = A6;

    unsigned int n,ADCvalue,propeller_posn;
    tiempo anterior largo sin firmar = 0;

    tiempo de byte = 12; // establece el tiempo
    bytes minutos = 15; // establecer minutos
    bytes segundos = 00; // establecer segundos

    valor int;

    configuración vacía ()
    {
    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);

    si (horas == 12)
    tiempo = 0;

    //********************************************
    // elimine el comentario de estas líneas para la prueba del sensor IR
    /*
    Serial.begin(9600);

    mientras (1)
    {
    ADCvalue = analogRead (sensor de minutos);
    Serial.print(“Sensor de minutos”);
    Serial.println(valorADC);

    ADCvalue = analogRead(hourSensor);
    Serial.print (“sensor de hora”);
    Serial.println(valorADC);

    Serial.println();
    Retraso (1000);
    }
    */
    //********************************************
    }

    bucle vacío()
    {
    val = lectura digital (pin del sensor);

    mientras (val == BAJO)
    {
    val = lectura digital (pin del sensor);
    }

    if (millis() >= (tiempo anterior))
    {
    tiempo anterior = tiempo anterior + 1000;
    segundos = segundos + 1;
    si (segundos == 60)
    {
    segundos = 0;
    minutos = minutos + 1;
    }
    si (minutos == 60)
    {
    minutos = 0;
    tiempo = tiempo + 1;
    }
    si (tiempo == 12)
    {
    tiempo = 0;
    }
    }

    propulsor_posn=30;
    n=0;

    Mientras (n < 60)
    {

    ADCvalue = analogRead (sensor de minutos);
    si (valor ADC < 500)
    {
    minutos = propeller_posn;
    segundos = 0;
    }

    ADCvalue = analogRead(hourSensor);
    si (valor ADC < 500)
    {
    Tiempo = propeller_posn/5;
    segundos = 0;
    }

    dibujarMarcadorDeMinuto();

    if ((propeller_posn==0) || (propeller_posn==5) || (propeller_posn==10) || (propeller_posn==15) || (propeller_posn==20) || (propeller_posn==25) || (propeller_posn==30) || (propeller_posn==35) || (propeller_posn==40) || (propeller_posn==45) || (propeller_posn==50) || (propeller_posn==55))
    dibujar marcador de hora ();

    if ((propeller_posn==0) || (propeller_posn==15) || (propeller_posn==30) || (propeller_posn==45))
    dibujarMarcadorCuarto();

    if((propeller_posn == horas*5) || (( propeller_posn == 0 ) && (horas == 0)))
    dibujarManoHoras();

    if(propeller_posn == minutos)
    dibujarMinutosMano();

    if(propeller_posn == segundos)
    dibujarSegundosMano();

    microsegundos de retardo (100); // para ancho de píxel de LED (cambiar valor dependiendo de la velocidad del motor, aumentar para motor lento, disminuir para motor rápido)

    mostrarBorrar();

    dibujarCirculo_Interior();

    Microsegundos de retardo (450); // Brecha entre píxeles LED/marcadores de minutos (cambia el valor según la velocidad del motor, aumenta para motores lentos, disminuye para motores rápidos)

    n++;
    propeller_posn++;
    si (propeller_posn == 60)
    propulsor_posn=0;
    }

    val = lectura digital (pin del sensor);

    mientras (val == ALTO)
    {
    val = lectura digital (pin del sensor);
    }
    }

    //==========================

    void mostrarBorrar()
    {
    Luz digital (LED1, BAJA);
    escritura digital (LED2, bajo);
    escritura digital (LED3, bajo);
    escritura digital (LED4, bajo);
    escritura digital (LED5, bajo);
    escritura digital (LED6, bajo);
    escritura digital (LED7, bajo);
    escritura digital (LED8, bajo);
    Luz digital (LED9, BAJA);
    escritura digital (LED10, bajo);
    escritura digital (LED11, bajo);
    escritura digital (LED12, bajo);
    escritura digital (LED13, bajo);
    escritura digital (LED14, bajo);
    escritura digital (LED15, bajo);
    escritura digital (LED16, bajo);
    }

    void drawMinuteMarker()
    {
    escritura digital (LED16, ALTO);
    }

    void dibujarHourMarker()
    {
    escritura digital (LED15, ALTO);
    escritura digital (LED14, ALTO);
    }

    void dibujarQuarterMarker()
    {
    escritura digital (LED13, ALTO);
    escritura digital (LED12, ALTO);
    }

    void dibujarHoursHand()
    {
    escritura digital (LED1, ALTO);
    escritura digital (LED2, alto);
    Luz digital (LED3, ALTA);
    Luz digital (LED4, ALTA);
    Luz digital (LED5, ALTA);
    Luz digital (LED6, ALTA);
    Luz digital (LED7, ALTA);
    }

    void dibujarMinutosMano()
    {
    escritura digital (LED1, ALTO);
    escritura digital (LED2, alta);
    Luz digital (LED3, ALTA);
    Luz digital (LED4, ALTA);
    Luz digital (LED5, ALTA);
    Luz digital (LED6, ALTA);
    Luz digital (LED7, ALTA);
    Luz digital (LED8, ALTA);
    Luz digital (LED9, ALTA);
    }

    void dibujarSecondsHand()
    {
    escritura digital (LED1, ALTO);
    escritura digital (LED2, alta);
    Luz digital (LED3, ALTA);
    Luz digital (LED4, ALTA);
    Luz digital (LED5, ALTA);
    Luz digital (LED6, ALTA);
    Luz digital (LED7, ALTA);
    Luz digital (LED8, ALTA);
    Luz digital (LED9, ALTA);
    Luz digital (LED10, ALTA);
    escritura digital (LED11, ALTO);
    }

    anular dibujarInner_Circle()
    {
    escritura digital (LED1, ALTO);
    microsegundos de retardo (30);
    Luz digital (LED1, BAJA);
    }

    Simplemente conecte el R19 al primer LED IR (cerca del LED n.° 13 para la configuración de los minutos) y el R20 al segundo IR (cerca del LED n.° 16 para la configuración de la hora). Conecte el común del LED IR y ambas resistencias a los pines GND y 5V del Arduino NANO respectivamente. Finalmente, conecte un cable puente desde el pin A7 entre R19 y el segundo IR. Haz lo mismo para el pin A6 a R20 y el primer IR.

    Para crear un transmisor de control remoto IR simple para configurar y controlar la función de configuración de hora de un reloj funk LED USB, simplemente conecte todos los componentes en serie (es decir, batería de 9V, LED IR, resistencia de 1k ohm y interruptor táctil de terminal positivo).

    El siguiente código se usa para cambiar y ajustar los husillos de horas y minutos (reloj de pared normal y manecillas de minutos y horas de relojes analógicos) de un reloj con ventilador LED USB analógico.

    Verifique la salida del circuito de detección IR utilizando el monitor serie Arduino. Por ejemplo, la lectura con luz ambiente normal es superior a 500 y la lectura con luz IR es inferior a 500. Entonces puede cambiar el código o el valor aquí dependiendo del sensor que use.

    Para configurar el minutero, apunte el control remoto infrarrojo al marcador de minutos y presione el botón del control remoto. Para configurar la manecilla de la hora, apunte el control remoto infrarrojo hacia el fabricante de la hora y presione el botón del control remoto.

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email

    Entradas relacionadas

    Diagrama de cableado del enfriador de aire de la habitación # 2. (con marca e instalación del condensador)

    Más de 15 aplicaciones de Android imprescindibles para estudiantes e ingenieros eléctricos/electrónicos

    Un proyecto eléctrico simple para la levitación magnética.

    Entradas recientes
    ¿Qué es el campo magnético y cómo funciona?
    circuito capacitivo de ca
    circuito inductivo ca
    ¿Cómo probar un diodo? Uso de multímetros analógicos y digitales (DMM)
    Noticias industrial
    ¿Qué es el campo magnético y cómo funciona?
    circuito capacitivo de ca
    circuito inductivo ca
    ¿Cómo probar un diodo? Uso de multímetros analógicos y digitales (DMM)
    Facebook YouTube LinkedIn
    © 2025 Hecho con ♥ desde México

    Type above and press Enter to search. Press Esc to cancel.

    Ir a la versión móvil