auto fantastico

7
Primeros pasos con Arduino, práctica 1: el coche fantástico By salva el 19 Mayo 2010 » 8 Comentarios »»» Arduino es un sistema microcontrolado de hardware libre y código abierto, multiplataforma, barato, con un entorno de programación sencillo y simple, basado en el microcontrolador ATMEGA en sus diferentes versiones de Atmel. Existen diferentes versiones de las placas arduino, yo he usado la llamada Arduino Duemilanove es la sucesión de la Arduino Diecimila, que monta el nuevo procesador ATMega328. Dispone de 14 pines de entada y salida digitales, de los cuales 6 se pueden usar como salidas PWM (Pulse Width Modulation), 6 entradas analógicas, se conecta al puerto USB, (con un cable como el de las impresoras), también dispone de un conector de corriente. Todo lo que necesitamos saber sobre este estupendo sistema está en la web oficial: http://www.arduino.cc/

Upload: wilzon-chambi

Post on 31-Jan-2016

246 views

Category:

Documents


0 download

DESCRIPTION

Circuito electronico con arduino para construccion de las luces del auto fantastico

TRANSCRIPT

Page 1: Auto Fantastico

Primeros pasos con Arduino, práctica 1: el coche fantásticoBy salva el  19 Mayo 2010 » 8     Comentarios     »»» 

Arduino es un sistema microcontrolado de hardware libre y código abierto, multiplataforma, barato, con un entorno de programación sencillo y simple, basado en el microcontrolador ATMEGA en sus diferentes versiones de Atmel. Existen diferentes versiones de las placas arduino, yo he usado la llamada Arduino Duemilanove es la sucesión de la Arduino Diecimila, que monta el nuevo procesador ATMega328.

Dispone de 14 pines de entada y salida digitales, de los cuales 6 se pueden usar como salidas PWM (Pulse Width Modulation), 6 entradas analógicas, se conecta al puerto USB, (con un cable como el de las impresoras), también dispone de un conector de corriente.Todo lo que necesitamos saber sobre este estupendo sistema está en la web oficial: http://www.arduino.cc/

En Tecnología es un sistema ideal para controlar los proyectos que solemos realizar con nuestros alumnos, control de puertas, barreras, semáforos, ascensores,…

En esta y sucesivas entregas iremos realizando prácticas básicas basadas en este hardware:

Para comenzar necesitamos:Descargar e instalar el entorno de programación Arduino. No hace falta instalación simplemente descomprimimos el paquete en una carpeta y lanzamos el ejecutable “arduino”.

Conectar nuestra placa al PC. Si no detecta automáticamente los drivers éstos los podremos encontrar en la carpeta arduino-xx/drivers/FTDI USB Drivers/

Page 2: Auto Fantastico

Arrancamos el entorno, y en el menú Tools configuramos la conexión (serial Port) y nuestra placa (en este caso Arduino Duemilanove).

La sintaxis del lenguaje es muy parecida al lenguaje C, la estructura básica de cualquier programa es la siguiente:

void setup()

{//declaro variables, asigno PinMode o inicializo las comunicaciones serie.}

void loop()

{//se ejecuta a continuación, incluye el código que lee entradas, activa salidas...es el núcleo del código.}

Os aconsejo leer el manual adjunto para ampliar un poco más en el entorno Arduino, en él encontrareis un apartado donde se describen la base de la programación de este sistema, muy fácil si tenemos conocimientos de programación.

A partir de aquí podremos empezar con nuestras prácticas:

Práctica 1: El coche fantástico.

Necesitaremos 8 diodos LED, ocho resistencias de 220 Ohmios y una placa de prototipos y conectamos el esquema como el de la figura. Los diodos leds se encenderán y apagaran siguiendo un patrón establecido en el código, se muestran tres posibles opciones, podremos variar el tiempo de encendido y apagado, modificando la variable timer. Aquí el código:

/* Coche fantático 1*/

Page 3: Auto Fantastico

int pinArray[] = {2, 3, 4, 5, 6, 7,8,9};int count = 0;int timer = 70;

void setup(){for (count=0;count<8;count++) {pinMode(pinArray[count], OUTPUT);}}

void loop() {for (count=0;count<8;count++) {digitalWrite(pinArray[count], HIGH);delay(timer);digitalWrite(pinArray[count], LOW);delay(timer);}for (count=7;count>=0;count--) {digitalWrite(pinArray[count], HIGH);delay(timer);digitalWrite(pinArray[count], LOW);delay(timer);}}

/* El coche fantástico2*/

int pinArray[] = {2, 3, 4, 5, 6, 7,8,9};int count = 0;int timer = 15;//timer marca como queremos que vaya de rápido la ráfaga de encendido-apagado de los LEDS

void setup(){for (count=0;count<8;count++) {pinMode(pinArray[count], OUTPUT);}}

void loop() {for (count=0;count<7;count++) {digitalWrite(pinArray[count], HIGH);delay(timer);digitalWrite(pinArray[count + 1], HIGH);

Page 4: Auto Fantastico

delay(timer);digitalWrite(pinArray[count], LOW);delay(timer*2);}for (count=7;count>0;count--) {digitalWrite(pinArray[count], HIGH);delay(timer);digitalWrite(pinArray[count - 1], HIGH);delay(timer);digitalWrite(pinArray[count], LOW);delay(timer*2);}}

/* Estrella fugaz

*---------------* Este programa es una variante del ejemplo del coche* fantástico. Muestra mediante un loop una estrella* fugaz que es dibujada en una linea de LED-s* directamente conectados a la placa Arduino** Puedes controlar la velocidad a la que la estrella* se mueve gracias a una variable llamada "waitNextLed"** También puedes controlar la longitud de la cola* de la estrella a través de la variable "tail length"** @author: Cristina Hoffmann* @hardware: Cristina Hofmann**/// Variable declaration

int pinArray [] = { 2,3,4,5,6,7,8,9,10,11,12 }; // Declaración de los PIN-es mediante un arrayint controlLed = 13; // LED de controlint waitNextLed = 100; // Tiempo antes de encender el siguiente LEDint tailLength = 4; // Número de LED-s que permanecen encendidos antes de empezar a apagarlos para formar la colaint lineSize = 11; // Número de LED-s conectados (que es también el tamaño del array)

void setup() // Configuración de los PIN-es como salida digital{

Page 5: Auto Fantastico

int i;pinMode (controlLed, OUTPUT);for (i=0; i< lineSize; i++){pinMode(pinArray[i], OUTPUT);}}

void loop(){int i;int tailCounter = tailLength; // Se establece la longitud de la cola en un contadordigitalWrite(controlLed, HIGH); // Se enciende el LED de control para indicar el inicio del loop

for (i=0; i<lineSize; i++){digitalWrite(pinArray[i],HIGH); // Se encienden consecutivamente los LEDdelay(waitNextLed); // Esta variable de tiempo controla la velocidad a la que se mueve la estrellaif (tailCounter == 0){digitalWrite(pinArray[i-tailLength],LOW); // Se apagan los LED-s en función de la longitud de la cola.}elseif (tailCounter > 0)tailCounter--;}

for (i=(lineSize-tailLength); i<lineSize; i++){digitalWrite(pinArray[i],LOW); // Se apagan los LEDdelay(waitNextLed); // Esta variable de tiempo controla la velocidad a la que se mueve la estrella}

}

- See more at: http://www.tecnosalva.com/primeros-pasos-arduino-pr%C3%A1ctica-1-coche-fant%C3%A1stico#sthash.U4dZkTUh.dpuf

Page 6: Auto Fantastico

Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.

Arduino puede tomar información del entorno a través de sus pines de entrada de toda una gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basasdo en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software (p.ej. Flash, Processing, MaxMSP).

Las placas pueden ser hechas a mano o compradas montadas de fábrica; el software puede ser descargado de forma gratuita. Los ficheros de diseño de referencia (CAD) están disponibles bajo una licencia abierta, así pues eres libre de adaptarlos a tus necesidades.