sábado, 24 de febrero de 2018

PULSADOR + POTENCIÓMETRO

COMPONENTES:

-RGB: Es un sólo un led, pero para representarlo en bitbloq Se conectan a los pines con número ( sólo los que tengan el símbolo de la raya, porque nos permitirá regular la intensidad). Son los que aportarán la luz.

-PULSADOR: También se conecta a un pin numerado. Determina qué función de color del rgb debe ejecutarse en cada momento..

POTENCIÓMERO. Se puede conectar en A0, A1, A2, A3, A4 o A5. Regula la intensidad con la que brillan los leds.







DESCRIPCIÓN:
Declaramos una variable llamada LUZ y le aportamos un valor numérico (0). Esta variable regula la intensidad con la que lucen los leds.
Le ponemos el mismo valor a una variable llamada estado, que nos servirá más tarde para realizar el cambio de color.
Una variable llamada CAMBIO_ESTADO, suma +1 al valor de estado cada vez que la ejecutamos



Para los cambios de colores de las funciones de las variables rojo,verde y azul, escribimos en el pin digital correspondiente el valor analógico "Variable LUZ" dependiendo de que color queremos que se encienda. 

Para colores secundarios como cyan, amarillo y magenta pondremos la variable LUZ en 2 de los pines (los que controlen los colores que lo forman) 

También, declaramos una función llamada APAGADO, en la que todos los pines tienen valor 0 y así, ninguno se enciende.

                                      
Nuestra última función será encender color. Si el estado es 0, se realizará apagado; si es 1, rojo; si es 2, Verde y así, sucesivamente hasta llegar al 6




En el bucle principal, igualamos la variable "LUZ" a lo que lea el potenciómetro / 4 (entre 4 porque el potenciómetro lee en valores del 0 al 1024 y los leds de 0 a 255)
Indicamos que si el pulsador es pulsado, se ejecute la función, "CAMBIO_ESTADO" y, tras esperar 100ms, se ejecute "ENCENDER_COLOR"


CÓDIGO:

/***   Included libraries  ***/


/***   Global variables and function definition  ***/
const int LED_r = 3;
const int LED_g = 6;
const int LED_b = 11;
const int potentiometer = A0;
const int button = 13;

float LUZ = 0;
float ESTADO = 0;
void CAMBIO_ESTADO() {
    if (ESTADO == 6) {
        ESTADO = 0;
    } else {
        ESTADO = ESTADO + 1;
    }
}
void ROJO() {
    analogWrite(3, LUZ);
    analogWrite(6, 0);
    analogWrite(11, 0);
}
void VERDE() {
    analogWrite(6, LUZ);
    analogWrite(11, 0);
    analogWrite(3, 0);
}
void AZUL() {
    analogWrite(11, LUZ);
    analogWrite(6, 0);
    analogWrite(3, 0);
}
void CIAN() {
    analogWrite(11, LUZ);
    analogWrite(6, LUZ);
    analogWrite(3, 0);
}
void AMARILLO() {
    analogWrite(3, LUZ);
    analogWrite(6, LUZ);
    analogWrite(11, 0);
}
void MAGENTA() {
    analogWrite(3, LUZ);
    analogWrite(11, LUZ);
    analogWrite(6, 0);
}
void APAGADO() {
    analogWrite(6, 0);
    analogWrite(11, 0);
    analogWrite(3, 0);
}
void ENCENDER_COLOR() {
    if (ESTADO == 0) {
        APAGADO();
    } else if (ESTADO == 1) {
        ROJO();
    } else if (ESTADO == 2) {
        VERDE();
    } else if (ESTADO == 3) {
        AZUL();
    } else if (ESTADO == 4) {
        CIAN();
    } else if (ESTADO == 5) {
        AMARILLO();
    } else if (ESTADO == 6) {
        MAGENTA();
    }
    delay(1000);
}



/***   Setup  ***/
void setup() {
    pinMode(LED_r, OUTPUT);
    pinMode(LED_g, OUTPUT);
    pinMode(LED_b, OUTPUT);
    pinMode(potentiometer, INPUT);
    pinMode(button, INPUT);

}


/***   Loop  ***/
void loop() {
    LUZ = analogRead(potentiometer) / 4;
    if (digitalRead(button) == 1) {
        ENCENDER_COLOR();
        CAMBIO_ESTADO();
    }
    ENCENDER_COLOR();
}




FRITZING:




miércoles, 21 de febrero de 2018




PROPUESTA MAL REALIZADA








/***   Included libraries  ***/


/***   Global variables and function definition  ***/
const int LED_r = 3;
const int LED_g = 6;
const int LED_b = 11;
const int potentiometer = A0;
const int button = 13;

float LUZ = 0;



/***   Setup  ***/
void setup() {
    pinMode(LED_r, OUTPUT);
    pinMode(LED_g, OUTPUT);
    pinMode(LED_b, OUTPUT);
    pinMode(potentiometer, INPUT);
    pinMode(button, INPUT);

    void ROJO() {
        analogWrite(3, LUZ);
        analogWrite(6, 0);
        analogWrite(11, 0);
    }
    void VERDE() {
        analogWrite(6, LUZ);
        analogWrite(11, 0);
        analogWrite(3, 0);
    }
    void AZUL() {
        analogWrite(11, LUZ);
        analogWrite(6, 0);
        analogWrite(3, 0);
    }
    void CIAN() {
        analogWrite(11, LUZ);
        analogWrite(6, LUZ);
        analogWrite(3, 0);
    }
    void AMARILLO() {
        analogWrite(3, LUZ);
        analogWrite(6, LUZ);
        analogWrite(11, 0);
    }
    void MAGENTA() {
        analogWrite(3, LUZ);
        analogWrite(11, LUZ);
        analogWrite(6, 0);
    }
    void APAGADO() {
        analogWrite(3, 0);
        analogWrite(11, 0);
        analogWrite(6, 0);
    }
}


/***   Loop  ***/
void loop() {
    LUZ = analogRead(potentiometer) / 4;
    delay(200);
    if (analogRead(potentiometer) == 1) {
        if (LUZ == 0) {
            APAGADO();
        } else if (LUZ == 1) {
            ROJO();
        } else if (LUZ == 2) {
            VERDE();
        } else if (LUZ == 3) {
            AZUL();
        } else if (LUZ == 4) {
            CIAN();
        } else if (LUZ == 5) {
            AMARILLO();
        } else if (LUZ == 6) {
            MAGENTA();
        }
    }
}



COCHE ROBOT

GMI:17//LML:16//DMP:18 ESTE ES EL CÓDIGO BASE DEL COCHE: PROBADO  ✔ ------------------------------------...