jueves, 17 de mayo de 2012

ARDUINO: ¿QUÉ ES?

Imprime este post

La presente entrada trata de introducirnos en el mundo de la robótica cuando el ordenador es el dispositivo de control.  Para conseguir la interacción usaremos la plataforma de computación física Arduino.
Antes de empezar a trabajar con este sistema debemos conocer de lo que estamos hablando:
"Arduino es una plataforma de hardware libre basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se pueden descargar gratuitamente."

Al trabajar con Arduino se cubrirán los siguientes contenidos curriculares de la asignatura de Tecnología de 4º ESO:
  1. Electricidad y electrónica: Descripción y análisis de sistemas electrónicos por bloques: entrada, salida y proceso. Componentes electrónicos básicos: condensador, transistor, resistencias, circuitos integrados simples. Dispositivos de entrada: interruptores, resistencias que varían con la luz y la temperatura. Dispositivos de salida: zumbador, relé, led, diodo. Dispositivos de proceso: los integrados. Aplicaciones en montajes sencillos. 
  2. Tecnologías de la información. El ordenador como dispositivo de control: señales analógicas y digitales. Comprensión de la lógica de funcionamiento interno. Transmisión de la información por medio de señal eléctrica. Adquisición de datos. Programas de control. 
  3. Control y robótica. Percepción del entorno: sensores empleados habitualmente. Aplicaciones en la industria, medicina, etcétera. Lenguajes de control de robots: programación. Realimentación del sistema. Introducción a los sistemas neumáticos e hidráulicos: principios, elementos, aplicaciones básicas. 
A partir de ahora nos basaremos en la magnífica página sobre Arduino en español que han diseñado los compañeros:
Leer más...

ARDUINO: ¿POR QUÉ?

Imprime este post

¿Por qué Arduino?
Hay muchos otros microcontroladores y plataformas con microcontroladores disponibles para la computación física. Parallax Basic Stamp, BX-24 de Netmedia, Phidgets, Handyboard del MIT, y muchos otros ofrecen funcionalidades similares. Todas estas herramientas organizan el complicado trabajo de programar un microcontrolador en paquetes fáciles de usar. Arduino, además de simplificar el proceso de trabajar con microcontroladores, ofrece algunas ventajas respecto a otros sistemas a profesores, estudiantes y amateurs:
  • Asequible: Las placas Arduino son más asequibles comparadas con otras plataformas de microcontroladores. La versión más cara de un modulo de Arduino puede ser montada a mano, e incluso ya montada cuesta bastante menos de 60€ (la Arduino Duemilanove ya montada cuesta en torno a los 30 €).
  • Multi-Plataforma: El software de Arduino funciona en los sistemas operativos Windows, Macintosh OSX y Linux. La mayoría de los entornos para microcontroladores están limitados a Windows.
  • Entorno de programación simple y directo: El entorno de programación de Arduino es fácil de usar para principiantes y lo suficientemente flexible para los usuarios avanzados. Pensando en los profesores, Arduino está basado en el entorno de programación de Procesing con lo que el estudiante que aprenda a programar en este entorno se sentirá familiarizado con el entorno de desarrollo Arduino.
  • Software ampliable y de código abierto: El software Arduino esta publicado bajo una licencia libre y preparado para ser ampliado por programadores experimentados. El lenguaje puede ampliarse a través de librerías de C++, y si se está interesado en profundizar en los detalles técnicos, se puede dar el salto a la programación en el lenguaje AVR C en el que está basado. De igual modo se puede añadir directamente código en AVR C en tus programas si así lo deseas.
  • Hardware ampliable y de Código abierto: Arduino está basado en los microcontroladores ATMEGA168, ATMEGA328 y ATMEGA1280. Los planos de los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores de circuitos con experiencia pueden hacer su propia versión del módulo, ampliándolo u optimizándolo. Incluso usuarios relativamente inexpertos pueden construir la versión para placa de desarrollo para entender cómo funciona y ahorrar algo de dinero.
Leer más...

miércoles, 16 de mayo de 2012

ARDUINO: DESCRIPCIÓN DE LA PLACA

Imprime este post
 DESCRIPCIÓN DE LA PLACA

1) ¿Qué es Arduino?
Arduino es una plataforma de hardware libre basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring.
Su corazón es el chip Atmega8, un chip sencillo y de bajo coste que permite el desarrollo de múltiples diseños.
Al ser open-hardware tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para desarrollar cualquier tipo de proyecto sin tener que adquirir ningún tipo de licencia.
2) ¿Cuál es la funcionalidad de la placa Arduino?

Arduino puede utilizarse en el desarrollo de objetos interactivos autónomos o puede conectarse a un PC a través del puerto serie utilizando lenguajes como Flash, Processing, MaxMSP, etc ... Las posibilidades de realizar desarrollos basados en Arduino tienen como límite la imaginación.
Asimismo, su sencillez y su bajo coste, recomiendan su uso como elemento de aprendizaje e iniciación en el mundo de la electrónica digital.

 DESCRIPCIÓN DE LA PLACA

1) ¿Qué es Arduino?
Arduino es una plataforma de hardware libre basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring.
Su corazón es el chip Atmega8, un chip sencillo y de bajo coste que permite el desarrollo de múltiples diseños.
Al ser open-hardware tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para desarrollar cualquier tipo de proyecto sin tener que adquirir ningún tipo de licencia.
2) ¿Cuál es la funcionalidad de la placa Arduino?

Arduino puede utilizarse en el desarrollo de objetos interactivos autónomos o puede conectarse a un PC a través del puerto serie utilizando lenguajes como Flash, Processing, MaxMSP, etc ... Las posibilidades de realizar desarrollos basados en Arduino tienen como límite la imaginación.
Asimismo, su sencillez y su bajo coste, recomiendan su uso como elemento de aprendizaje e iniciación en el mundo de la electrónica digital.

3) ¿Cómo se utiliza?

El primer paso para empezar a utilizar Arduino es el de configuración de la placa en el ordenador e instalación de posibles drivers que sean necesarios. Para ello se recomienda leer el post relacionado con el tema.



Antes de empezar a trabajar con este sistema debemos conocer de lo que estamos hablando:
"Arduino es una plataforma de hardware libre basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se pueden descargar gratuitamente."

Al trabajar con Arduino se cubrirán los siguientes contenidos curriculares de la asignatura de Tecnología de 4º ESO:
  1. Electricidad y electrónica: Descripción y análisis de sistemas electrónicos por bloques: entrada, salida y proceso. Componentes electrónicos básicos: condensador, transistor, resistencias, circuitos integrados simples. Dispositivos de entrada: interruptores, resistencias que varían con la luz y la temperatura. Dispositivos de salida: zumbador, relé, led, diodo. Dispositivos de proceso: los integrados. Aplicaciones en montajes sencillos. 
  2. Tecnologías de la información. El ordenador como dispositivo de control: señales analógicas y digitales. Comprensión de la lógica de funcionamiento interno. Transmisión de la información por medio de señal eléctrica. Adquisición de datos. Programas de control. 
  3. Control y robótica. Percepción del entorno: sensores empleados habitualmente. Aplicaciones en la industria, medicina, etcétera. Lenguajes de control de robots: programación. Realimentación del sistema. Introducción a los sistemas neumáticos e hidráulicos: principios, elementos, aplicaciones básicas.
Leer más...

ARDUINO: INSTALACIÓN Y PRIMEROS PASOS

Imprime este post

Una de las principales características de Arduino es la facilidad  con la que se instala y se configura. Además, por supuesto, al tratarse de un "hardware libre" el software necesario para su uso es, consecuentemente, libre.
En este artículo se analizará la instalación y configuración de la placa Arduino Duemilanove sobre un entorno Windows. Para realizar esta misma instalación sobre un entorno Linux o con otra de las versiones de la placa Arduino se recomienda la siguiente página....

Analizaremos el proceso en diferentes pasos:

1)  La placa Arduino y el cable USB
El primer paso es adquirir la placa de Arduino. Para ello tienes dos opciones: o bien comprar la placa ya montada en alguna de las tiendas on-line que lo ofrecen por un precio aproximado de 25 € (en este blog no se realizan enlaces a páginas comerciales) o bien confiar en tus "manitas" y tu paciencia de electrónico soldador y tratar de montarla a través de la descripción de la placa y el soldado de componentes (ventaja del concepto de hardware libre). Si eres de los que te atreves, en este enlace te dejo el esquemático y en este otro unas instrucciones... 
 
Como trabajaremos con la versión de Arduino Duemilanove necesitaremos un cable USB debe ser tal y como se muestra en la imagen de la derecha. Con un conector tipo A (para conectar al PC) y otro tipo B (para conectar a la placa) en sus extremos. No hay que equivocarlo con el cable mini-USB que habitualmente se utiliza con dispositivos más pequeños como cámaras de fotos y lectores de tarjetas.



2) Fuente de alimentación (opcional)
Cuando usamos nuestra placa Arduino Duemilanove se nos plantean dos posibilidades, dependiendo del uso que se quiera dar al hardware:
1) Si se utiliza la placa para realizar ejercicios de electrónica digital o analógica o para robots en los que se introduzca algún tipo de PC para ayudar al procesado de datos (para economías boyantes), es decir, si la placa está en todo momento conectada por USB al PC la propia alimentación del ordenador proporciona alimentación a Arduino. En este caso, NO SE NECESITA NINGÚN TIPO DE FUENTE DE ALIMENTACIÓN EXTERNA.
2) Si usamos Arduino para pequeñas instalaciones, robos o cualquier tipo de dispositivo en el que se Arduino realice la función de cerebro y no sea posible conectarlo a ningún ordenador (por presupuesto, movilidad, etc...) es necesario alimentar a Arduino mediante una fuente externa. Se puede utilizar una fuente de alimentación de corriente continua o una pila/batería con el conector apropiado. Se recomienda no obstante el uso de la primera ya que no tenemos que estar pendientes de sustituir las pilas en caso de que se queden sin carga. En ambos casos el voltaje de la fuente puede ser de entre 6 y 25 voltios
3) Instalando el software y configurando....

3.1) Descarga el software (entorno de desarrollo de Arduino o IDE).
Para programar la placa es necesario descargarse de la página web de Arduino el entorno de desarrollo (IDE). Se dispone de versiones para Windows y para MAC, así como las fuentes para compilarlas en LINUX.
Cuando el software se descargue basta con descomprimir el fichero descargado y guardar la carpeta completa en un lugar de tu PC. Haciendo doble click sobre el ejecutable "arduino.exe" permitirá la ejecución del programa. Pero, antes de eso....


3.2) Conecta la placa Arduino al PC
Conecta la placa Arduino con el cable USB a tu PC. El LED verde de energía (power) etiquetado como PWR debe estar encendido. 

3.3) Instalando los drivers..
Cuando se conecta la placa Windows debería empezar a reconocer el dispositivo USB que ha sido insertado.  Milagrosamente el reconocimiento e instalación de drivers se realiza automáticamente en el Windows Vista (algo funciona!!!!!) pero NO en todas las ocasiones en la versión XP.  En Windows XP se deben realizar los siguientes pasos para conseguir que el nuevo Hardware sea reconocido por el sistema:
  • Cuando la ventana de instalación automática de Windows pregunta si Windows puede conectarse a Windows Update para buscar el software seleccionamos la opción "No esta vez".
  • Selecciona la opción "Instalar desde una ubicación específica" y pulsa "Siguiente". 
  • Selecciona las opciones "Busca el mejor driver en estas ubicaciones" e "Incluye esta localización en la búsqueda", deselecciona la opción "Busca medios móviles". Tras esto explora hasta la carpeta /drivers/FTDI USB Drivers/ que se encuentra en la carpeta de la distribución de Arduino. Pulsa "Siguiente"
  • El sistema debe buscar el driver adecuado y darte una respuesta afirmativa que confirme la instalación del driver "USB serial converter". Tras esto pulsa "Finalizar". 
  • La ventana de "Nuevo hardware encontrado" aparecerá de nuevo y se deben repetir los mismos pasos anteriores. En esta ocasión es el "USB serial port" driver el que es instalado. Tras esto pulsa "Finalizar".
Para comprobar que el nuevo hardware ha sido correctamente instalado se puede confirmar en el Panel de control del sistema. Propongo dicho ejercicio de confirmación.


3.4) Ejecutando la IDE de Arduino..
Haciendo doble click sobre el ejecutable "arduino.exe" permitirá la ejecución del programa. Se mostrará una ventana como la siguiente:

Para comprobar que todo funciona perfectamente sólo nos falta cargar el primer programa, compilarlo y subirlo a la placa.
El programa de Arduino presenta numerosos ejemplos ya creados que el programador puede usar y adaptar a sus propias necesidades.
De la opción: "File" + "Examples" + "Digital" + "Blink" (parpadear) extraeremos el ejemplo para posteriormente subirlo a la placa..... Pero, antes, debe ser configurado el puerto y el tipo de placa.....
Se plantea como siguiente ejercicio...
Para más información............ (guía rápida página Arduino español)
Leer más...

ARDUINO: TEORÍA Y BASES INICIALES DE PROGRAMACIÓN

Imprime este post

Este ejercicio previo de Arduino servirá para que el alumno se vaya familiarizando con los conceptos básicos sobre el lenguaje de programación que se usará para acometer nuestros proyectos de Arduino. "NO SERÁ NECESARIA LA PLACA NI NINGÚN TIPO DE DISPOSITIVO ELECTRÓNICO YA QUE SE TRATA, SIMPLEMENTE, DE EJERCICIOS DE PROGRAMACIÓN"

Para realizar este ejercicio, el alumno debe buscar información en las principales páginas de Arduino, así como, en cualquier parte de la biblioteca internaútica (Wikipedia, etc...):
Tras esto, debe crear una entrada en el blog personal del alumno, denominada "El lenguaje de programación de Arduino" en el que estén copiadas y respondidas las preguntas que se plantean a continuación:

1) ¿Qué es un lenguaje de programación? Cita, al menos, tres lenguajes de programación.
2) En todos los lenguajes de programación (entre ellos el de Arduino) existen las variables. ¿Qué son? ¿Para qué se utilizan? ¿Qué significan los términos definir e inicializar una variable?
3) ¿Qué son las declaraciones, instrucciones, estamentos u órdenes
4) ¿Qué son las funciones o métodos de los lenguajes de programación? ¿Para qué son utilizados? ¿Conoces alguna función del lenguaje de programación de Arduino? ¿Cuál es la sintaxis general de las funciones en cualquier lenguaje de programación?
5) Indica para qué se utilizan los siguientes símbolos en el lenguaje de programación de Arduino (y en muchos otros lenguajes de programación):
  1. Símbolo "punto y coma" ";"
  2. Símbolo de las "llaves" "{", "}"
  3. Símbolo  "/* */"
  4. Símbolo  "//"
6) ¿Cuál es la estructura básica que debe tener cualquier lenguaje de Arduino? ¿Qué funciones son necesarias en cualquier programa de Arduino?
7)  ¿Qué significado tiene el término compilar asociado a un programa informático? Un programa no tiene errores de compilación, ¿quiere  esto decir que realiza las funciones para las que fue desarrollado?
8) ¿Para qué sirve la función setup () del lenguaje de programación de Arduino? ¿ y la función loop()?
9) Analiza las estructuras de control de Arduino y trata de explicar, con tus propias palabras, para que consideras que se utilizan los operadores:
  • if
  • if----else
  • for
  • while
10) Analiza las diferentes funciones que se usan para trabajar con pines digitales y explica su función.
11) Analiza las diferentes funciones que se usan para trabajar con pines analógicos y explica su función.
12)Revisa los siguientes ejercicios tratando de entender lo qué sucede en el codigo que se muestra:
13) En caso de que te de tiempo, abre la aplicación de Arduino y vete cargando los diferentes ejercicios comprobando que compilan de forma adecuada.
Leer más...

EJERCICIOS DE PROGRAMACIÓN Y MONTAJE 1

Imprime este post

En este post de Arduino se invita al alumno a diseñar sus propios programas con esta herramienta de modo, que adquiera los conocimientos suficientes para diseñar su propio proyecto con Arduino. 
Para el desarrollo de los ejercicios se recomienda usar la referencia del lenguaje de Arduino (http://arduino.cc/es/Reference/HomePage) así como la página de Arduino en español (http://arduino.cc/es/Tutorial/HomePage).


"Cada uno de los ejercicios será presentado como una entrada en el blog personal del alumno en el que se mostrarán los siguientes elementos:
1) Título del ejercicio
2) Funcionalidad que desarrolla
3) Código del programa asociado
4) Vídeo o imagen del circuito asociado."


EJERCICIO 1
Diseña un proyecto en el que, mediante la placa Arduino y 3 LEDs, crees una estructura como la de un semáforo en el que se cumpla que: la luz verde estará encendida durante 10 segundos (las otras dos apagadas), tras esto se apague y se encienda de manera intermitente (de 0,5 segundos) el LED ámbar  durante 5 segundos (las otras dos apagadas) y tras esto se encienda únicamente el LED rojo durante 10 segundos.
EJERCICIO 2
Diseña un proyecto en el que se  produzca un efecto de parpadeo de un LED rojo sin usar la herramienta delay.

EJERCICIO 3
Diseña un proyecto en el que se muestre por pantalla el valor de un sensor de entrada como un potenciómetro o un LDR.

EJERCICIO 4
Diseña un proyecto en que se encienda un LED a partir de un determinado valor definido por nosotros de un potenciómetro.
EJERCICIO 5
Diseña un proyecto en que se pueda regular la intensidad de brillo de un LED mediante un potenciómetro.

EJERCICIO 6
Diseña un proyecto que se encargue de encender un LED cuando no entra la luz suficiente por un LDR.

EJERCICIO 7
Diseña un proyecto que sea una alarma de incendios, es decir, que al superar una determinada temperatura se active una alarma que avise del problema.

EJERCICIO 8
Diseña un proyecto que sea un sensor de humedad, es decir, que al superar una determinada humedad se active un motor eléctrico que hará la función

EJERCICIO 9
Diseña un proyecto que permita al usuario preguntarle sobre diferentes condiciones (tipo de luz), música preferida , etc, para aplicar al proyecto de Domótica de nuestra casa.

Leer más...