Coche fantástico – Prácticas Arduino

Se trata de encender y apagar 7 leds secuencialmente imitando a las luces delanteras del “Coche fantástico”.

Los leds deben estar conectados a los pines 5,6,7,8,9,10 y 11.

Se deben encender y apagar los leds desde el pin 5 al 11, con un tiempo de encendido y apagado de 50 ms, más tarde se deben encender y apagar los leds desde el pin 11 al 5, con un tiempo de encendido y apagado de 50 ms. La secuencia se debe repetir indefinidamente.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 7 Leds
  • 7 resistencias 120 Ω
  • Cables

 

ESQUEMAS

 

CÓDIGO ARDUINO
/*
* COCHE FANTÁSTICO
*/
int pinLEDs[7]={5,6,7,8,9,10,11}; //Definimos los pin de cada LED
int i=0; // Definimos la variable “i” que toma como valor inicial 0
// Configuración de Arduino
void setup(){
for(i=0;i<7;i++)
{
pinMode(pinLEDs[i],OUTPUT);
}
}
// Configuración del programa
void loop() {
for(i=0;i<7;i++)
{
digitalWrite(pinLEDs[i],HIGH); // Encendemos el primer LED y lo apaga,
delay(50);                     // y así sucesivamente hasta el último
digitalWrite(pinLEDs[i],LOW);  // durante 50 ms
delay(50); }
for(i=6;i>=0;i)
{
digitalWrite(pinLEDs[i],HIGH); // Encendemos el último LED y lo apaga,
delay(50);                     // y así sucersivamente hasta el primero,
digitalWrite(pinLEDs[i],LOW);  // durante 50 ms
delay(50);}
}

 

FUNCIONAMIENTO

Control de cruce con semáforos – Prácticas con Arduino

Se trata de de controlar un cruce de calles mediante dos semáforos, que están conectados a los siguientes pines:

  • Semáforo 1:
    • Led Rojo – Pin 3
    • Led Ámbar – Pin 4
    • Led Verde – Pin 5
  • Semáforo 2:
    • Led Rojo – Pin 6
    • Led Ámbar – Pin 7
    • Led Verde – Pin 8

La secuencia de funcionamiento es la siguiente:

  • Rojo 1 – Verde 2 (durante 6 segundos)
  • Rojo 1 – Ámbar 2 (durante 2 segundos)
  • Verde 1 – Rojo 2 (durante 6 segundos)
  • Ámbar 1 – Rojo 2  (durante 2 segundos)
  • …. y así sucesivamente

 

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 6 Leds ( 2 Rojo – 2 Ámbar- 2 Verde)
  • 6 Resistencias 120 Ω
  • Cables

 

ESQUEMAS
 13754643_1083448155073417_5291789643804466295_n

 

CÓDIGO ARDUINO
/*
* CRUCE SEMAFOROS
*/
// Definimos los pines de salida para cada led
int Rojo1 = 3;
int Ambar1 = 4;
int Verde1 = 5;
int Rojo2 = 6;
int Ambar2 = 7;
int Verde2 = 8;
// Definimos los tiempos de espera
int tiempo1 = 6000;
int tiempo2 = 2000;
// Configuración de Arduino
void setup ()
{
pinMode(Rojo1,OUTPUT); // Configuramos las salidas de los leds
pinMode(Ambar1,OUTPUT);
pinMode(Verde1,OUTPUT);
pinMode(Rojo2,OUTPUT);
pinMode(Ambar2,OUTPUT);
pinMode(Verde2,OUTPUT);
}
// Programación
void loop ()
{
digitalWrite(Rojo1,HIGH);
digitalWrite(Ambar1,LOW);
digitalWrite(Verde1,LOW);
digitalWrite(Rojo2,LOW);
digitalWrite(Ambar2,LOW);
digitalWrite(Verde2,HIGH);
delay(tiempo1);
digitalWrite(Rojo1,HIGH);
digitalWrite(Ambar1,LOW);
digitalWrite(Verde1,LOW);
digitalWrite(Rojo2,LOW);
digitalWrite(Ambar2,HIGH);
digitalWrite(Verde2,LOW);
delay(tiempo2);
digitalWrite(Rojo1,LOW);
digitalWrite(Ambar1,LOW);
digitalWrite(Verde1,HIGH);
digitalWrite(Rojo2,HIGH);
digitalWrite(Ambar2,LOW);
digitalWrite(Verde2,LOW);
delay(tiempo1);
digitalWrite(Rojo1,LOW);
digitalWrite(Ambar1,HIGH);
digitalWrite(Verde1,LOW);
digitalWrite(Rojo2,HIGH);
digitalWrite(Ambar2,LOW);
digitalWrite(Verde2,LOW);
delay(tiempo2);
}

 

 FUNCIONAMIENTO

Señal SOS con zumbador – Prácticas Arduino

Se trata de emitir en código morse, con un zumbador, la señal internacional de socorro SOS.

SOS es la denominación de una conocida señal de socorro que se utiliza a nivel mundial y que permite solicitar ayuda a través de algún tipo de medio de comunicación. La misma comenzó a emplearse en el siglo XX mediante el código Morse, donde se transmite como una seguidilla de tres pulsos cortos, tres pulsos largos y tres pulsos nuevamente cortos.

En nuestro caso el zumbador lo vamos a conectar al pin 13, los pulsos cortos (letra S) tendrán una duración de 100 ms y los pulsos largos (letra O) 300 ms.

Entre letra y letra debe pasar un tiempo de 400 ms y entre cada SOS y SOS el tiempo será de 1000 ms.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 1 Zumbador
  • Cables

 

ESQUEMAS

 

CÓDIGO ARDUINO
/*
Emisión de la señal de emergencia con zumbador
*/
int corto=100; //Definición del pulso corto, letra S
int largo=300; //Definición del pulso largo, letra O
int pausa=400; //Definición del tiempo entre letra y letra
int espera=1000; //Definición del tiempo entre SOS y SOS
int n=0; //Definimos la variable n que empieza con valor 0
int zumb=13; //PIN digital al que conectamos el zumbador
void setup(){ //Comienza la configuracion
pinMode(zumb,OUTPUT); // Declaramos el zumbador (pin 13) como salida
}
void loop(){
for(n=0;n<3;n++){ //Letra S, tres pitidos cortos
digitalWrite(zumb, HIGH);
delay(corto);
digitalWrite(zumb,LOW);
delay(corto);
}
delay(pausa); //Tiempo entre letras S-O
for(n=0;n<3;n++){ //Letra O, tres pitidos largos
digitalWrite(zumb, HIGH);
delay(largo);
digitalWrite(zumb,LOW);
delay(largo);
}
delay(pausa); //Tiempo entre letras O-S
for(n=0;n<3;n++){ // Letra S nuevamente
digitalWrite(zumb, HIGH);
delay(corto);
digitalWrite(zumb,LOW);
delay(corto);
}
delay(espera); //Tiempo hasta repetir SOS de nuevo
}
FUNCIONAMIENTO

Cambio luminosidad – Prácticas Arduino

En este caso  vamos a montar un circuito que haga variar la luminosidad de un led en función del valor que introduzcamos con un potenciómetro. Además, utilizaremos una nueva ventana, la “consola de serial” para monitorizar el valor que llega desde el potenciómetro.

MATERIAL NECESARIO
  •  1 Placa Arduino
  • 1 Placa protoboard
  • 1 Led
  • 1 Resistencia 120 Ω
  • 1 Potenciómetro 10k
  • Cables

 

ESQUEMAS
 

 

CÓDIGO ARDUINO
/*
Cambio de luminosidad
Aplicacion que haga variar la luminosidad de un led en función del valor que
introduzcamos con un potenciómetro. Además, utilizaremos una nueva ventana,
la “Consola de Serial” para monitorizar el valor que llega desde el potenciómetro.
*/
int pinLed = 9; //llamamos pinLed al pin 9
int pinPot = 0; //llamamos pinPot al pin 0
void setup()
{
pinMode(pinLed, OUTPUT); //Configuramos pinLed como salida
Serial.begin(9600); //Iniciamos el puerto serie a 9600.
}
void loop()
{
int valorPot = 0; //Variable en la que guardaremos el valor del potenciometro
int valorLed = 0; //Variable en la que guardaremos la intensidad que queremos dar al LED
valorPot = analogRead(pinPot); //Leemos el pin analogico del potenciometro y lo guardamos en valorPot
valorLed = map(valorPot, 0, 1024, 0, 255); //Convertimos los valores que lee el potenciometro a los que daremos al Led
analogWrite(pinLed, valorLed); //Sacamos el valor de intensidad por el pin del Led
//Ahora vamos a imprimir por el puerto serie los valores, para comprobarlos.
Serial.print(“valorPot = “);
Serial.print(valorPot);
Serial.println();
Serial.print(“valorLed = “);
Serial.print(valorLed);
Serial.println();
}

 

FUNCIONAMIENTO

Secuencia de leds – Prácticas Arduino

Se trata de encender y apagar 4 leds secuencialmente. Los leds deben estar conectados a los pines 5,6,7 y 8.
Se deben encender y posteriormente apagar los leds desde el pin 5 al 8, con un tiempo de duración de encendido y apagado de 200 milisegundos.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 4 Leds
  • 4 Resistencias 120 Ω
  • Cables

 

ESQUEMAS

 

CÓDIGO ARDUINO (solución 1)
 /* Secuencia de leds
* Se trata de encender y apagar 4 leds secuencialmente. Los leds deben estar conectados a los pines 5,6,7 y 8.
* Se deben encender y apagar con un tiempo de duración de encendido y apagado de 200 milisegundos.
* Este proceso se repetirá cíclicamente.
* Cada led lleva conectada una resistencia de 120 Ω
*/
int pinLed1 = 5; // definimos las salidas de los leds
int pinLed2 = 6;
int pinLed3 = 7;
int pinLed4 = 8;
int tiempo = 200; // creamos una variable tiempo de valor 200
void setup () { // configuramos las salidas
pinMode(pinLed1,OUTPUT); //declaramos leds como salidas
pinMode(pinLed2,OUTPUT);
pinMode(pinLed3,OUTPUT);
pinMode(pinLed4,OUTPUT);
}
void loop (){
digitalWrite(pinLed1,HIGH); // encedemos leds durante 200 milisegundos
delay(tiempo);
digitalWrite(pinLed1,LOW); // // apagamos leds durante 200 milisegundos
delay(tiempo);
digitalWrite(pinLed2,HIGH);
delay(tiempo);
digitalWrite(pinLed2,LOW);
delay(tiempo);
digitalWrite(pinLed3,HIGH);
delay(tiempo);
digitalWrite(pinLed3,LOW);
delay(tiempo);
digitalWrite(pinLed4,HIGH);
delay(tiempo);
digitalWrite(pinLed4,LOW);
delay(tiempo);
}

 

CÓDIGO ARDUINO (solución 2)
 /* Secuencia de leds
* En esta solución vamos hacer uso del Bucle For
* Se trata de encender y apagar 4 leds secuencialmente. Los leds deben estar conectados a los pines 5,6,7 y 8.
*  Se deben encender y apagar con un tiempo de duración de encendido y apagado de 200 milisegundos.
*  Este proceso se repetirá cíclicamente.
*  Cada led lleva conectada una resistencia de 120 Ω
*/
int pinLed[4]={5,6,7,8}; // definimos las salidas de los leds
int tiempo = 200; // creamos una variable tiempo de valor 200
void setup(){
  int i=0;
  for(i=0;i<4;i++) // creamos la variable i que será asignada a cada uno de los leds
{
  pinMode(pinLed[i],OUTPUT); // configuramos los pinleds como salida
}
}
void loop (){
  int i=0;
  for(i=0;i<4;i++)
  {
    digitalWrite(pinLed[i],HIGH); //enciende led
delay(tiempo);
    digitalWrite(pinLed[i],LOW); //apaga led
delay(tiempo);
  }
}

 

FUNCIONAMIENTO

Led parpadeante – Prácticas Arduino

Se trata de conectar un led al pin 10, haciendo que luzca durante 500 ms y que se apague durante 100 ms, este proceso se repetirá cíclicamente.

El led lleva conectada una resistencia de 120 Ω.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 1 Led
  • 1 Resistencia 120 Ω
  • Cables

 

ESQUEMAS

 

CÓDIGO ARDUINO
 /* Led parapadeante
*  Se trata de conectar un led al pin 10, haciendo que luzca durante 500 ms y que se apague durante 100 ms
*  Este proceso se repetirá cíclicamente.
*  El led lleva conectada una resistencia de 120 Ω
*/
int led = 10; // le damos un nombre al pin 10
void setup ()
{
pinMode (led, OUTPUT); // configuramos el pin 10 como salida
}
void loop ()
{
digitalWrite (led, HIGH); // activa el Led
delay (500); // espera 500 ms
digitalWrite (led, LOW); // desactiva el Led
delay (100); //espera 100 ms
}

 

FUNCIONAMIENTO

Hello World – Prácticas Arduino

Éste es el ejemplo básico equivalente al “hola mundo” de cualquier lenguaje de
programación haciendo simplemente el encendido y apagado de un led. En este ejemplo el LED está conectado en el pin13, y se enciende y apaga cada segundo. La
resistencia que se debe colocar en serie con el led en este caso puede omitirse ya que el pin13 de Arduino ya incluye en la tarjeta esta resistencia.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 1 Led
  • Cables

 

ESQUEMAS

 

CÓDIGO ARDUINO
/* Hello World
* Programa que hace parpadear un led conectado al pin 13, retardo de 1 segundo.
*/
// El pin 13 suele tener asociada un resistencia
int led = 13; // Le damos un nombre al pin 13
void setup () // configuramos el pin de salida
{
pinMode (led, OUTPUT); // configura el pin 13 como salida
}
void loop () // inicia el bucle del programa
{
digitalWrite(led, HIGH); //activa el Led
delay (1000); // espera 1 segundo
digitalWrite(led, LOW); //desactiva el Led
delay (1000); // espera 1 segundo
}

 

FUNCIONAMIENTO