Sie sind auf Seite 1von 6

Primeros pasos con Arduino, prctica 1: el coche

fantstico
By salva el 19 Mayo 2010 8 Comentarios

Arduino es un sistema microcontrolado de hardware libre y cdigo abierto,


multiplataforma, barato, con un entorno de programacin 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
sucesin 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 analgicas, se conecta al puerto USB,
(con un cable como el de las impresoras), tambin 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 Tecnologa es un sistema ideal para controlar los proyectos que solemos realizar con
nuestros alumnos, control de puertas, barreras, semforos, ascensores,
En esta y sucesivas entregas iremos realizando prcticas bsicas basadas en este hardware:
Para comenzar necesitamos:
Descargar e instalar el entorno de programacin Arduino. No hace falta instalacin
simplemente descomprimimos el paquete en una carpeta y lanzamos el ejecutable
arduino.

Conectar nuestra placa al PC. Si no detecta automticamente los drivers stos los podremos
encontrar en la carpeta arduino-xx/drivers/FTDI USB Drivers/
Arrancamos el entorno, y en el men Tools configuramos la conexin (serial Port) y nuestra
placa (en este caso Arduino Duemilanove).
La sintaxis del lenguaje es muy parecida al lenguaje C, la estructura bsica de cualquier
programa es la siguiente:
void setup()
{
//declaro variables, asigno PinMode o inicializo las comunicaciones serie.
}
void loop()
{
//se ejecuta a continuacin, incluye el cdigo que lee entradas, activa salidas...es el ncleo
del cdigo.
}
Os aconsejo leer el manual adjunto para ampliar un poco ms en el entorno Arduino, en l
encontrareis un apartado donde se describen la base de la programacin de este sistema,
muy fcil si tenemos conocimientos de programacin.
A partir de aqu podremos empezar con nuestras prcticas:
Prctica 1: El coche fantstico.

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 encendern y apagaran
siguiendo un patrn establecido en el cdigo, se muestran tres posibles opciones, podremos
variar el tiempo de encendido y apagado, modificando la variable timer. Aqu el cdigo:
/* Coche fanttico 1*/
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 fantstico2*/
int pinArray[] = {2, 3, 4, 5, 6, 7,8,9};
int count = 0;
int timer = 15;
//timer marca como queremos que vaya de rpido la rfaga 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);
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
* fantstico. 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"
*
* Tambin puedes controlar la longitud de la cola
* de la estrella a travs 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 }; // Declaracin de los PIN-es mediante un
array
int controlLed = 13; // LED de control
int waitNextLed = 100; // Tiempo antes de encender el siguiente LED
int tailLength = 4; // Nmero de LED-s que permanecen encendidos antes de empezar a
apagarlos para formar la cola
int lineSize = 11; // Nmero de LED-s conectados (que es tambin el tamao del array)
void setup() // Configuracin de los PIN-es como salida digital
{
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 contador
digitalWrite(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 LED
delay(waitNextLed); // Esta variable de tiempo controla la velocidad a la que se mueve la
estrella
if (tailCounter == 0)
{
digitalWrite(pinArray[i-tailLength],LOW); // Se apagan los LED-s en funcin de la
longitud de la cola.
}

else
if (tailCounter > 0)
tailCounter--;
}
for (i=(lineSize-tailLength); i<lineSize; i++)
{
digitalWrite(pinArray[i],LOW); // Se apagan los LED
delay(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

Arduino es una plataforma de electrnica abierta para la creacin de prototipos basada en


software y hardware flexibles y fciles de usar. Se cre para artistas, diseadores,
aficionados y cualquiera interesado en crear entornos u objetos interactivos.
Arduino puede tomar informacin del entorno a travs 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
programacin 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 fbrica; el software puede
ser descargado de forma gratuita. Los ficheros de diseo de referencia (CAD) estn
disponibles bajo una licencia abierta, as pues eres libre de adaptarlos a tus necesidades.

Das könnte Ihnen auch gefallen