Anda di halaman 1dari 6

Aplicacin de puertos de comunicacin en lenguaje C

Arduino es una plataforma de prototipos electrnica de cdigo abierto (open-source) basada en hardware y software
flexibles y fciles de usar. Est pensado para artistas, diseadores, como hobby y para cualquiera interesado en crear
objetos o entornos interactivos.
Arduino puede medir el entorno mediante la recepcin de entradas desde una variedad de sensores y puede afectar a su
alrededor mediante el control de luces, motores y otros artefactos. Elmicrocontrolador de la placa se programa usando el
_Arduino Programming Language_ (basado en Wiring1) y el _Arduino Development Environment_ (basado en
Processing2). Los proyectos de Arduino pueden ser autnomos o se pueden comunicar con software en ejecucin en un
ordenador
El software se puede se descargar gratuitamente. Los diseos de referencia del hardware estn disponibles bajo licencia
open-source, por lo que se es libre de adaptarlas a las necesidades.
Arduino recibi una mencin de honor en la seccin Digital Communities del Ars Electronica Prix en 2006.
Por qu ARDUINO?
Hay muchos otros microcontroladores y plataformas microcontroladoras disponibles para computacin fsica. Parallax
Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, y muchas otras ofertas de funcionalidad similar. Todas
estas herramientas toman los desordenados detalles de la programacin de microcontrolador y la encierran en un paquete
fcil de usar. Arduino tambin simplica el proceso de trabajo con microcontroladores, pero ofrece algunas ventajas para
profesores, estudiantes y aficionados interesados sobre otros sistemas:
Barato: Las placas Arduino son relativamente baratas comparadas con otras plataformasmicrocontroladoras. La versin
menos cara del modulo Arduino puede ser ensamblada a mano, e incluso los mdulos de Arduino preensamblados cuestan
menos de 50 dls.
Multiplataforma: El software de Arduino se ejecuta en sistemas operativos Windows, Macintosh OSX y GNU/Linux. La
mayora de los sistemas microcontroladores estn limitados a Windows.
Entorno de programacin simple y claro: El entorno de programacin de Arduino es fcil de usar para principiantes, pero
surecientemente extensin para que usuarios avanzados puedan aprovecharlo tambin. Para profesores, est
convenientemente basado en el entorno de programacin Processing, de manera que estudiantes aprendiendo a programar
en ese entorno estarn familiarizados con el aspecto y la imagen de Arduino.
Cdigo abierto y software extensible: El software Arduino est publicado como herramientas de cdigo abierto,
disponible para extensin por programadores experimentados. El lenguaje puede ser expandido mediante bibliotecas del
lenguaje C.
Cdigo abierto y hardware extensible: Arduino est basado en microcontroladores ATMEGA8 y ATMEGA168 de
Atmel. Los planos para los mdulos estn publicados bajo licencia Creative Commons, por lo que diseadores
experimentados de circuitos pueden hacersu propia versin del mdulo, extendindolo y mejorndolo. Incluso usuarios
relativamenteinexpertos pueden construir la versin de la placa del mdulo para entender como funcionay ahorrar dinero.

Modelo Arduino Diecimila


Arduino Diecimila es una placa microcontroladora basada en el ATmega168. Tiene 14 pines de entrada/salida digital (de
los cuales 6 pueden ser usados como salidas PWM), 6 entradas analgicas, un oscilador de cuarzo a 16MHz, una conexin
USB, un conector para alimentacin, una cabecera ICSP, y un botn de reset. Contiene todo lo necesario para soportar el
microcontrolador;simplemente conctalo a un ordenador con un cable USB o enchfalo con un adaptador AC/DC o
batera para comenzar.

_Diecimila_ quiere decir 10000 en italiano y fue llamado as para resaltar el hecho de que ms de 10000 placas Arduino
han sido fabricadas. El Diecimila es el ltimo en la serie de placas USB Arduino.

Programacin en lenguaje C para Arduino


Estructura de un programa
La estructura bsica del lenguaje de programacin Arduino es bastante simple y se organizaen al menos dos partes o
funciones que encierran bloques de declaraciones.
void setup()
{
instrucciones;
}
void loop()
{
instrucciones;
}

Ambas funciones son requeridas para que el programa funcione.


setup()
La funcin setup debera contener la declaracin de cualquier variable al comienzo del programa. Es la primera funcin a
ejecutar en el programa, es ejecutada una vez y es usada para asignar
pinMode o inicializar las comunicaciones serie.
void setup()
{
pinMode(pin, OUTPUT); //ajusta 'pin' como salida
}
loop()
La funcin loop se ejecuta a continuacin e incluye el cdigo que se ejecuta continuamente leyendo entradas, activando
salidas, etc. Esta funcin es el ncleo de todos los programas Arduino y hace la mayor parte del trabajo.
void loop()
{
digitalWrite(pin, HIGH); //Activa 'pin'
delay(1000); //espera un segundo
digitalWrite(pin, LOW); //Desactiva 'pin'
delay(1000); //espera un segundo
}

Funciones o subprogramas
Una funcin es un bloque de cdigo que tiene un nombre y un grupo de declaraciones quese ejecutan cuando se llama a la
funcin. Podemos hacer uso de funciones integradas como void setup() y void loop() o escribir nuevas.
Las funciones se escriben para ejecutar tareas repetitivas y reducir el desorden en un programa. En primer lugar se declara
el tipo de la funcin, que ser el valor retornado por la funcin (int, void...). A continuacin del tipo, se declara el nombre
de la funcin y, entre parntesis, losparmetros que se pasan a la funcin.
tipo NombreDeFuncion (parametros)
{

instrucciones;
}
La siguiente funcin int delayVal(), asigna un valor de retardo en un programa por lectura delvalor de un
potencimetro.
int delayVal()
{
int v; //crea una variable temporal 'v'
v = analogRead(pot); //lee el valor del potencimetro
v /= 4; //convierte 0-1023 a 0-255
return v; //devuelve el valor final de v
}

llaves {}
Las llaves definen el comienzo y el final de bloques de funcin y bloques de declaraciones como void loop() y sentencias
for e if. Las llaves deben estar balanceadas (a una llave de apertura { debe seguirle una llave de cierre }). Las llaves no
balanceadas provocan errores de compilacin.
void loop()
{
instrucciones;
}
El entorno Arduino incluye una prctica caracterstica para chequear el balance de llaves. Slo selecciona una llave y su
compaera lgica aparecer resaltada.

punto y coma ;
Un punto y coma debe usarse al final de cada declaracin y separa los elementos del programa. Tambin se usa para
separar los elementos en un bucle for.
int x = 13;

//declara la variable 'x' como el entero 13

Nota: Olvidar un punto y coma al final de una declaracin producir un error de compilacin.

bloques de comentarios /*...*/


Los bloques de comentarios, o comentarios multilnea, son areas de texto ignoradas por el programa y se usan para
grandes descripciones de cdigo o comentarios que ayudan a otras personas a entender partes del programa. Empiezan
con /* y terminan con */ y pueden abarcar multiples lineas.
/*
este es un bloque de comentario encerrado
no olvides cerrar el comentario
tienen que estar balanceados!
*/
Como los comentarios son ignorados por el programa y no ocupan espacio en memoria deben usarse generosamente y
tambin pueden usarse para comentar bloques de cdigo con propsitos de depuracin.

comentarios de lnea //

Comentarios de una lnea empiezan con // y terminan con la siguiente lnea de cdigo. Como
el bloque de comentarios, son ignorados por el programa y no toman espacio en memoria.
// este es un comentario de una lnea
Comentarios de una lnea se usan a menudo despus de declaraciones vlidas para proporcionar ms informacin sobre
qu lleva la declaracin o proporcionar un recordatorio en el futuro.

Variables
Una variable es una forma de llamar y almacenar un valor numrico para usarse despus por el programa. Como su
nombre indica, las variables son nmeros que pueden cambiarse continuamente al contrario que las constantes, cuyo valor
nunca cambia. Una variable necesita ser declarada y, opcionalmente, asignada al valor que necesita para ser almacenada.
int inputVariable = 0; //declara una variable y asigna el valor a 0
inputVariable = analogRead(2); //ajusta la variable al valor del pin
//analgico 2

Ejemplos:

Link a ejemplo bsico:


http://todoarduino.blogspot.mx/2009/06/5-el-primer-ejercicio-o-ejemplo.html

Anda mungkin juga menyukai