viernes, 24 de mayo de 2013


Arduino 003: Controlar un LED con un potenciómetro

    Con este programa lograremos encender, apagar y controlar un diodo emisor de luz. Para ello, necesitaremos una placa de Arduino (en este caso usaremos una placa Arduino Uno), un diodo emisor de luz, una resistencia de 220 Ohm y por ultimo un potenciómetro.
Para utilizar el potenciómetro, necesitaremos una entrada analógica y no digital. Y para que la luminosidad del LED pueda variar, la salida debe ser PWM, ya que de no ser así, solo lograríamos encenderlo con 5V y apagarlo con 0V. No conseguiríamos una tensión intermedia.
    El conexionado es el siguiente:
y el programa para que el esquema funcione es el siguiente:

int pinSensor = A0;   //Entrada para el potenciometro
int pinLed = 9;       //Selecionamos pin para el Led
int valorSensor = 0;  //Variable para el valor del sensor

void setup(){
 pinMode(pinLed, OUTPUT);  //Establecemos el pin como salida 
}

void loop(){
 // Leemos el valor del sensor y lo almacenamos:
valorSensor = analogRead(pinSensor);
// Establecemos el valor analogico para la salida PWM
analogWrite(pinLed, valorSensor/4);
//Detenemos el programa durante 30 milisegundos
delay(30);
} 

    En las tres primeras lineas de programación declararemos las variables, dándoles un nombre e indicando el pin al que los conectaremos. La entrada del pot. al ser analógica, será la A0. La salida del LED, corresponde al pin 9, el cual es un PWM. La tensión de salida de este pin oscila entre 5 y 0V.
    En la sección del ”void setup” indicaremos si las variables son de entrada o salida. En este caso, la variable de nuestro LED, será de salida.
   El programa comienza a partir del “void loop”. Comenzaremos leyendo el valor del potenciómetro, como un valor analógico. Después, encenderemos el LED, con el analogRead, con el valor que nos este dando el potenciómetro. De esta forma, conseguiremos controlar la luminosidad del diodo LED, gracias al potenciómetro.

Autor: Jon Fernandez (G1E)

martes, 21 de mayo de 2013

TERCER PREMIO CON ROBOT "CURIOSO"

    Los Alumnos Axier Albín, Jokin Mugika y Aimar Rollan ganan el tercer premio de los DB Sariak en la categoría de proyectos científico tecnológicos con el ROBOT "CURIOSO". Enhorabuena y que disfrutéis el premio.


jueves, 16 de mayo de 2013

ARDUINO 002: SONIDO CONTROLADO POR POTENCIOMETRO


     El Arduino uno nos permite hacer multitud de cosas, tan solo variando un par de variables a la hora de hacer la programación. En este ejercicio, que se le podría denominar generando sonido con un potenciómetro, lo único que necesitaríamos sería el Arduino uno junto con su shield ya que en la shield trae incorporado el buzzer (generador de sonido) y el dicho potenciómetro. La idea de este ejercicio es generar diversos tonos en el buzzer a partir del estado analógico del potenciómetro. Más adelante explicaré como es el funcionamiento del pequeño programa hecho.
    En caso de no tener el shield podemos hacer la siguiente conexión con un potenciómetro y un buzzer: 


    El programa que hace funcionar este esquema es el siguiente:


int buzzer = 9;
int tono = 0;    

void setup() 
{
 pinMode(buzzer,OUTPUT);
 pinMode(tono, INPUT);
}

void loop() 
{            
  int sensor = analogRead(tono); 
  int frecuencia = map(sensor,0,1023,100,5000);
  int duracion = 250;
  tone(buzzer, frecuencia, duracion);
  delay(100);
} 
 
    Primero declaramos las dos variables que usaremos, como lo son el “buzzer” y “tono”. Buzzer lo igualamos a 2 ya que en nuestro Arduino tiene ese pin y Tono lo igualamos a 0 para declarar el pin del potenciómetro. La función principal sería void setup() que se ha de ejecutar cada vez que el Arduino se inicia, aunque no la utilizamos debemos ponerla siempre sino daría un error de programación. void loop() se declara como la función cíclica, que es como si fuese un bucle, estará ahí todo el rato mientras el Arduino este siendo alimentado. int sensor = analogRead(tono) es la variable donde se guardara el valor del potenciómetro.
  int frecuencia = map(sensor,0,1023,100,5000) es la variable donde se escala la frecuencia de 100 a 5000Hz y dependiendo del valor de la frecuencia que tengamos sacara diversos sonidos. int duracion = 250 variable para guardar el tiempo deseado en ms. Por último, la función tone, que tiene 3 posiciones diferentes, la primera para el pin del buzzer, la segunda para la frecuencia deseada en Hz y la tercera para la duración del tono. tone(buzzer, frecuencia, duracion).


Autor: Alex Criado (G1E)

lunes, 13 de mayo de 2013

ROBOT EXPLORADOR "CURIOSO"

    La Robótica está presente en nuestras vidas y cada día se nos permite tener más tiempo para el ocio gracias a que estos pequeños robot nos descargan de tareas cotidianas como pueden ser, limpiar, fregar, recoger el polvo etc. En la industria estos robot llevan funcionando desde hace muchos años, pero ahora se pueden controlar desde smartphones o tablets de una forma fácil e intuitiva. 

      En este caso el proyecto que hemos llevado a cabo es un robot que puede explorar tubos de aire acondicionado u otros conductos en busca de atascos o averías. Este robot está compuesto por sensores de ultrasonidos que nos permiten saber a que distancia se encuentran los obstáculos, además tiene 2 sensores de choque que nos van a indicar cuando nuestro robot se ha chocado y lo mejor de todo es que es que puede ser controlado por cualquier dispositivo Android que tenga bluetooth. 


    Además de los sensores hemos dotado a este pequeño robot de unas luces con diodos de alta luminosidad que permite iluminar el camino a seguir. Todo ello se complementa con una cámara que nos dará imágenes del lugar por donde está nuestro robot.

    El control de este robot, como ya se ha indicado anteriormente se realiza mediante una aplicación de android. Esta aplicación nos va a permitir además de manejar el robot, configurar todos los parámetros. Es una aplicación hecha mediante AppInventor, una plataforma de MIT y que es de libre acceso. La aplicación tiene este aspecto:

     La pantalla de la izquierda es la de entrada y desde ella podemos acceder a las otras dos pulsando en el icono de configuración o pulsando en Conectar nos da acceso a la pantalla de control del robot. El uso de la aplicación es muy sencillo e intuitivo por lo que explicarla carece de interés.  Como ya se ha comentado antes esta aplicación está desarrollada mediante una aplicación del MIT que se programa desde es navegador y que como requisito único es que hay que tener una dirección de Google. El aspecto de la programación es el siguiente:


   Como se puede ver todo es programación gráfica y en forma de puzzle, lo que permite una fácil comprensión del código que se está generando.  

   Para la parte de hardware nos hemos decantado por un PIC y diferentes sensores, uno de ultrasonidos, que nos permite ver a que distancia tenemos los obstáculos, y dos finales de carrera que nos indicarán cuando hemos chocado en caso de tener algún obstáculo que nos se haya detectado mediante los ultrasonidos. Para la comunicación con nuestra placa y el smartphone utilizamos un módulo de Bluetooth JY-MCU-HC-06Es un módulo de muy bajo coste y que nos convierte la señal bluetooth en un puerto serie que es muy fácil de controlar mediante cualquier microcontrolador.

    Por último nos queda ver el esquema electrónico que hemos hecho para nuestra placa. El esquema es el siguiente:


  Pero como lo interesante es que se vea como funcionaba nuestro Robot aquí os ponemos un vídeo en el que explicamos todo.



   Esperamos que os haya resultado interesante.

Autores: Axier Albín
             Jokin Mugika
             Aimar Rollán

JY-MCU-HC-06