Archivo de la etiqueta: tallerarduino

Arduino Yún: un Arduino con wifi


Hace unos días Massimo Banzi ha presentado, en la Maker Faire Bay Area, la placa Arduino Yún (la primera placa de una familia de productos con wifi que combinan Arduino con sistemas Linux). Realizada en colaboración con Dog Hunter (compañía con una extensa experiencia con linux), esta placa adopta la distribución linux Linino.

Arduino Yun top

Arduino Yun bottom

Básicamente la placa Arduino Yún es una combinación entre una placa Arduino Leonardo y un sistema wifi MIPS GNU/Linux basado en OpenWRT con la distribución Linino instalada. El sistema está basado en el chip ATMega324 (el que incorpora el Arduino Leonardo) y un Atheros AR9331.

Arduino Yun esquema

Esta placa además de ser programada a través del puerto USB que trae integrado también se puede programar vía Wifi.

La verdad es que se trata de una placa bastante interesante para nuestros proyectos, y a un precio bastante asequible, que será de 69$ más impuestos.

Podéis obtener más información aquí.

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal

pinguino kit: programa pinguino gráficamente


Pinguino Kit (actualmente en la versión v1.1) es un entorno que permite programar las placas Pinguino Pic gráficamente. Esta herramienta pretende convertirse en una herramienta de enseñanza de programación y electrónica digital básica, centrada en estas placas. Os dejo una captura del IDE de Pinguino Kit y un vídeo en el que podéis ver un poco su funcionamiento y el método para realizar programas.

IDE Pinguino Kit

Podéis encontrar más información en los siguientes enlaces: Página del proyecto Pinguino Kit y zona de descarga e instalación del IDE de Pinguino Kit.

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal

Arduino Robot: Lottie Lemon


Nuevo robot educativo gracias a la colaboración entre la Asociación de Robótica Educativa Complubot y del equipo de Arduino. Este robot, llamado Lottie Lemon, presenta dos procesadores ATMEGA32U4 (uno en cada una de sus placas) y se encargan tanto de controlar los motores que se encuentran en la placa inferior como de los sensores que se encuentran en la placa superior. La programación de este robot es similar a la programación de un Arduino Leonardo. Os dejo unas fotos de está maravilla educativa en el tema de la robótica.

ArduinoRobot

Robot Lottie Lemon

LottieLemon_figure_hardware_top

LottieLemon_figure_hardware_bottom_back

Para más información podéis visitar los siguientes enlaces: Página oficial Arduino Robot, primeros pasos con Arduino Robot y Librerías Arduino Robot.

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal

sensor de temperatura tmp36 y arduino


En esta nueva entrada vamos a ver como usar un sensor de temperatura analógico (emplea uno de los pines analógicos) modelo TMP36 con nuestra placa Arduino, dicho sensor es de la casa Analog Devices y permite realizar unas medidas de temperatura bastante precisas y a un muy reducido coste.

Foto Sensor TMP 36 GZ

Como podéis ver el sensor empleado es de tipo TO-92 (encapsulado como el DS18B20 o el de algunos transistores). Además se caracteriza por ser un sensor que es muy empleado para realizar medidas de temperatura y es muy sencillo de emplear (no hacen falta librerías para su uso). Es un sensor que se puede alimentar entre un rango de voltaje que va desde los 2.7V hasta los 5.5V, viene calibrado directamente en grados centígrados (ºC), presenta un factor de escala lineal de 10 mV/ºC (esto es la relación entre el cambio en la señal de salida y el cambio en la señal de la medida, es decir, cada 10 mV aumenta 1 ºC). Las características generales son:

Caracteristicas TMP36

Aquí os dejo un enlace para que podáis descargaros el datasheet del sensor de temperatura, el esquema en fritzing de conexionado y el sketch de Arduino: http://www.mediafire.com/?c26yr7fk48my0fw

Os pongo el esquema para la conexión del sensor a Arduino:

Conexion Fritzing TMP36

Aquí tenéis un código de ejemplo, de como obtener tanto el voltaje leído por el sensor, como los grados centígrados y los grados fahrenheit, además de mostrar los valores máximos y mínimos para cada una de las medidas mencionadas.

/* Sketch de ejemplo para testear el sensor de temperatura analógico TMP36
 Escrito por Regata para www.tallerarduino.wordpress.com

 MODO DE CONEXIÓN DEL SENSOR

 Conectamos el pin 1 que corresponde a la alimentación del sensor con los 5V del Arduino
 Conectamos el pin 2 que corresponde al pin de datos del sensor con cualquier pin analógico del Arduino
 Conectamos el pin 3 que corresponde al pin de masa (GND) del sensor con el pin GND del Arduino

*/

int temp = 5;  //Pin analógico A5 del Arduino donde conectaremos el pin de datos del sensor TMP36
float maxC = 0, minC = 100, maxF = 0, minF = 500, maxV = 0, minV = 5;  //Variables para ir comprobando maximos y minimos

void setup()
{
  Serial.begin(9600);  //Iniciamos comunicación serie con el Arduino para ver los resultados del sensor
                        //a través de la consola serie del IDE de Arduino
}

void loop()
{
  float voltaje, gradosC, gradosF;  //Declaramos estas variables tipo float para guardar los valores de lectura
                                    //del sensor, así como las conversiones a realizar para convertir a grados
                                    //centígrados y a grados Fahrenheit
                                    
  voltaje = analogRead(5) * 0.004882814;  //Con esta operación lo que hacemos es convertir el valor que nos devuelve
                                           //el analogRead(5) que va a estar comprendido entre 0 y 1023 a un valor
                                           //comprendido entre los 0.0 y los 5.0 voltios
                                           
  gradosC = (voltaje - 0.5) * 100.0;  //Gracias a esta fórmula que viene en el datasheet del sensor podemos convertir
                                       //el valor del voltaje a grados centigrados
                                       
  gradosF = ((voltaje - 0.5) * 100.0) * (9.0/5.0) + 32.0;  //Gracias a esta fórmula que viene en el datasheet del sensor podemos convertir
                                                           //el valor del voltaje a grados Fahrenheit
                                                           
  //Mostramos mensaje con valores actuales de humedad y temperatura, asi como maximos y minimos de cada uno de ellos
  Serial.print("Medidas actuales\n");
  Serial.print("C: "); 
  Serial.print(gradosC);
  Serial.print("\tF: "); 
  Serial.print(gradosF);
  Serial.print("\tV: "); 
  Serial.print(voltaje);
  //Comprobacion de maximos y minimos de humedad y temperatura
  if (maxC < gradosC)
    maxC = gradosC;
  if (gradosC < minC)
    minC = gradosC;
  if (maxF < gradosF)
    maxF = gradosF;
  if (gradosF < minF)
    minF = gradosF;
  if (maxV < voltaje)
    maxV = voltaje;
  if (voltaje < minV)
    minV = voltaje;
  Serial.print("\nMedidas maximas\n");
  Serial.print("C: "); 
  Serial.print(maxC);
  Serial.print("\tF: "); 
  Serial.print(maxF);
  Serial.print("\tV: "); 
  Serial.print(maxV);
  Serial.print("\nMedidas minimas\n");
  Serial.print("C: "); 
  Serial.print(minC);
  Serial.print("\tF: "); 
  Serial.print(minF);
  Serial.print("\tV: "); 
  Serial.print(minV);
  Serial.print("\n\n");
  delay(2000);  //Usamos un retardo de 2 segundos entre lectura y lectura  
}

La salida que obtenemos a través de la consola serie del IDE de Arduino es la siguiente:

Muestra de datos TMP36

Espero que os sirva de ayuda para vuestros proyectos!!

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal

Sensor de nivel de liquido y arduino o pinguino pic


Como estoy metido en un proyecto sobre el control de unos depósitos de agua para la furgoneta vivienda de un amigo mio, me parece interesante hablar aquí de los sensores de nivel de liquido.

Los sensores de nivel de liquido de los que vamos a hablar son de este tipo:

La verdad es que son muy fáciles de usar, ya que cuando están activados puentean los dos cables que traen, así que funcionan como un interruptor. Os dejo las características de los mismos:

El ejemplo que hice para probarlo es muy básico y es el mismo tanto para arduino como para pinguino pic, lo único que cambia son los pines a donde he conectado tanto el sensor como el led de alarma (los podéis ver en el código de pinguino pic), os dejo una imagen del esquema de conexionado:

Aquí podéis ver un vídeo del funcionamiento del sensor (en un improvisado depósito de agua realizado con una botella de refresco):

El código para arduino:

/*Prueba sensor de nivel de liquido*/

int sensor=12;  //Indicamos el pin al que tenemos conectado el sensor de nivel de liquido
int led=11;      //Indicamos el pin al que tenemos conectado el led que indica alarma

void setup()
{                
	//Configuramos los pines correspondientes como entradas o salidas
  pinMode(sensor,INPUT);   //sensor de nivel de liquido
  pinMode(led, OUTPUT); //salida led
}

void loop()
{
  if(digitalRead(sensor)==LOW)
    digitalWrite(led,LOW);
  else
    digitalWrite(led,HIGH);
}

El código para pinguino pic:

/*Prueba sensor de nivel de liquido*/

int sensor=0;  //Indicamos el pin al que tenemos conectado el sensor de nivel de liquido
int led=1;      //Indicamos el pin al que tenemos conectado el led que indica alarma

void setup()
{                
	//Configuramos los pines correspondientes como entradas o salidas
  pinMode(sensor,INPUT);   //sensor de nivel de liquido
  pinMode(led, OUTPUT); //salida led
}

void loop()
{
  if(digitalRead(sensor)==LOW)
    digitalWrite(led,LOW);
  else
    digitalWrite(led,HIGH);
}

Espero que os sirva de ayuda!!!

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal

Relés y Arduino: Encendiendo una bombilla desde tu arduino.


En este nuevo post vamos a hablar de como hacer funcionar un relé con Arduino, en primer lugar necesitamos saber que un relé es un dispositivo que funciona como un interruptor, permitiendo la activación o des-activación de un circuito eléctrico independiente, es decir, podemos activar aparatos electrónicos de mayor voltaje y gran consumo a través de nuestros microcontroladores (como por ejemplo encender una bombilla que funciona a 220V a través de nuestro microcontrolador).

Yo para este tutorial he empleado unos relés de la casa HUI KE que funcionan a 5V y comprados por ebay a un precio muy reducido, en concreto HUI KE HK4100F-DC5V-SHG, os pongo unas imagenes y las conexiones interiores:

Como podéis ver estos relés son de muy reducido tamaño y perfectos para trabajar con nuestro microcontroladores, ya que funcionan a 5V, sin necesidad de disponer de fuentes externas para activar su bobina. Os dejo el esquema de conexión realizado en Fritzing y un esquemático realizado en Eagle:

Como podéis ver los componentes que necesitamos para realizar el circuito de control son muy pocos:

* Relé de 5V (En este caso de la casa HUI KE, vale cualquier otro).
* Transistor BC547.
* Resistencia de 10k.
* Diodo 1N4001.

Como siempre os dejo una foto del montaje del mismo y un vídeo del funcionamiento del circuito, en esta caso la bombilla se enciendo durante un segundo y permanece apagada durante diez segundos:

Y por último os dejo el código (aunque es muy sencillo):

/*Programa realizado por Javier Couto Rego "Regata" para
www.tallerarduino.wordpress.com

Encendiendo una bombilla a 220V con un Arduino y un relé
a 5V*/

int rele=8;

void setup()
{
  pinMode(rele,OUTPUT);
}

void loop()
{
  //Nota tenemos el relé conectado como Normalmente Abierto
  //así solo se activará la carga cuando activemos la bobina
  //del relé, para que funcione al revés cambiaremos el cable
  //a la posición Normalmente Cerrado
  digitalWrite(rele,HIGH);  //Activamos la bobina del relé y encendemos la bombilla
  delay(1000);              //durante 1 segundo
  digitalWrite(rele,LOW);   //Desactivamos la bobina del relé y apagamos la bombilla
  delay(10000);             //durante 10 segundos
}

Espero que os guste y que os sirva de ayuda!!!

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal

Arduino Tutorials Cap 6. I2C Comunication


Muy buenas a todos!

Tras varias semanas sin poder llevar al día la tarea de los videotutoriales, hoy os traigo un nuevo capítulo de la serie “Arduino Tutorials”. En este nuevo tutorial, vamos a tratar el uso de la comunicación I2C, como siempre, lo haremos guiado por un documento y tres casos prácticos que espero os ayuden a entender a la perfección como funciona la comunicación I2C.

Informaos que hasta Junio, aproximadamente, los videotutoriales no tendrán la frecuencia prevista en un principio, uno cada dos semanas, debido a motivos estudiantiles y laborales del equipo. De todas formas, estamos en contacto con vosotros para resolver cualquier duda que podáis tener tanto por twitter, facebook y, como no, desde el propio blog.

Aquí os dejo el link de descarga de los archivos requeridos en el tutorial y el video, como siempre, espero vuestros comentarios, críticas, aportaciones,…

http://www.mediafire.com/?kp17m2hk7wczwxq