PROGRAMANDO EL ARDUINO

En esta práctica vamos a empezar a programar el Arduino para poder controlar una serie de ledes. La mayor parte de la explicación está dentro del código (en cursiva) que debes copiar y pegar.

CIRCUITO 1

//Zona declaraciones: En esta parte se declaran variables, funciones, objetos, y estructuras.
 // vamos a dar un nombre a cada led indicando a que pin esta conectado
 int rojo1 = 7; //el primer led rojo esta conectado al pin 7...
 int rojo2 = 6; //el segundo led rojo al pin 6 y asi...
 int rojo3 = 5;
 int ambar = 4;
 int verde1 = 3;
 int verde2 = 2;

//////////////////////////////////////////////////////////////////////////

//Funcion setup: Esta función se ejecuta cada vez que se enciende la placa de Arduino, o se pulsa la tecla Reset.
 //Realiza funciones de inicialización de periféricos, comunicaciones, variables, etc.
 void setup() { 
  // todo lo que este entre las llaves pertenece al setup
  pinMode(rojo1, OUTPUT); //Vamos a establecer que todos los pines con led son pines de salida: "OUTPUT".
  pinMode(rojo2, OUTPUT); //Esto significa que vamos a poder usarlos para emitir una senal
  pinMode(rojo3, OUTPUT);
  pinMode(ambar, OUTPUT); 
  pinMode(verde1, OUTPUT);
  pinMode(verde2, OUTPUT);
 }

///////////////////////////////////////////////////////////////////////////

//Funcion loop: Esta función se ejecuta contínuamente. Realiza el grueso de tareas del autómata.
 //Es circular, al acabar se vuelve a ejecutar desde el comienzo.
 void loop() {
  //empiezo definiendo los led para cuando el semaforo esta cerrado
  digitalWrite(rojo1, HIGH); // con digitalWrite voy a encender ledes con la instruccion HIGH...
  digitalWrite(rojo2, HIGH); 
  digitalWrite(rojo3, HIGH);
  digitalWrite(ambar, LOW); // ... y apagar con la instruccion LOW
  digitalWrite(verde1, LOW);
  digitalWrite(verde2, LOW);
  //ahora voy a ir apagando las luces rojas una detras de otra esperando tres segundos despues de cada una.
  //para eso uso delay con la cantidad de microsegundos a esperar
  delay(3000);
  digitalWrite(rojo1, LOW);
  delay(3000);
  digitalWrite(rojo2, LOW);
  delay(3000);
  digitalWrite(rojo3, LOW);
  //y al mismo tiempo que apago la ultima roja enciendo las dos verdes
  digitalWrite(verde1, HIGH);
  digitalWrite(verde2, HIGH);
  //dejo las luces verdes encendidas 10 segundos
  delay(10000);
  //apago las luces verdes y enciendo la luz ambar
  digitalWrite(verde1, LOW);
  digitalWrite(verde2, LOW);
  digitalWrite(ambar, HIGH);
  //espero 2 seg con el ambar y volvera a empezar el ciclo
  delay(2000);
}

PUNTUACIÓN

REPRODUCIR EL ESQUEMA SEMÁFORO: 5PTS

INTENTA CAMBIAR LOS RITMOS Y TIEMPOS DE LOS LED MODIFICANDO EL CÓDIGO PARA CONSEGUIR QUE:

1 ) La luces rojas se apaguen en el orden inverso (+1PTO)
2 ) La luz ámbar parpadee 4 veces antes de pasar a verde (+2PTOS)
3) La luces verdes parpadeen alternativamente (una encendida, otra apagada y luego viceversa, siempre hay sólo una encendida) (+2PTOS)

MÁS TEORÍA

Si quieres ampliar acerca de la teoría relativa a LEDs es muy recomendable el tutorial de Luis Llama

Encender un LED con Arduino

PREGUNTAS OPCIONALES

Suman hasta un 10%. (SOLO LOS DOS PRIMEROS GRUPOS EN ENTREGAR)

a) ¿Por qué en la imagen del ejemplo hay dos tipos de resistencias con dos códigos de colores distintos?

b) En el esquema adjunto de fritzing sobra un cable: ¿Cuál?

Práctica 3 – Semáforo (control de ledes) int, pinMode y digitalWrite

Un pensamiento en “Práctica 3 – Semáforo (control de ledes) int, pinMode y digitalWrite

  • abril 3, 2017 a las 7:20 am
    Enlace permanente

    Esto no era aquí. Había que mandar un email. De todas formas no respondes.

    Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada.