Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un...

19
Programación y robótica ¿Qué es Arduino? Arduino es una herramienta para hacer que los ordenadores puedan sentir y controlar el mundo físico a través de tu ordenador personal. Es una plataforma de desarrollo de computación física (physical computing) de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo para crear software (programas) para la placa. Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores físicos. Los proyectos de Arduino pueden : 1. Ejecutar el programa en el ordenador y transmitir las órdenes a la placa a través de un cable usb. Por ejemplo para controlar motores, luces, captar la información de sensores, etc. 2. Ser autónomos. El programa se diseña en el ordenador y se transfiere al microcontrolador de la placa. Una vez allí, se desconecta la placa del ordenador y el programa se ejecuta directamente en la placa. Esto sirve para controlar robots, etc. La placa puedes comprarla ya lista para usar, y el software de desarrollo es abierto y lo puedes descargar gratis. Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch, un lenguaje de programación muy sencillo y asequible. Ventajas de utilizar Arduino: Asequible - Las placas Arduino son más asequibles comparadas con otras plataformas de microcontroladores. Aunque hay varias versiones, la placa Arduino UNO se puede adquirir por unos 25 euros. 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. No obstante, aunque con muchas más limitaciones, también es posible programarlo con Scratch for Arduino (S4A). Software ampliable y de código abierto- El software Arduino esta publicado bajo una licencia libre y preparado para ser ampliado por programadores experimentados. 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

Transcript of Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un...

Page 1: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Programación y robótica¿Qué es Arduino?

Arduino es una herramienta para hacer que los ordenadores puedan sentir y controlar el mundo físico a través de tu ordenador personal. Es una plataforma de desarrollo de computación física (physical computing) de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo para crear software (programas) para la placa.

Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores físicos.

Los proyectos de Arduino pueden :

1. Ejecutar el programa en el ordenador y transmitir las órdenes a la placa a través de un cable usb. Por ejemplo para controlar motores, luces, captar la información de sensores, etc.

2. Ser autónomos. El programa se diseña en el ordenador y se transfiere al microcontrolador de la placa. Una vez allí, se desconecta la placa del ordenador y el programa se ejecuta directamente en la placa. Esto sirve para controlar robots, etc.

La placa puedes comprarla ya lista para usar, y el software de desarrollo es abierto y lo puedes descargar gratis.

Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch, un lenguaje de programación muy sencillo y asequible.

Ventajas de utilizar Arduino:

Asequible - Las placas Arduino son más asequibles comparadas con otras plataformas de microcontroladores. Aunque hay varias versiones, la placa Arduino UNO se puede adquirir por unos 25 euros.

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. No obstante, aunque con muchas más limitaciones, también es posible programarlo con Scratch for Arduino (S4A).

Software ampliable y de código abierto- El software Arduino esta publicado bajo una licencia libre y preparado para ser ampliado por programadores experimentados.

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.

Page 2: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

ENTRADAS/SALIDAS

salidas digitales (pines digitales 10,11 y 13) salidas analógicas (pines digitales 5, 6 y 9) entradas analógicas (todos los pines analógicos de entrada) entradas digitales (pines digitales 2 y 3) servomotores RC (pines digitales 4, 7, 8 y 12)

Más información: http://arduino.cc/es/Guide/Introduction

¿Qué es Scratch?

Scratch es un lenguaje de programación que te facilita crear tus propias historias interactivas, animaciones, juegos, música y arte; además, te permite compartir con otros sus creaciones en la web.

A medida que los jóvenes crean y comparten proyectos realizados en Scratch, aprenden importantes ideas matemáticas y computacionales; al mismo tiempo que aprenden a pensar creativamente, a razonar sistemáticamente y a trabajar colaborativamente.

¿Qué es S4A?

Scratch for Arduino o S4A es una modificación de Scratch que proporciona una programación sencilla de la plataforma abierta de hardware Arduino. Permite la interacción, a través de los programas de Scratch, con el entorno físico que le rodea, utilizando la placa Arduino. Así, podemos controlar sensores, luces, motores, etc utilizando un lenguaje sencillo de programación como Scratch.

Para la realización de estos documentos han sido de gran utilidad y ayuda los textos del profesor José Manuel Ruiz Gutiérrez, de los que he seleccionado y adaptado varios programas.

Para empezar con S4A pinchar en el siguiente enlace

http://codigo21.educacion.navarra.es/autoaprendizaje/scratch-para-arduino-s4a-configuracion-inicial/

Actividad 1

Page 3: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Led parpadeante sin resistencia

Objetivos

Hacer parpadear un diodo led sin necesidad de una resistencia auxiliar. Conexión pin 13

Material necesario

Tarjeta arduino UNO Cable USB Placa protoboard Led

Para ello abordaremos siempre la práctica desde sus dos aspectos:

El hardware (cómo conectar la placa ARDUINO a los diferentes componentes electrónicos necesarios) El software (escribir el código necesario para conseguir nuestro propósito)

2ª parte práctica 1

Led parpadeante con resistencia protectoraMaterial necesario

Programación S4A

13

13

13

Page 4: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Tarjeta arduino UNO Cable USB Placa protoboard Led Resistencia 220-320Ω

Práctica 2

Salida intermitente con visualización de estado en pantalla y control

de frecuencia mediante un canal de entrada analógica.

El siguiente ejemplo nos muestra la forma de poder asociar una variable al valor de una entrada

Montaje en placa protoboard

Page 5: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

analógica Analog0 con el fin de poder variar el retardo en el encendido y apagado de una salida digital

PIN 13.

Comenzamos definiendo la variable “frecuencia” que mediante la función “fijar frecuencia a valor

del sensor Analog0” asociamos a ella el valor leído del canal analógicoEl tiempo de encendido lo fijamos a 0.1 segundos y en donde actuamos es en el tiempo de apagado. El tiempo de apagado los configuramos con la función “esperar frecuencia/2000 segundos”

Hemos recurrido a la opción de mostrar en la pantalla “escenario” la imagen de un diodo led encendido

y apagado con los disfraces led_off y led_on. Mostramos estasimágenes mediante la función

“cambiar el disfraz a led_on” y “cambiar el disfraz a led_off”.

Una vez activada la simulación podemos observar como al modificar el valor del potenciómetro varía el tiempo de apagado del led.

El valor leído del canal Analog0 se divide por 2000 con el fin de reducir el rango de variación del la variable frecuencia. En este caso podemos deducir que el valor de frecuencia seria:

Frecuencia varía entre 0 y 0,512 seg. Analog0 varía entre 0 y 1024

En la figura siguiente vemos el aspecto de la aplicación

Page 6: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

A continuación se muestra el esquema de conexión de los componentes

Page 7: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Práctica 3Gobierno de una salida mediante un pulsador Queremos gobernar una salida digital PIN 13 mediante el accionamiento de una entrada digital PIN 2 a la

que le hemos colocado un pulsador.

El programa es muy sencillo. Mediante el bloque de “sensor… presionado”averiguamos si el valor de

la entrada es “true” o “false” y en función de este, mediante el bloque de función “si… si no”

perteneciente la librería “control”, conseguimos la función de gobierno deseada: Activar o desactivar la

salida PIN 13

El esquema del montaje es el de la siguiente figura.

11

Page 8: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Práctica 4

Gobierno de salida con pulsador en pantalla: Pulsador virtual

En este caso lo que vamos a añadir a la versión anterior es la visualización en lapantalla escenario de un

led y un pulsador, pero en este caso el pulsador será “virtual”, es decir, que el diodo led de la salida PIN 13

se activará gobernado desde la pantalla del ordenador.

Se trata de activar desde la pantalla “escenario” un botón para activar el PIN 13 y otro para desactivarlo.

La activación y desactivación se lleva a cabo por la acción sobre dos objetos: led_off y led_on y la

activación propiamente dicha es la que se asocia al objeto Arduino1 que tiene también integrados los

objetos led_on y led_off

Cuando se presiona sobre el objeto botón_on se envía al “mensaje” on, orden “enviar a todos” que al

recibirse en el script correspondiente al programa Arduino1 activa la salida PIN 13 mediante la orden

“digital 13 encendido”

Cuando se presiona sobre el objeto botón_off se envía al “mensaje” off, orden “enviar a todos” que

al recibirse en el script correspondiente al programa Arduino1 desactiva la salida PIN 13 mediante la

orden “digital 13 apagado”

En las figuras vemos los objetos del programa Arduino1 y el programa correspondiente.

Page 9: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Los programas puls_off y puls_on se muestran a continuación junto a los “disfraces de cada uno”

La pantalla “escenario” de esta aplicaci n es la que se muestra a continuación, en ella vemos los objetos descritos anteriormente: led, puls_off y puls_on

Page 10: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Práctica 5

Semáforo

Objetivos

Simular el comportamiento de un semáforo de tráfico con tres leds.

Se ha elegido, para probar, un programa de lo más sencillo. Encender tres leds: verde, amarillo y rojo, simulando un semáforo. Lo único que hay que indicar en el programa es qué led se enciende y durante cuánto tiempo.

Material necesario

Tarjeta arduino UNO Cable USB Placa protoboard Led Resistencia 220-320Ω

Montaje en placa protoboard

Page 11: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Programación con S4A

Los leds verde, amarillo y rojo están conectados a los pins 10, 11 y 13 de la placa Arduino y con una duración de encendido sucesiva de 5, 3 y 10 segundos respectivamente. El programa comienza al presionar la banderita verde y la secuencia se realiza sucesivamente, con el comando "por siempre".Los pins 10, 11 y 13 son los únicos que controla S4A, por lo que si queremos utilizar más habrá que utilizar el propio IDE de Arduino.

Por último, también podemos dotar al programa de más realismo en la pantalla, introduciendo escenarios y disfraces. Por ejemplo, con tres imágenes de semáforos en verde, amarillo y rojo podemos hacer que el programa, a la vez que enciende el led verde muestre la imagen de semáforo verde. Igualmente ocurre cuando está en amarillo y rojo.

Page 12: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Práctica 6

Control de una salida digital mediante teclado y visualización en pantalla

Objetivos

Se trata de activar y desactivar una salida digital, por ejemplo el pin 10, mediante el teclado.

En este ejemplo utilizaremos un led, un disfraz que simule el led encendido y apagado y emplearemos la tecla "a" para activarlo y la "d" para desactivarlo.

Podemos añadir, por ejemplo, que cuando el led se apague se oiga el sonido de un pajarito. Este sonido se puede grabar con el micrófono u obtenerlo de las librerías incluidas en S4A.

Montamos ahora el hardware conectando un led a la placa arduino como en la práctica 1.

Page 13: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Práctica 7

Contador con visualización en pantalla

Objetivos

Construir un contador sencillo de eventos.

En este ejercicio vamos a construir un programa que cuente de forma sencilla el número de eventos que sucedan. Por ejemplo, el número de veces que pulsemos una tecla o un pulsador. Este número se almacena en una variable creada al efecto y el ejecutar el programa, se nos muestra su valor. Obsérvese cómo aparece el valor actual de la variable "cuenta".

Considerando el evento como el encendido de in led, conectamos el led a la placa de arduino como en la práctica 1

Page 14: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Práctica 8

Control salida analógica desde pantalla

Objetivos

Controlar la intensidad de iluminación de un led conectado a una salida analógica desde un control deslizante en pantalla.

Anteriormente hemos hecho que un led parpadease, hemos contado el número de parpadeos e incluso lo hemos encendido y apagado con el teclado. En esta ocasión, vamos a controlar la intensidad luminosa del led con un control deslizante en pantalla. Podemos establecer un rango de intensidades comprendido entre 0 y 255. Para ello, sólo tenemos que realizar el siguiente programa y conectar el led a la salida analógica PIN 5 del arduino.

Page 15: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Práctica 9

LDR

Objetivos

Conectar una ldr a un pin analógico y comprobar cómo el valor de la entrada analógica varía con la luz.

Emplear el sistema para encender un led cuando el nivel de luz sea bajo y apagarlo cuando sea alto.Material necesario

Tarjeta arduino UNO Cable USB Placa protoboard LDR Led Resistencia de 220Ω

Se conecta el divisor de tensión formado por la ldr y una resistencia de unos 220Ω a la entrada analógica PIN 5 IN. El led a la salida digital PIN 10. Se defina una variable "intensidad" que recoge el valor de la entrada analógica pin 5. Dependiendo de las condiciones de luz ambiental, se le indica al programa que cuando el valor de la variable intensidad sea menor que un valor determinado, encienda el led.

Práctica 10

Page 16: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Sonido con zumbador

Objetivos

Crear sonido utilizando un zumbador piezoeléctrico. Utilizar una LDR para variar el sonido en función de la luz recibida.

Material necesario

Tarjeta arduino UNO Cable USB Placa protoboard Minizumbador

En esta ocasión vamos a utilizar un zumbador piezoeléctrico para generar sonidos con nuestro arduino. Sólo necesitamos un minizumbador y unos cablecitos de conexión. Se puede conectar un terminal del zumbador al pin 9 (salida analógica). El programa consiste en hacer sonar el zumbador en la salida analógica 9 diversos valores de forma sucesiva.

El programa podría ser

Práctica 11Caso práctico: Zumbador combinado con LDR

Page 17: Web viewEl programa se diseña en el ordenador ... Para programar Arduino puedes utilizar un lenguaje propio de Arduino o bien utilizar una adaptación del popular Scratch,

Objetivos

Crear sonido utilizando un zumbador piezoeléctrico. Utilizar una LDR para variar el sonido en función de la luz recibida.

Material necesario

Tarjeta arduino UNO Cable USB Placa protoboard Minizumbador

Se puede utilizar esta forma de conexión para generar un sonido variable en función de la luz que recibe una LDR.

El montaje con arduino sería como se ve en la figura

La programación con S4A sería:

El valor de la LDR entra en el pin analógico 5 y trasladamos ese valor a la salida 9. Repetimos el bucle más o menos cada 0,05 o cada 0,1 segundos para que muestre la luz que recibe la LDR. Así, al variar la luz, cambia el sonido.

Enlace manual con practicas

http://vps34736.ovh.net/S4A/s4a-manual.pdf