Top Banner

of 12

Entorno de Desarrollo Para Arduino

Jul 20, 2015

Download

Documents

Luz Ireri
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Entorno de Desarrollo para ArduinoEl entorno de Desarrollo Arduino est constituido por un editor de texto para escribir el cdigo, un rea de mensajes, una consola de texto, una barra de herramientas con botones para las funciones comunes, y una serie de mens. Permite la conexin con el hardware de Arduino para cargar los programas y comunicarse con ellos. Arduino utiliza para escribir el software lo que denomina "sketch" (programa). Estos programas son escritos en el editor de texto. Existe la posibilidad de cortar/pegar y buscar/remplazar texto. En el rea de mensajes se muestra informacin mientras se cargan los programas y tambin muestra errores. La consola muestra el texto de salida para el entorno de Arduino incluyendo los mensajes de error completos y otras informaciones. La barra de herramientas permite verificar el proceso de carga, creacin, apertura y guardado de programas, y la monitorizacin serie: Verify/Compile Chequea el cdigo en busca de errores. Stop Finaliza la monitorizacin serie y oculta otros botones New Crea un nuevo sketch. Open Presenta un men de todos los programas sketch de su "sketchbook", (librera de sketch) . Un click sobre uno de ellos lo abrir en la ventana actual. Nota: Debido a un error bug en Java, la barra de desplazamiento scroll no funciona en este men; si necesita abrir un programa que no se vea en la lista, utilice File | Sketchbook en el men. Save Salva el programa sketch. Upload to I/O Board Compila el cdigo y lo vuelca en la placa E/S de Arduino. Ver Volcado ms detalles abajo. Serial Monitor Inicia la monitorizacin serie Monitorizacin Serie. Encontrar otros comandos en los cinco mens: File, Edit, Sketch, Tools, Help. Los mens son sensibles al contexto, lo que significa que estarn disponibles slo los elementos relevantes para la tarea que este realizando en ese momento. Edit Copy for Discourse Copia el cdigo de su sketch en el portapapeles para con el formato adecuado para publicarlo en un foro, incluyendo la sintaxis coloreada. Copy as HTML Copia el cdigo de un programa(sketch) al portapapeles en formato HTML, adecundolo para incrustarlo en una pgina web. Sketch

Verify/Compile Verifica los errores de su programa (sketch) Import Library Aade una librera a su programa(sketch) insertando la sentencia #include en el cdigo. Para ms detalles ver Libreras ms abajo. Show Sketch Folder Abre la carpeta de programas (sketch) en el escritorio. Add File... Aade un fichero fuente al programa (se incluir desde su ubicacin actual). El fichero aparece en una nueva pestaa en la ventana del programa. Los ficheros pueden ser quitados del programa (sketch) utilizando el men "tab". Tools Auto Format Da formato al cdigo proporcionando esttica: por ejemplo realiza tabulaciones entre la apertura y cierre de llaves, y las sentencias que tengan que ser tabuladas lo estarn. Board Selecciona la placa que ests usuando. Ver ms abajo Descripcin de las placas. Serial Port Este men contiene todos los dispositivos serie (reales o virtuales) de su equipo. Se refrescar automticamente cada vez que abras el men tools. Burn Bootloader Este elemento del men le permite grabar un gestor de arranque (bootloader) dentro del microcontrolador de la placa Arduinio. Aunque no es un requisito para el normal funcionamiento de la placa Arduino, le ser til si compra un nuevo ATmega (el cual viene normalmente sin gestor de arranque). Asegrese que ha seleccionado la placa correcta en el men Boards antes de grabar el bootloader. Cuando use AVR ISP, tendr que seleccionar en el men Serial Port el puerto correspondiente. S k e t c h b o o k ( L i br e r a d e Sk etc h ) El entorno de Arduino incluye el concepto de "sketchbook": que es el lugar estndar para el almacenamiento de sus programas (o "sketch"). Los "sketches" dentro de su "sketchbook" pueden abrirse desde el men File > Sketchbook o desde el botn de la barra de herramientas Open. La primera vez que arranque el software Arduino, se crear un directorio para su "sketchbook". Puede visualizar o cambiar su localizacin dentro de "sketchbook location" desde el apartado Preferences T a b s , M u l t i p l e F i l e s , a n d Co mp i l a t i o n ( P e s t a a s , F i c h er o s m l t i pl e s y c o m pi l a c i n ) Permite manejar "sketches" con ms de un fichero (cada uno de los cuales aparece en su pestaa). Pueden ser normalmente ficheros de cdigo Arduino (no extensiones), ficheros C (extensiones .c), ficheros c++ (.cpp), o ficheros de cabecera (.h) U p l o a di n g ( V o l c a do ) Antes de volcar su "sketch", necesitaa seleccionar los elementos correspondientes desde los mens Tools > Board y Tools > Serial Port. Las boards (placas) estn descritas abajo. En los Mac, el puerto serie ser probablemente algo como /dev/tty.usbserial-1B1 (para una placa USB), o /dev/tty.USA19QW1b1P1.1 (para una placa serie conectada con un

adaptador Keyspan USB-to-Serial). En Windows, probablemente sea COM1 o COM2 (para una placa serie) o COM4, COM5, COM7, o superior (para una placa USB)- para encontrarlos, debes buscar los dispositivos serie USB en la seccin de puertos del Administrador de Dispositivos de Windows. En Linux, debera ser /dev/ttyUSB0, /dev/ttyUSB1 o similar. Una vez que ha seleccionado el puerto serie y la placa, presione el botn de volcado en la barra de harramientas o selecione Upload to I/O Board desde el men File. Las actuales placas de Arduino se resetearn automticmamente y comenzar el volcado. Como las placas antiguas carecen de auto-reset, necesitar presionar el botn de reset en la placa, justo antes de iniciar el volcado. En muchas placas ver el led RX y TX parpadeando cuando el "sketch" est actualizndose. El entorno de Arduino mostrar un mensaje cuando el volcado est completado, o mostrar un error. Cuando se vuelca un "sketch", est utilizando el "bootloader" de Arduino, un pequeo programa que ha sido cargado en el microcontrolador en su placa. Permite el volcado del cdigo sin utilizar hardware adicional. El "bootloader" est activo durante unos segundos cuando la placa es reseteada; despus se incia el "sketch" que ms recientemente se hubiera actualizado en el microcontrolador. El "bootloader" produce un parpadeo en el LED de la placa (pin 13) cuando se inicia (p.e. cuando las placas son reseteadas) L i b r a r i es ( L i br e r as ) Las libreras proporcionan funcionalidad extra para la utilizacin en "sketches", por ejemplo para trabajar con hardware o manipular datos. Para utilizar una librera en un "sketch", seleccione el men Sketch > Import Library. Esto insertar una o ms sentencias #include al principio del "sketch" y compilar la librera con su "sketch". Debido a que las libreras se vuelcan a la placa junto con su "sketch", incrementan la ocupacin del espacio disponible. Si un "sketch" no precisa de una libreria, simplemente borra su sentencia #include en la parte inicial de su cdigo. Existe una Lista de libreras en las referencias. Algunas librerias estan incluidas en el software Arduino, otras pueden ser descargadas desde una gran variedad de fuentes. Para instalar estas libreras de terceros, crea un directorio denominado libraries en su Directorio sketchbook. Despus descomprime la librera all. Por ejemplo, para instalar la librera Data Time, sus ficheros deberan estar en una subcarpeta /libraries/DateTime en su carpeta de sketchbook. Para escribir su propia librera, revisa este tutorial T h i r d - Pa r t y H a r dwa r e ( H a r dw a r e d e t e r c e r o s ) Se puede agregar soporte para hardware de terceros en el directorio hardware del directorio "sketchbook". Las plataformas instaladas aqu pueden incluir la definicin de las placas (que aparecen en el men board), libreras del ncleo, "bootloaders", y definiciones de programador. Para instalarla, cree un directorio hardware, y en l descomprima la plataforma de terceros con su directorio. (No utilices "arduino" como nombre del subdirectorio o sobreescribirs la plataforma Arduino). Para desinstalarlo, simplemente borre ese directorio. Para ms detalles sobre la creacin de paquetes de hardware de terceros visita Pginas de Plataformas en la web de Google Code developers. S e r i a l Mo n i to r ( Mo n i t o r S e r i e ) Muestra los datos enviados desde la placa Arduino (placa USB o serie). Para enviar datos a la placa, teclee el texto y pulsa el botn "send" o enter. Seleccione la velocidad (baud rate) en el men desplegable que coincida con el configurado en Serial.begin dentro de su

"sketch". Advertir que en Mac o Linux, la placa Arduino se resetea (su "sketch" es reiniciado desde el principio) cuando conecta con el monitor serie. Se puede tambin comunicar con la placa desde Processing, Flash, MaxMSP, etc (ver Web de interface ('interfacing page') para ms detalles) P r e f e r e n c e s (P r e f er e n c i a s) Pueden configurarse otras preferencias en el apartado preference (lo podrs encontrar bajo el men Arduino para los Mac, o en File para Windows y Linux). El resto de opciones puede ser localizado en el fichero de preferencias, que se podr encontrar dentro del mismo apartado preference. B o ar d s ( Pl a ca s ) La seleccin de placa tiene dos efectos: los parmetros utilizados cuando compila(por ejemplo, CPU usada y velocidad (baud rate)) y vuelcan los "sketches"; y el fichero y configuracin utilizados por el gestor de arranque (bootloader)) al ser cargado. Algunas de las definiciones de las placas difieren slo en lo segundo, incluso si ha sido cargado satisfactoriamente con una particular seleccin, usted podr comprobarlo antes de grabar el "bootloader" Arduino Duemilanove o Nano w/ ATmega328 Un ATmega328 trabajando a 16MHz con auto-reset. Tambin usado para las versiones 16 MHz (5V) de los Arduino Pro o Pro Mini con ATmega328. Arduino Diecimila, Duemilanove, o Nano w/ ATmega168 Un ATmega168 trabajando a 16MHz con auto-reset. En cuanto a la compilacin y volcado es equivalente al Arduino NG o el ms antiguo w/ATmega168, pero el "bootloader" tiene un timeout rpido (el LED en el pin 13 parpace slo en el reset).Tambin usa las versiones 16 MHz (5V) de los Arduino Pro y Pro Mini con ATmega168. Arduino Mega Un ATmega1280 trabajando a 16MHz con auto-reset. Arduino Mini Equivalente al Ardunio NG o el ms antiguo w/ATmega168 (por ejemplo un ATmega168 trabajando a 16MHz sin auto-reset) Arduino BT ATmega168 trabajando a 16MHz. El bootloader incluye cdigo para iniciar el mdulo bluetooth de la placa. LilyPad Arduino w/ ATmega328 Un ATmega328 trabajando a 8MHz (3.3V) con autor-reset. Equivalente al Arduino Pro o Pro Mini (3.3V 8 MHz) w/ATmega328. LilyPad Arduino w/ ATmega168 Un ATmega168 trabajando a 8MHz. En cuanto a la compilacin y volcado es equivalente a Arduino Pro o Pro Mini (8MHz) w/ARmega168. El "bootloader", sin embargo, tiene un lento timeout (el LED 13 parpadea 3 veces y realiza el reset) debido a que la versin original del LilyPad no soporta auto-reset. Tampoco incluyen un reloj externo, por lo que el boottloader se ha cargado comfigurando los fuses del ATmega168 con el reloj interno de 8MHz. Si tenes una versin actual del LilyPad, (con un conector de programacin de 6 pines) tendrs que seleccionar Arduino Pro o Pro Mini (8MHz) con ATmega168 antes de grabar el "bootloader"

Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328 Un ATmega328 trabajando a 8MHz (3.3V) con auto-reset. Equivalente a LilyPad Arduino w/ ATmega328. Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega168 Un ATmega168 trabajando a 8 MHz (3.3V) con auto-reset. Arduino NG or older w/ ATmega168 Un ATmega168 trabajando 16MHz sin auto-reset. En cuanto a la Compilacin y volcado es equivalente al Arduino Diecimila o Duemilanove w/ATmega168, pero el grabado del "bootloader" es ms lento (el LED 13 parpadea 3 veces y realiza el reset) Arduino NG or older w/ ATmega8 Un ATmega8 trabajando en 16MHz sin auto-reset Los textos de la gua "Como empezar con Arduino" estn licenciados bajoCreative Commons Attribution-ShareAlike 3.0 License. El cdigo fuente de los ejemplos en la gua estn liberados como dominio pblico.

Serial/* LiquidCrystal Library - Serial Input Demonstrates the use a 16x2 LCD display. The LiquidCrystal library works with all LCD displays that are compatible with the Hitachi HD44780 driver. There are many of them out there, and you can usually tell them by the 16-pin interface. This sketch displays text sent over the serial port (e.g. from the Serial Monitor) on an attached LCD. The circuit: * LCD RS pin to digital pin 12 * LCD Enable pin to digital pin 11 * LCD D4 pin to digital pin 5 * LCD D5 pin to digital pin 4 * LCD D6 pin to digital pin 3 * LCD D7 pin to digital pin 2 * 10K resistor: * ends to +5V and ground * wiper to LCD VO pin (pin 3) Library originally added 18 Apr 2008 by David A. Mellis library modified 5 Jul 2009 by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe modified 8 Feb 2010 by Tom Igoe This example code is in the public domain. http://www.arduino.cc/en/Tutorial/LiquidCrystal */ // include the library code: #include // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup(){ // set up the LCD's number of columns and rows: lcd.begin(16, 2); // initialize the serial communications: Serial.begin(9600); } void loop() { // when characters arrive over the serial port... if (Serial.available()) { // wait a bit for the entire message to arrive delay(100);

// clear the screen lcd.clear(); // read all the available characters while (Serial.available() > 0) { // display each character to the LCD lcd.write(Serial.read()); } } }

LiquidCrystal - Serial InputLa librera LiquidCrystal te permite controlar displays LCD que sean complatibles con el driver Hitachi HD44780. Hay muchos de ellos ah fuera, y puedes comunicarte con ellos a travs del interfaz de 16 pines. Este sketch de ejemplo acepta entrada serie desde un ordenador servidor y lo muestra en el LCD. PAra usarlo, sube el sketch, despus abre el monitor serie (Serial Monitor), escribe algunos caracteres y pulsa Send (Enviar). El texto aparecer en tu LCD. NOTA: La librera LiquidCrystal tiene revisiones venidas a menos despus de la versin 0016 de Arduino. Gracias a Limor Fried por reescribirla para incluir los modos de 4 y 8 bits y otras funcionalidades. Estas notas hacen referencia a la versin actual como es Arduino 0017. O t r o s e j e m pl o s d e l a l i b r er a Li q ui d Cr y s t a l Hello World - muestra "hello world!" y los segundos desde el ltio reset Blink - control del cursor en forma de bloque. Cursor - control del cursor en forma de guin bajo. Display - limpieza rpida del display, sin perder lo que haba en l. Text Direction - controla en qu sentido fluye el texto desde el cursor. Autoscroll - scroll automtico del nuevo texto. Serial input - acepta la entrada serie y la muestra. SetCursor - establece la posicin del cursor. Scroll - realiza un scroll del texto a la izquierda y a la derecha C i r c ui t o El pin RS del LCD conectado a la E/S digital en el pin 12 El pin enable del LCD conectado a la E/S digital en el pin 11. Los pines D4 - D7 conectado a las E/S digitales desde el pin 5 hasta el 2. Los pines de voltaje y tierra conectados a +5V y tierra. El pin Vo, que controla el constraste, conectado a un potencimetro. Ajusta el potencimetro para que el texto tenga el contraste que t quieras. Nota: Este diagrama de wiring es diferente que el que haba en anteriores versiones la de librera LiquidCrystal. Los pines de R/W (lectura/escritura) estn conectado a tierra, y el pin de enable se mueve al pin 11, liberando el pin E/S para otros usos. pincha en la imagen para aumentarla

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Esquemtico: pincha en la imagen para aumentarla

Hello world

LiquidCrystalLa librera LiquidCrystal te permite controlar displays LCD que sean complatibles con el driver Hitachi HD44780. Hay muchos de ellos ah fuera, y puedes comunicarte con ellos a travs del interfaz de 16 pines. Este sketch de ejemplo imprime "Hello World!" en el LCD y muestra el tiempo en segundos desde que Arduino fu reseteado por ltima vez.

salida del sketch en un LCD de 2x16 El LCD tiene un interfaz paralelo, significando esto que el microcontrolador tiene que manipular varios pines del interfaz a la vez para controlarlo. El interfaz consta de los siguientes pines: Un pin de seleccin de registro (RS) que controla en qu parte de la memoria del LCD ests escribiendo datos. Puedes seleccionar bien el regisro de datos, que mantiene lo que sale en la pantalla, o un registro de instruccin, que es donde el controlador del LCD busca las instrucciones para saber cual es lo siguiente que hay que hacer. El pin de lectura/escritura (R/W)que selecciona el modo de lectura o el de escritura. Un pin para habilitar (enable) que habilita los registros. 8 pines de datos (D00-D07). Los estados de estos pines (nivel alto o bajo) son los bits que ests escribiendo a un registro cuando escribes, o los valores de lectura cuando ests leyendo. Hay tambin un pin de contraste del display (Vo), pines de alimentacin (+5V y GND) y pines de retro-iluminacin (Bklt+ y Bklt-), que te permiten alimentar el LCD, controlar el contraste del display, o encender y apagar la retro-iluminacin, respectivamente. El proceso de controlar el display involucra la colocacin de los datos que componen la imagen de lo que quieres mostrar, en los registros de datos, y luego, colocar las instrucciones, en el registro de instrucciones. La librera LiquidCrystal te simplifica todo este proceso de forma que no neesitas saber las instrucciones de bajo nivel. Los LCD-s compatibles con Hitachi pueden ser controlados de dos modos: 4 bits u 8 bits. El modo de 4 bits requiere siete pines de E/S de Arduino, mientras el modo de 8 bits requiere 11 pines. Para mostrar texto en la pantalla, puedes hacer la mayora de las cosas en modo 4 bits, por lo que el ejemplo muestra como controlar un LCD de 2x16 en modo de 4 bits. NOTA: La librera LiquidCrystal tiene revisiones venidas a menos despus de la versin 0016 de Arduino. Gracias a Limor Fried por reescribirla para incluir los modos de 4 y 8 bits y otras funcionalidades. Estas notas hacen referencia a la versin actual como es Arduino 0017. O t r o s e j e m pl o s d e l a l i b r er a Li q ui d Cr y s t a l

Hello World - muestra "hello world!" y los segundos desde el ltio reset Blink - control del cursor en forma de bloque. Cursor - control del cursor en forma de guin bajo. Display - limpieza rpida del display, sin perder lo que haba en l. Text Direction - controla en qu sentido fluye el texto desde el cursor. Autoscroll - scroll automtico del nuevo texto. Serial input - acepta la entrada serie y la muestra. SetCursor - establece la posicin del cursor. Scroll - realiza un scroll del texto a la izquierda y a la derecha C i r c ui t o El pin RS del LCD conectado a la E/S digital en el pin 12 El pin enable del LCD conectado a la E/S digital en el pin 11. Los pines D4 - D7 conectado a las E/S digitales desde el pin 5 hasta el 2. Los pines de voltaje y tierra conectados a +5V y tierra. El pin Vo, que controla el constraste, conectado a un potencimetro. Ajusta el potencimetro para que el texto tenga el contraste que t quieras. Nota: Este diagrama de wiring es diferente que el que haba en anteriores versiones la de librera LiquidCrystal. Los pines de R/W (lectura/escritura) estn conectado a tierra, y el pin de enable se mueve al pin 11, liberando el pin E/S para otros usos. pincha en la imagen para aumentarla

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Esquemtico: pincha en la imagen para aumentarla

/* LiquidCrystal Library - Hello World Demonstrates the use a 16x2 LCD display. The LiquidCrystal library works with all LCD displays that are compatible with the Hitachi HD44780 driver. There are many of them out there, and you can usually tell them by the 16-pin interface. This sketch prints "Hello World!" to the LCD and shows the time. * * * * * * * * * The circuit: LCD RS pin to digital pin 12 LCD Enable pin to digital pin 11 LCD D4 pin to digital pin 5 LCD D5 pin to digital pin 4 LCD D6 pin to digital pin 3 LCD D7 pin to digital pin 2 10K resistor: ends to +5V and ground wiper to LCD VO pin (pin 3)

Library originally added 18 Apr 2008 by David A. Mellis library modified 5 Jul 2009 by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe modified 8 Feb 2010 by Tom Igoe This example code is in the public domain. http://www.arduino.cc/en/Tutorial/LiquidCrystal */ // include the library code: #include // initialize the library with the numbers of the interface pins

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000);

}