Está en la página 1de 6

Primeros pasos con Arduino, práctica 1: el coche

fantástico
By salva el 19 Mayo
Mayo 2010
2010 » 8 Com
Coment
entari
arios
os »»»

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 ATATMEGA en sus diferentes versiones ded e Atmel. Existen diferentes
versiones de las placas arduino, yo he usado la llamada Arduino uemilanove es la
sucesión de la Arduino iecimila, !ue monta el nuevo procesador AT ATMega"#$.

ispone de %& pines de entada y salida digitales, de los cuales ' se pueden usar como
salidas ()M *(ulse )idth
)idth Modulation+, ' entradas analógicas, se con ecta al puerto -,
*con un cable como el de las impresoras+, tambi/n dispone de un conector de corriente.
Todo lo !ue necesitamos saber sobre este estupendo sistema est0 en la web oficial1
http122www.arduino.cc2

En Tecnolog3a
Tecnolog3a es un sistema ideal para controlar
con trolar los proyectos !ue solemos reali4ar con
nuestros alumnos, control de puertas, barreras, sem0foros, ascensores,5

En esta y sucesivas entregas iremos reali4ando pr0cticas b0sicas basadas en este hardware1

(ara comen4ar necesitamos1


escargar e instalar el entorno de programación Arduino. 6o hace falta instalación
simplemente descomprimimos el pa!uete en una carpeta y lan4amos el e7ecutable
8arduino9.
:onectar nuestra placa al (:. -i no detecta autom0ticamente los drivers /stos los podremos
encontrar en la carpeta arduino;xx2drivers2<T= - rivers2
Arrancamos el entorno, y en el men> Tools configuramos la conexión *serial (ort+ y nuestra
placa *en este caso Arduino uemilanove+.

?a sintaxis del lengua7e es muy parecida al lengua7e :, la estructura b0sica de cual!uier


programa es la siguiente1

void setup*+

@
22declaro variables, asigno (inMode o iniciali4o las comunicaciones serie.

void loop*+

@
22se e7ecuta a continuación, incluye el código !ue lee entradas, activa salidas...es el n>cleo
del código.

Bs aconse7o leer el manual ad7unto para ampliar un poco m0s en el entorno Arduino, en /l
encontrareis un apartado donde se describen la base de la programación de este sistema,
muy f0cil si tenemos conocimientos de programación.

A partir de a!u3 podremos empe4ar con nuestras pr0cticas1

Práctica 1: El coche fantástico.


6ecesitaremos $ diodos ?E, ocho resistencias de ##C Bhmios y una placa de prototipos y
conectamos el es!uema como el de la figura. ?os diodos leds se encender0n 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. A!u3 el código1

/* Coche fantático 1*/

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


int count = 0;
int timer = 70;

voi !etup"#{
$or "count=0;count%8;count&&# {
pin'oe"pinArray[count], ()*+)*#;
}
}

voi oop"# {
$or "count=0;count%8;count&&# {
i-ita.rite"pinArray[count], /1/#;
eay"timer#;
i-ita.rite"pinArray[count], (.#;
eay"timer#;
}
$or "count=7;count=0;count# {
i-ita.rite"pinArray[count], /1/#;
eay"timer#;
i-ita.rite"pinArray[count], (.#;
eay"timer#;
}
}

/* El coche fantástico2*/

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


int count = 0;
int timer = 5;
timer marca como ueremo! ue vaya e rpio a r$a-a e encenioapa-ao e o!
:
voi !etup"#{
$or "count=0;count%8;count&&# {
pin'oe"pinArray[count], ()*+)*#;
}
}

voi oop"# {
$or "count=0;count%7;count&&# {
i-ita.rite"pinArray[count], /1/#;
eay"timer#;
i-ita.rite"pinArray[count & ], /1/#;
eay"timer#;
i-ita.rite"pinArray[count], (.#;
eay"timer<2#;
}
$or "count=7;count0;count# {
i-ita.rite"pinArray[count], /1/#;
eay"timer#;
i-ita.rite"pinArray[count  ], /1/#;
eay"timer#;
i-ita.rite"pinArray[count], (.#;
eay"timer<2#;
}
}

/* Estrella fugaz

<
< !te pro-rama e! una variante e eempo e coc>e
< $ant!tico? 'ue!tra meiante un oop una e!trea
< $u-a@ ue e! iuaa en una inea e :!
< irectamente conectao! a a paca Aruino
<
< +uee! controar a veocia a a ue a e!trea
< !e mueve -racia! a una variae amaa BCaitDeEteB
<
< *amiFn puee! controar a on-itu e a coa
< e a e!trea a travF! e a variae Btai en-t>B
<
< Gaut>orH Iri!tina /o$$mann
< G>arCareH Iri!tina /o$mann
<
<
 Jariae ecaration

int pinArray [] = { 2,3,4,5,6,7,8,9,0,,2 };  :ecaraciKn e o! +De! meiante un


array
int controe = 3;  : e contro
int CaitDeEte = 00;  *iempo ante! e encener e !i-uiente :
int taien-t> = 4;  DLmero e :! ue permanecen encenio! ante! e empe@ar a
apa-aro! para $ormar a coa
int inei@e = ;  DLmero e :! conectao! "ue e! tamiFn e tamaMo e array#

voi !etup"#  Ion$i-uraciKn e o! +De! como !aia i-ita


{
int i;
pin'oe "controe, ()*+)*#;
$or "i=0; i% inei@e; i&&#
{
pin'oe"pinArray[i], ()*+)*#;
}
}

voi oop"#
{
int i;
int taiIounter = taien-t>;  e e!taece a on-itu e a coa en un contaor
i-ita.rite"controe, /1/#;  e enciene e : e contro para inicar e inicio e
oop

$or "i=0; i%inei@e; i&&#


{
i-ita.rite"pinArray[i],/1/#;  e encienen con!ecu tivamente o! :
eay"CaitDeEte#;  !ta variae e tiempo controa a veocia a a ue !e mueve a
e!trea
i$ "taiIounter == 0#
{
i-ita.rite"pinArray[itaien-t>],(.#;  e apa-an o! :! en $unciKn e a
on-itu e a coa?
}
e!e
i$ "taiIounter  0#
taiIounter;
}

$or "i="inei@etaien-t>#; i%inei@e; i&&#


{
i-ita.rite"pinArray[i],(.#;  e apa-an o! :
eay"CaitDeEte#;  !ta variae e tiempo controa a veocia a a ue !e mueve a
e!trea
}

- See more at: http://www.tecnosalva.com/primeros-pasos-ar!ino-pr


"C#"$1ctica-1-coche-%ant"C#"$1stico&sthash.'()*+'h.p!%

Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en


software y hardware flexibles y f0ciles de usar. -e creó para artistas, diseDadores,
aficionados y cual!uiera interesado en crear entornos u ob7etos 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 a!uello !ue le rodea controlando luces, motores y otros
actuadores. El microcontrolador en la placa Arduino se programa mediante el lengua7e de
programación Arduino *basasdo en )iring+ y el entorno de desarrollo Arduino *basado en
(rocessing+. ?os proyectos hechos con Arduino pueden e7ecutarse sin necesidad de
conectar a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes
tipos de software *p.e7. <lash, (rocessing, MaxM-(+.

?as placas pueden ser hechas a mano o compradas montadas de f0brica el software puede
ser descargado de forma gratuita. ?os ficheros de diseDo de referencia *:A+ est0n
disponibles ba7o una licencia abierta, as3 pues eres libre de adaptarlos a tus necesidades.

También podría gustarte