led

La Navidad con Arduino

Ya queda algo lejos la Navidad, pero siempre vuelve… así que queremos compartir con vosotros el proyecto de Mae, un árbol programado con arduino con luces y canciones navideñas. Os compartimos el paso a paso del proyecto debajo del video, esperamos que os guste 🙂

CONECTANDO EL ALTAVOZ A LA PLACA DE ARDUINO:

  • Conectar el cable de tierra que sale del altavoz a GND de Arduino.
  • El otro cable conectarlo al pin 5.

CONECTANDO LOS LEDS:

Nuestra tira de leds funciona a 12 voltios y Arduino sólo proporciona 5 voltios  por lo que son necesarios tres transistores (uno por cada uno de los colores básicos de la tira:Rojo Verde y Azul) que funcionen como amplificadores.

Para simplificar el proyecto, partimos de los transistores ya  implementados por lo que únicamente es necesario realizar las siguientes conexiones:

  • Cable negro a GROUND
  • Cable rojo al pin 9
  • Cable verde al pin 10
  • Cable azul al pin 11

En este enlace se incluye la explicación detallada del control de tiras de LED de 12 voltios con Arduino: https://www.youtube.com/watch?v=Shly4dIspPY

El código del que hemos partido para incluir los villancicos se puede encontrar en: https://www.hackster.io/joshi/piezo-christmas-songs-fd1ae9

En la url anterior se hace referencia a la librería pitches que se puede descargar desde:

https://www.arduino.cc/en/Tutorial/toneMelody

Este es el código que hemos utilizado y que puedes compilar y subir a la placa:

/*

  Arduino Christmas Songs

  Based on a project and code by Dipto Pratyaksa, updated on 31/3/13

  Modified for Christmas by Joshi, on Dec 17th, 2017.

  Modificado por RGG 2019

*/

#include “pitches.h”

#define melodyPin 5

#define red 9

#define green 10

#define blue 11

int t = 500;

// Jingle Bells

int melody[] = {

  NOTE_E5, NOTE_E5, NOTE_E5,

  NOTE_E5, NOTE_E5, NOTE_E5,

  NOTE_E5, NOTE_G5, NOTE_C5, NOTE_D5,

  NOTE_E5,

  NOTE_F5, NOTE_F5, NOTE_F5, NOTE_F5,

  NOTE_F5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5,

  NOTE_E5, NOTE_D5, NOTE_D5, NOTE_E5,

  NOTE_D5, NOTE_G5

};

int tempo[] = {

  8, 8, 4,

  8, 8, 4,

  8, 8, 8, 8,

  2,

  8, 8, 8, 8,

  8, 8, 8, 16, 16,

  8, 8, 8, 8,

  4, 4

};

// We wish you a merry Christmas

int wish_melody[] = {

  NOTE_B3, 

  NOTE_F4, NOTE_F4, NOTE_G4, NOTE_F4, NOTE_E4,

  NOTE_D4, NOTE_D4, NOTE_D4,

  NOTE_G4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_F4,

  NOTE_E4, NOTE_E4, NOTE_E4,

  NOTE_A4, NOTE_A4, NOTE_B4, NOTE_A4, NOTE_G4,

  NOTE_F4, NOTE_D4, NOTE_B3, NOTE_B3,

  NOTE_D4, NOTE_G4, NOTE_E4,

  NOTE_F4

};

int wish_tempo[] = {

  4,

  4, 8, 8, 8, 8,

  4, 4, 4,

  4, 8, 8, 8, 8,

  4, 4, 4,

  4, 8, 8, 8, 8,

  4, 4, 8, 8,

  4, 4, 4,

  2

};

// Santa Claus is coming to town

int santa_melody[] = {

  NOTE_G4,

  NOTE_E4, NOTE_F4, NOTE_G4, NOTE_G4, NOTE_G4,

  NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, NOTE_C5,

  NOTE_E4, NOTE_F4, NOTE_G4, NOTE_G4, NOTE_G4,

  NOTE_A4, NOTE_G4, NOTE_F4, NOTE_F4,

  NOTE_E4, NOTE_G4, NOTE_C4, NOTE_E4,

  NOTE_D4, NOTE_F4, NOTE_B3,

  NOTE_C4

};

int santa_tempo[] = {

  8,

  8, 8, 4, 4, 4,

  8, 8, 4, 4, 4,

  8, 8, 4, 4, 4,

  8, 8, 4, 2,

  4, 4, 4, 4,

  4, 2, 4,

  1

};

void setup(void) {

  pinMode(5, OUTPUT); // Zumbador

  pinMode(13, OUTPUT); // Indicador de Led cuando se reproduce una nota

  randomSeed(analogRead(0));

 }

void loop() {

  sing(1);

  delay(3000);

  sing(2);

  delay(3000);

  sing(3);

  delay(5000);

}

int song = 0;

void sing(int s) {

  // Iteracciones sobre las notas de la melodía:

  song = s;

  if (song == 3) {

    Serial.println(” ‘We wish you a Merry Christmas'”);

    int size = sizeof(wish_melody) / sizeof(int);

    for (int thisNote = 0; thisNote < size; thisNote++) {

      // Para calcular la duración de una nota, dividimos un segundo entre el tipo de nota

     int noteDuration = 1000 / wish_tempo[thisNote];

      buzz(melodyPin, wish_melody[thisNote], noteDuration);

      // Para distinguir las notas, establecemos un tiempo mínimo entre ellas.

      // la duración de la nota + 30% funciona bien:

      int pauseBetweenNotes = noteDuration * 1.30;

      delay(pauseBetweenNotes);

      // deja de sonar el tono

      buzz(melodyPin, 0, noteDuration);

    }

  } else if (song == 2) {

    Serial.println(” ‘Santa Claus is coming to town'”);

    int size = sizeof(santa_melody) / sizeof(int);

    for (int thisNote = 0; thisNote < size; thisNote++) {

      // Para calcular la duración de una nota, dividimos un segundo entre el tipo de nota

      int noteDuration = 900 / santa_tempo[thisNote];

      buzz(melodyPin, santa_melody[thisNote], noteDuration);

     // Para distinguir las notas, establecemos un tiempo mínimo entre ellas.

      // la duración de la nota + 30% funciona bien:

      int pauseBetweenNotes = noteDuration * 1.30;

      delay(pauseBetweenNotes);

       // deja de sonar el tono

      buzz(melodyPin, 0, noteDuration);

    }

  } else {

    Serial.println(” ‘Jingle Bells'”);

    int size = sizeof(melody) / sizeof(int);

    for (int thisNote = 0; thisNote < size; thisNote++) {

       // Para calcular la duración de una nota, dividimos un segundo entre el tipo de nota

      int noteDuration = 1000 / tempo[thisNote];

      buzz(melodyPin, melody[thisNote], noteDuration);

       // Para distinguir las notas, establecemos un tiempo mínimo entre ellas.

      // la duración de la nota + 30%  funciona bien:

      int pauseBetweenNotes = noteDuration * 1.30;

      delay(pauseBetweenNotes);

       // deja de sonar el tono

      buzz(melodyPin, 0, noteDuration);

    }

  }

}

void buzz(int targetPin, long frequency, long length) {

  //inicializamos las variables para los colores de los leds

  int ColorR = 0;

  int ColorG = 0;

  int ColorB=0;

  digitalWrite(13, HIGH);

  //Los colores los generamos aleatoriamente

  ColorR=random(0,255);

  ColorG=random(0,255);

  ColorB=random(0,255);

  //Enviamos el valor de los colores básicos para generar el color final

  analogWrite(green, ColorG);

  analogWrite(red, ColorR);

  analogWrite(blue, ColorB);

  long delayValue = 1000000 / frequency / 2; // calcula el valor de espera entre transiciones

  long numCycles = frequency * length / 1000; //calcula el número de ciclos 

  for (long i = 0; i < numCycles; i++) { //bucle para el número de ciclos que hemos obtenido

    digitalWrite(targetPin, HIGH); // enviamos el valor  high al zumbador

    delayMicroseconds(delayValue); // esperamos el tiempo calculado

    digitalWrite(targetPin, LOW); //enviamos el valor low al zumbador 

    delayMicroseconds(delayValue); // esperamos el tiempo calculado

  }

  digitalWrite(13, LOW);

 }

No olvides copiar el fichero pitches.h a Arduino/libraries

Comprueba que el altavoz reproduce correctamente los villancicos y se encienden los leds.

Puedes probar a cambiar los colores de los LEDS en lugar de generarlos aleatoriamente. Para ello, puede ser útil la página https://www.colorspire.com/rgb-color-wheel/ (Donde, dado un color nos indica la cantidad de Rojo, Verde y Azul necesario).

3.El diodo LED-Tutorial Arduino

Un led o diodo emisor de luz, es un dispositivo electrónico capaz de permitir el paso de la corriente en un único sentido, esto se conoce como polarización directa, mientras el diodo emitirá luz. Cuando el diodo se polariza en sentido contrario, funcionará idealmente como un circuito abierto y no habrá circulación de corriente ni emisión de luz.

Diodo Led

Los diodos leds tienen dos patillas de conexión una larga y otra corta. Para que pase la corriente y emita luz se debe conectar la patilla larga al polo positivo y la corta al negativo. En caso contrario la corriente no pasará y no emitirá luz. 

En la imagen siguiente vemos un diodo led por dentro.

Este es el símbolo que se usa para los diodos led en los esquemas eléctricos, donde el ánodo será la patilla larga.

Los led trabajan a tensiones más o menos de 2V (dos voltios). Si queremos conectarlos a otra tensión diferente deberemos conectar una resistencia en serie con él para que parte de la tensión se quede en la resistencia y al led solo le queden los 2V.

Las grandes ventajas de los led:

 La primera es que consumen menos energía que las lámparas convencionales. ¿Por qué?.

 Las bombillas normales emiten luz pero también calor. El calor es energía que perdemos (lo que queremos es luz no calor). Bien pues los leds también pierden en forma de calor energía pero en cantidades mucho menores. Esto hace que casi toda la energía que consuman se utilice en dar luz y no calor, con el consiguiente ahorro.

 El 80% de la energía que consume un led se transforma en luz, sin embargo, las bombillas convencionales solo transforman el 20% de lo que consumen en luz, todo lo demás se vuelve calor.

 Otra ventaja es que el tiempo de duración es mucho mayor. Mientras que una bombilla normal cuenta con una vida útil de unas 5.000 horas, la vida útil de un LED es superior a las 100.000 horas de luz, estamos hablando de 11 años de continua emisión lumínica.

Transformando la energía, proyecto de robótica II

Nuestros mini ingenieros de robótica II han estado trabajando los conceptos y clases de energía, y qué mejor manera de aprender que haciendo, para ello han construido un molino de viento para simular  energía eólica.

¿Cómo pasar de energía eólica a energía eléctrica? Como ya es conocido por todos o al menos por la mayoría, el generador eólico es el aparato utilizado para conseguir generar energía eléctrica utilizando la energía eólica, o energía del viento, como fuente principal de energía.

En su proyecto han utilizado un motor para simular la fuerza del viento en un molino y convertir la energía eólica en energía eléctrica con potencia para encender un led.  Ya nunca más temerán un apagón en casa, tendrán su propia linterna… 🙂

Aquí os compartimos los resultados, creativos y originales.

Proyecto maker: sensores de plazas libres de aparcamiento

Uno de los primeros proyectos de programación y robótica ha sido construir un parking con dos plazas de garaje que contengan un sensor y enciendan un led si están libres o apaguen el led si están ocupadas.

Los alumnos para realizar el proyecto han utilizado diversos materiales:  cartón, piezas de su kit de robótica MRT, y una placa BQ Zum.  Para programar han utilizado la plataforma Bitbloq y la programación final ha sido la siguiente:

Nos muestran alguno de ellos en el siguiente video, muy contentos con el resultado final 🙂

Encender un led con una batería de limones

A los mini ingenieros les gustan mucho los experimentos y en esta ocasión van a construir una batería eléctrica con limones, generando energía suficiente para encender un led.

Materiales:

Clavos de zinc

Monedas de 5 céntimos

Pinzas cocodrilo

Limones

Led

Voltímetro

Lo que vamos a hacer es construir un pequeño circuito que consta de dos electrodos de diferente metal, un electrólito que en nuestro caso es el limón, unos conductores para conectar un limón  a otro y un led para ver el resultado de nuestro experimento. No vamos a construir una central térmica, así que nos tenemos que conformar con algo de bajo consumo.

Lo que haremos será colocar los electrodos en los limones (un trozo de zinc y un trozo  de cobre) y unirlos con los conectores. Finalmente conectaremos los electrodos a nuestro led y esperaremos para ver el resultado.

¿Qué está sucediendo? lo que sucede en realidad es una reacción redox de reducción y oxidación. Cuando colocamos los electrodos (zinc y una trozo de cobre por ejemplo) en el limón y los unimos, los electrones fluyen por el electrólito y generamos un poco de electricidad. ¿Cuánta? pues muy poquita, los voltajes no superan los 0,5v y los 0,2mA, pero bueno algo es algo.

¿Por qué funciona?

Las baterías constan de dos metales diferentes en suspensión en una solución ácida. El  cobre y zinc funcionan bien como los metales y el contenido de ácido cítrico de un limón proporcionará la solución ácida.

El clavo de zinc y la moneda de cobre se llaman electrodos . El jugo de limón se llama electrolito .
Todas las baterías tienen dos polos un ” + ” y ” – ” . La corriente eléctrica es un flujo de partículas atómicas llamadas electrones. Ciertos materiales, llamados conductores , permiten que los electrones fluyan a través de ellos. La mayoría de los metales (cobre, hierro)  son buenos conductores de la electricidad. Los electrones fluirán desde el “-” electrodo de una batería, a través de un conductor, hacia el electrodo “+” de una batería.  Voltios (voltaje) es una medida de la fuerza que mueve los electrones.

 

Encendido de un led con un motor

El primer proyecto de este grupo de mini-ingenieros de Primaria en robótica, consiste en una construcción libre que contenga un motor y cuando giremos manualmente éste, consigamos producir una cierta cantidad de electricidad para encender un led.

Luego “gamberreamos” un poco y conseguimos que el led cambie de color :-))

Veamos los resultados:

Iniciación a Arduino "Hola mundo"

Comenzamos el curso de iniciación en programación de Arduino con el encendido de led, nuestro

“Hola mundo”.

Un led es el acrónimo de Light-Emitting Diode, son componentes digitales que son muy baratos, gastan poca energía pero llegan a ser muy luminosos.  Sólo tienen dos estados: encendido y apagado.

El primer paso es aprender a encender un led, utilizamos la programación en Bitbloq, y, conseguimos hacer que encienda nuestro primer led.

El siguiente paso es programar acciones secuenciales, lo primero es encenderlo, pero como nuestra placa controladora piensa muy rápido, si le decimos que apague el led tras darle la orden de encendido, pasará de una orden a otra muy rápido y dará la sensación de que el led está siempre encendido. Para solucionarlo habrá que esperar un tiempo entre una orden y otra, a eso se le llaman acciones secuenciales.

Nuestro primer proyecto consiste en fabricar una bola de discoteca para la próxima fiesta con invitados en casa y poder mostrar nuestros primeros conocimientos en programación.

La placa controladora sólo puede hacer una cosa a la vez, por lo que las acciones programadas para encender y apagar varios led, sólo pueden ir una detrás de la otra y cuando no hay un tiempo de espera, estás acciones ocurren tan rápido que parece que tengan lugar simultáneamente.  Así nuestra programación para la bola de discoteca serán acciones secuenciales que parecen simultáneas.

Veamos nuestra bolas de discoteca terminadas:

GRANDES “mini-ingenieros”

Árbol de Navidad de cartón y luces programadas con Arduino

captura-de-pantalla-2016-12-20-a-las-8-03-19

El último proyecto del año de los asistentes al Club Tecnológico ha sido construir nuestro propio árbol de Navidad con cartón, decorarlo con manualidades y dotarle de luces led programadas con Arduino.

Para los asistentes era la primera vez que se iniciaban en Arduino, así que para la sesión hemos utilizado los minikits de prácticas Arduino de Microlog y el software por bloques Bitbloq de BQ educación.

entrenador-arduino-microlog-minikits 1480435795541-home_computer

Elegimos un diseño, recortamos cartón, preparamos los adornos navideños, montamos los minikits de led con encendido y apagado automático de las luces…. y ¡listo! nuestro árbol de Navidad preparado para felicitar las fiestas a todos.

Feliz Navidad 🙂

 

Recuerda que puedes visitarnos en nuestra web:  www.educaendigital.es

Scroll al inicio