Cajon desastre.

Jugando con Leds

Practicas Con Arduino

1.-Practica.

Encendido consecutivo de diodos definiendo una temporización.

Objetivos:

• Conocer el entorno de programación.

• Aprender a varios comandos.

• Utilización de una tarjeta de adquisición de datos y componentes electrónicos de salida.

Comandos utilizados:

    • Int: Define una variable.

    • pinMode(2,OUTPUT);: Le decimos a Arduino que la patilla 2 actué como salida.

    • Delay(): Tiempo en espera.

    • digitalWrite(2,HIGH):: Le decimos a Arduino que escriba en la patilla 2 un valor alto (5 voltios)

    • Low: Bajo ("0" Lógico o 0V)

    • High: Alto ("1" Lógico o 5V)

Operaciones a realizar:

    1. Coloca varios diodos leds como aparecen en la foto, utilizando las patillas 2,3,4,5

    2. Copiar y pegar el programa en el entorno de arduino.

Programa

int tiempo=20; //declara una variable como entero y de valor 200

void setup() { //comienza la configuracion

pinMode(2,OUTPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

}

void loop() { //comienza el bucle principal del programa

digitalWrite(2,HIGH);

delay(tiempo);

digitalWrite(2,LOW);

delay(tiempo);

digitalWrite(3,HIGH);

delay(tiempo);

digitalWrite(3,LOW);

delay(tiempo);

digitalWrite(4,HIGH);

delay(tiempo);

digitalWrite(4,LOW);

delay(tiempo);

digitalWrite(5,HIGH);

delay(tiempo);

digitalWrite(5,LOW);

delay(tiempo);

}

Otra posible solución

Programa

int tiempo=300;

int n;

void setup() { //comienza la configuracion

for (n=2;n<6;n++) {

pinMode (n, OUTPUT);

}

}

void secuencia() {

for (n=2;n<6;n++) {

digitalWrite (n, HIGH);

delay (tiempo);

digitalWrite (n, LOW);

delay (tiempo);

}

}

void loop() {

secuencia();

}

2º- Practica.

Semáforos.

Hecho con Fritzing

Descripción.

Practica inacabada y con problemas para que el alumno/a encuentre los fallos y consiga que funcione.

Vamos a realizar con diodos la simulación de un semáforo de verdad controlado por arduino, para ello utilizaremos el montaje anterior y algo mas.

Recorrido

Rojo (pin 0)

Objetivos:

    • Familiarizarse con el entorno de programación.

    • Aprender a declarar variables tipo lista de valores.

Programa:

int leds[]={2,3,4,11,12,13);

int tiempo1=2000;

int tiempo2=400;

int n;

void setup() {

for (n=2;n<13;n++) {

pinMode (leds[n],OUTPUT);

}

}

void loop () {

digitalWrite (leds[13],HIGH);

digitalWrite (leds[2],HIGH);

delay (tiempo1);

digitalWrite (leds[2],LOW);

digitalWrite (leds[3],HIGH);

delay (tiempo2);

difitalWrite[leds[3],LOW);

digitalWrite (leds[4],HIGH);

digitalWrite (leds[13],LOW);

digitalWrite (leds[11],HIGH);

delay (tiempo1);

digitalWrite (leds[11],LOW);

digitalWrite(leds[12],HIGH);

delay (tiempo2);

}

3º Practica: Dos Calles

Se trata de dos calles.

Programa

// Variables del programa

int pin0 = 0; // Rojo

int pin1 = 1; // Amarillo

int pin2 = 2; // Verde

int pin3 = 3; // Rojo

int pin4 = 4; // Amarillo

int pin5 = 5; // Verde

int timer1 = 2500;// Tiempo 1

int timer2 = 1500; // Tiempo 2

void setup(){

pinMode(pin0, OUTPUT); // Configuración de la placa, pines de salida.

pinMode(pin1, OUTPUT);

pinMode(pin2, OUTPUT);

pinMode(pin3, OUTPUT);

pinMode(pin4, OUTPUT);

pinMode(pin5, OUTPUT);

}

void loop() {

digitalWrite(pin0, HIGH); // Rojo 1º Semaforo y Verde 2º Semaforo

digitalWrite(pin5, HIGH);

delay(timer1);

digitalWrite(pin5, LOW); // 2º Semaforo Amarillo encendido y Verde apagado

digitalWrite(pin4, HIGH);

delay(timer2);

digitalWrite(pin4, LOW); // 2º Semaforo Amarillo apagado y Rojo

digitalWrite(pin3, HIGH);

digitalWrite(pin0, LOW); // 1º semaforo Rojo apagado y Verde encendido

digitalWrite(pin2, HIGH);

delay(timer1);

digitalWrite(pin2, LOW); // 1º semaforo Verde apagado y Amarillo encendido

digitalWrite(pin1, HIGH);

delay(timer2);

digitalWrite(pin1, LOW); // 1º semaforo Amarillo apagado y 2º Semaforo Rojo apagado

digitalWrite(pin3, LOW);

}

Otra solución.

int leds[] = {0,1,2,3,4,5};

int tiempo1=3000;

int tiempo2=500;

int n;

void setup() {

for (n=0;n<6;n++) {

pinMode (leds[n],OUTPUT);

}}

void loop () {

digitalWrite (leds[0],HIGH);

digitalWrite (leds[5],HIGH);

delay (tiempo1);

digitalWrite (leds[5],LOW);

digitalWrite (leds[4],HIGH);

delay (tiempo2);

digitalWrite (leds[0],LOW);

digitalWrite (leds[2],HIGH);

digitalWrite (leds[4],LOW);

digitalWrite (leds[3],HIGH);

delay (tiempo1);

digitalWrite (leds[2],LOW);

digitalWrite(leds[1],HIGH);

delay (tiempo2);

}

4º Practica: Comprobación de salidas.

Programa

int leds[] = {0,1,2,3,4,5,6,7,8,910,11,12,13};

int n;

void setup() {

for (n=0;n<13;n++) {

pinMode (leds[n],OUTPUT);

}}

void secuencia() {

for (n=0;n<13;n++) {

digitalWrite (n, HIGH);

}

}

void loop() {

secuencia();

}