Archivo de la etiqueta: microcontrolador

Nueva placa Arduino: Arduino Esplora


arduino esplora delantera

Los chicos de Arduino nos traen una nueva placa: la Arduino Esplora, la cual viene con un procesador Atmega32U4, como el de la placa Arduino Leonardo, y que además trae incorporados varios sensores y actuadores en ella. También presenta un diseño un tanto especial, que puede recordar al de un mando de videoconsola. En la siguiente imagen podéis ver todos los sensores y actuadores de los que dispone:

arduino esplora

Aquí más información: Arduino Esplora

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

Módulo de Relés


Como en un anterior tutorial hemos visto como usar y montar un circuito de relés para tu arduino/pinguino pic, aquí os dejo un sencillo tutorial para poder conectar módulos de relés que ya se compran montados a nuestros proyectos.

El módulo que voy a emplear es uno muy típico que podéis encontrar por ebay a un precio realmente muy atractivo, se trata de este:

Como podéis ver, en este módulo (que es el que he empleado para el tutorial) trae dos entradas para poder activar dos relés, pero podemos encontrar módulos con más relés e incluso de un solo relé, lo que necesitemos para nuestros proyectos.

Os dejo el esquema de conexión y paso a explicar un poco la conexión para que funcione todo correctamente:

Como podéis ver en la foto del módulo observamos que tenemos dos tiras de pines, una que es en la que esta el jumper, que tiene tres pines y podemos seleccionar alimentar todo el módulo de forma conjunta (es decir seleccionar con el jumper jd-vcc y vcc), o bien alimentar de forma independiente tanto optoacopladores como relés (quitando el jumper), yo he usado la forma de alimentar todo de manera conjunta, ya que me parece la forma más sencillo de hacerlo, así que he dejado el jumper uniendo jd-vcc y vcc. Y la otra tira de pines que es donde nos aparece en el siguiente orden: GND IN1 IN2 VCC, aquí es donde unimos la alimentación con nuestro arduino, es decir, GND del módulo con GND del arduino/pinguino pic, VCC del módulo con 5V del arduino/pinguino pic y las entradas IN1 e IN2 (se activan las bobinas de los relés cuando ponemos a GND dichas entradas) conectados a los pines que deseemos de nuestro arduino/pinguino pic, serán los encargados de activar las bobinas de los relés correspondientes. Como veis es una manera muy sencilla de poder emplear relés en nuestros proyectos sin necesidad de construirnos una pcb para realizar dicha tarea.

Por otro lado tenemos los conectores a los que conectaremos los aparatos eléctricos que queramos activar o desactivar mediante nuestro módulos de relés, como podéis observar en la imagen de arriba, tienen tres conectores cada relé, empezando por abajo observamos en este orden: Conector normalmente cerrado del relé 1 (está activo hasta que se activa la bobina del relé mediante la entrada IN1 poniéndola a LOW), el conector común del relé 1 y el conector normalmente abierto del relé 1 (está desactivado hasta que se activa la bobina del relé mediante la entrada IN1 y permanece activado hasta que se ponga a HIGH dicha entrada).

Os dejo un vídeo de funcionamiento utilizando el módulo con un arduino uno y una bombilla a 220V, donde se apaga/enciende con un intervalo de 5 segundos, empleando el ejemplo blink.

Código:

/*
Ejemplo de encendido/apagado de una bombilla de 220V con un módulo de relés
 */

void setup() 
{                
  // Indicamos el pin que va a activar o desactivar la bobina del relé
  pinMode(13, OUTPUT);     
}

void loop() 
{
  //Ojo las bobinas de los relés se activan cuando a las entradas del módulo tienen GND
  digitalWrite(13, HIGH);   // Desactivamos la bobina del relé
  delay(5000);              // Esperamos 5 segundos
  digitalWrite(13, LOW);    // Activamos la bobina del relé
  delay(5000);              // Esperamos 5 segundos
}

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

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

programando arduino con usbtinyisp


Me había quedado pendiente hacer una entrada de como poder programar nuestra placa Arduino o el chip sólo mediante un programador USBTinyISP v3.0 (que es el que yo tengo) a través del IDE de Arduino, tanto en la versión 022 como en la 1.0.

Los materiales que necesitamos son básicamente: El programador, un cable usb (vale el mismo del Arduino ya que desde el programador se alimentará la placa Arduino o el microcontrolador sólo) y por último la placa Arduino o el microcontrolador Atmega que sea compatible con el IDE de Arduino.

Para los usuarios de Arduino que emplean el IDE versión 022, supongo que será igual en anterirores versiones y en la 023, seguiremos los siguientes pasos:

1.- Debemos de tener instalados los drivers del programador en nuestro ordenador.

2.-Comprobaremos la conexión entre la placa Arduino o el microcontrolador a programar mediante el siguiente patillaje:

Pin programador            Pin Atmega328
1 Prog Miso—————–> Pin 18
2 Prog VCC ——————> Pin 7
3 Prog SCK —————–> Pin 19
4 Prog Mosi —————-> Pin 17
5 Prog RESET —————-> Pin 1
6 Prog GRND ———–> Pin 8

3.- Tendremos que editar el archivo de texto que se encontrará en esta dirección: C:\Documents and Settings\{USER NAME}\Application Data\Arduino\preferences.txt , en el cual modificaremos la siguiente línea upload.using=bootloader por esta otra upload.using=usbtinyisp.

4.- Ahora solo faltaría seleccionar un sketch y darle a upload y ya estaría nuestro microcontrolador programado.

NOTA: Al programar mediante USBTinyISP se borra el bootloader del microcontrolador si este lo tuviera programado, para cargarlo de nuevo tendríamos que ir al IDE de Arduino y en Tools ir a Burn Bootloader y marcar w/ USBTinyISP. Para volver a grabar de nuevo con el bootloader realizariamos el paso 3 a la inversa.

Para los usuarios de la versión 1.0 del IDE de Arduino bastaría con seleccionar el programador USBTinyISP según muestra la imagenes y posteriormente subir el programa al microcontrolador usando el programador externo:

Por último os dejo un archivo comprimido que contiene los esquemáticos, firmware y driver de este gran programador:

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

Esperamos que os sirva de ayuda y también vuestros comentarios!!

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

Mi placa pinguino pic


Como dije en el anterior post os enseño la placa Pinguino PIC que he montado, se trata de una versión realizada por los chicos de la asociación de robotica y domotica de España, cuya web es: http://foro.webdearde.com/

Esta versión con respecto a la original tiene de distinto que solo trae un pulsador de reset, en lugar de los dos pulsadores para reset y run que traía la placa original. Por tanto una vez presionado el pulsdor tras 5 segundos arranca de nuevo el programa.

Lo bueno de esta placa es que se le puede instalar un bootloader que permite grabar el programa en el PIC sin necesidad de un grabador externo (solo se necesita una única vez para cargar el bootloader en el PIC, yo uso el Pickit 2 de Microchip).

En próximos post iré explicando el uso y mis experimentos con el software libre Processing para comunicación con el Pinguino PIC desde el PC mediante USB, de momento he estado practicando con como encender y apagar leds, desde el pc con el ratón, pulsando teclas determinadas del teclado, así como lectura de puertos analógicos, lectura de pulsadores, etc. Según vaya realizando cosas las iré posteando por aquí.

Aquí os dejo el enlace a los archivos necesarios para montaros la placa Pinguino PIC: http://www.mediafire.com/?hn6ejh2gth8u5ln

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 PIC


En busca  de un sistema con el que desarrollar mis proyectos de una forma económico me he topado por la web con este gran proyecto que se llama Pinguino Pic. En que consiste Pinguino pic, pues basicamente en esto:

Pinguino es una placa similar a la placa Arduino pero basado en un microcontrolador PIC. El objetivo de este proyecto es construir un entorno de desarrollo integrado de fácil uso en Linux, Windows y Mac OS X. Partiendo de que Arduino es una poderosa herramienta con unos valores predeterminados, uno de sus inconvenientes es el de tener una interfaz USB no nativa en el chip, y debido a esto un código muy extenso para realizar la comunicación. Pues con Pinguino PIC esto no es así porque trae USB nativo ya que se construye en base a los PIC18F2455/18F2550 en formato 28 pines y en los PIC18F4455/18F4550, además presenta una UART para conexión serie.

El IDE de Pinguino se construye con Python y es muy similar al de Arduino. Decir también que es totalmente compatible con el código de Arduino y con la mayoria de sus librerias. En el IDE un preprocesador integrado traduce las instrucciones especifícas de Arduino directamente a C. Este preprocesador reduce la longitud del código y la velocidad de ejecución.

Por último, el IDE Pinguino es una aplicación independiente con un compilador de C (SDCC), ensamblador, enlazador (gputils) y un gestor de arranque basado el proyecto VASCO.

Además Pinguino es de hardware y software libre.

Este es el esquema original de la placa Pinguino PIC:

Los pasos para instalar el IDE y la placa Pinguino en Windows son los siguientes:
1.- Instalar Python 2.6

2.- Instalar wxpython

3.- Instalar PYUSB

4.- Instalar LIBUSB-WIN32

5.- Descomprimir e instalar Pinguino beta 9.05

Una vez conectada la placa PINGUINO al ordenador preguntará por los drivers, descomprimir en el escritorio
la carpeta driver pinguino windows y seleccionar el archivo.

Pinguino ya estará listo para usarse, arrancaremos el programa pinguino 9.05 y probamos su funcionamiento.

  • En primer lugar, haga clic en el botón de Upload to Pinguino en el IDE de Pinguino
  • Esperar unos segundos a que aparezca la ventana del Vascobootloader.
  • Ahora pulse el botón de reset en la placa Pinguino y espere unos 3 segundos.
  • Haga clic en “escribir” en el VascoBootLoader.
  • Deberia dar un mensaje de Pic found, si este mensaje no aparece y en cambio aparece Pic no found vuelve al paso anterior.

En el próximo post os enseñare la versión que me he montado de la placa de Pinguino PIC y como se graba el bootloader y un programa para comunicar con el pc.

Más información sobre Pinguino PIC en: http://www.hackinglab.org/pinguino/index_pinguino.html

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