• Lunes 13 de Mayo de 2024, 15:43

Autor Tema:  Modificar Programa Para Led  (Leído 1612 veces)

infrarrojo

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Modificar Programa Para Led
« en: Jueves 12 de Octubre de 2006, 17:08 »
0
Hola a todos;
Tengo hecho un programa en C para q un diodo led se encienda,se apague o parpadee según el valor de un potenciómetro. Ahora quiero q el encendido sea regular, es decir, q a valor cero del potenciómetro siga apagado pero q si vamos variándolo el led se vaya encendiendo progresivamente. Aquí os dejo el primero, si me podéis echar una mano os lo agradecería. Gracias.


static byte myValues[1];  /* Number of channels */

void main(void) {
    byte min = 255/3;
    byte max = (255*2)/3;
    byte err;
    bool s;
    int i;

    for(;;) {
        /* run measurement with set wait for result */
        err = AD1_Measure(TRUE);

        /* Get results */
        err = AD1_GetValue((byte *)myValues);

        /* Compare value and action LED */
        if (myValues[0] > max) {
            s = 1;            /* set LED ON */
        } else {
            if (myValues[0] < min) {
                s = 0;        /* set LED OFF */
            } else {
                s = s^1;      /* invert LED ON <-> OFF */
            }
        }
        for (i = 0; i < 5000; i++); /* delay */
        Bit1_PutVal(s);
    }
}

Huguen_aus_Tirol

  • Miembro MUY activo
  • ***
  • Mensajes: 318
    • Ver Perfil
    • http://www.erhard-automation.co.cc
Re: Modificar Programa Para Led
« Respuesta #1 en: Jueves 12 de Octubre de 2006, 18:46 »
0
Hola!
Si tu PIC tiene PWM, simplemente cargas el PWM con el resultado de la conversión AD. Conectas el LED a la salida del modulo PWM, y listo...
Saludos