Date post: | 26-Jan-2023 |
Category: |
Documents |
Upload: | independent |
View: | 0 times |
Download: | 0 times |
ESCUELA MILITAR DE CHORRILLOS
LICENCIATURA EN CIENCIAS MILITARES
CURSO :
TEMA : ARDUINO
ALUMNO :
PROFESOR :
INDICE
INTRODUCCION
1. HISTORIA
2. APLICACIONES
3. ESQUEMA DE CONEXIONES
3.1 Entradas y salidas
4. ESPECIFICACIONES
5. LENGUAJE DE PROGRAMACIÓN ARDUINO
5.1 Funciones básicas y operadores
5.2 AVR Libc
5.3 Diferencias con Processing
5.4 Ejemplo sencillo de programación en Arduino
6. BIBLIOTECAS EN ARDUINO
6.1 Serial
6.2 EEPROM
6.3 Ethernet
6.4 Firmata
6.5 LiquidCrystal
6.6 Servo
6.7 SoftwareSerial
6.8 Stepper
6.9 Wire
6.10 Creación de bibliotecas
7. INSTALACIONES EN DIFERENTES ENTORNOS
INTRODUCCION
Arduino es una herramienta para hacer que los ordenadores
puedan sentir y controlar el mundo físico a través de tu
ordenador personal. Es una plataforma de desarrollo de
computación física (physical computing) de código abierto,
basada en una placa con un sencillo microcontrolador y un
entorno de desarrollo para crear software (programas) para la
placa.
Puedes usar Arduino para crear objetos interactivos, leyendo
datos de una gran variedad de interruptores y sensores y
controlar multitud de tipos de luces, motores y otros
actuadores físicos. Los proyecto de Arduino pueden ser
autónomos o comunicarse con un programa (software) que se
ejecute en tu ordenador. La placa puedes montarla tu mismo o
comprarla ya lista para usar, y el software de desarrollo es
abierto y lo puedes descargar gratis. El lenguaje de
programación de Arduino es una implementación de Wiring, una
plataforma de computación física parecida, que a su vez se
basa en Processing, un entorno de programación multimedia.
Hay muchos otros microcontroladores y plataformas con
microcontroladores disponibles para la computación física.
Parallax Basic Stamp, BX-24 de Netmedia, Phidgets, Handyboard
del MIT, y muchos otros ofrecen funcionalidades similares.
Todas estas herramientas organizan el complicado trabajo de
programar un microcontrolador en paquetes fáciles de usar.
Arduino, además de simplificar el proceso de trabajar con
microcontroladores, ofrece algunas ventajas respecto a otros
sistemas a profesores, estudiantes y amateurs:
Asequible - Las placas Arduino son más asequibles comparadas
con otras plataformas de microcontroladores. La versión más
cara de un modulo de Arduino puede ser montada a mano, e
incluso ya montada cuesta bastante menos de 60€
Multi-Plataforma - El software de Arduino funciona en los
sistemas operativos Windows, Macintosh OSX y Linux. La
mayoría de los entornos para microcontroladores están
limitados a Windows.
ARDUINO
1. DEFINICION
Arduino es una plataforma de hardware libre, basada en
una placa con un micro controlador y un entorno de
desarrollo, diseñada para facilitar el uso de la
electrónica en proyectos multidisciplinares.
El hardware consiste en una placa con un
microcontrolador Atmel AVR y puertos de entrada/salida.
Los microcontroladores más usados son el Atmega
168, Atmega 328, Atmega1280, ATmega8 por su sencillez y
bajo coste que permiten el desarrollo de múltiples
diseños. Por otro lado el software consiste en un entorno
de desarrollo que implementa el lenguaje de
programación Processing / Wiring y el cargador de
arranque que es ejecutado en la placa.
Desde octubre de 2012, Arduino se usa también con
microcontroladoras CortexM3 de ARM de 32 bits,5 que
coexistirán con las más limitadas, pero también económicas
AVR de 8 bits. ARM y AVR no son plataformas compatibles a
nivel binario, pero se pueden programar con el mismo IDE
de Arduino y hacerse programas que compilen sin cambios en
las dos plataformas. Eso sí, las microcontroladoras
CortexM3 usan 3,3V, a diferencia de la mayoría de las
placas con AVR que generalmente usan 5V. Sin embargo ya
anteriormente se lanzaron placas Arduino con Atmel AVR a
3,3V como la Arduino Fio y existen compatibles de Arduino
Nano y Pro como Meduino en que se puede conmutar el
voltaje.
Arduino se puede utilizar para desarrollar objetos
interactivos autónomos o puede ser conectado a software
tal como Adobe Flash, Processing, Max/MSP, Pure Data). Las
placas se pueden montar a mano o adquirirse. El entorno de
desarrollo integrado libre se puede descargar
gratuitamente.
Arduino puede tomar información del entorno a través de
sus entradas analógicas y digitales, y controlar luces,
motores y otros actuadores. El micro controlador en la
placa Arduino se programa mediante el lenguaje de
programación Arduino (basado en Wiring) y el entorno de
desarrollo Arduino (basado en Processing). Los proyectos
hechos con Arduino pueden ejecutarse sin necesidad de
conectar a un computador.
2. HISTORIA
Arduino se inició en el año 2005 como un proyecto para
estudiantes en el Instituto IVREA, en Ivrea (Italia). En
ese tiempo, los estudiantes usaban el micro
controlador BASIC Stamp, cuyo coste era de 100 dólares
estadounidenses, lo que se consideraba demasiado costoso
para ellos. Por aquella época, uno de los fundadores de
Arduino, Massimo Banzi, daba clases en Ivrea.
El nombre del proyecto viene del nombre del Bar di
Re Arduino (Bar del Rey Arduino) donde Massimo Banzi pasaba
algunas horas. En su creación, contribuyó el estudiante
colombiano Hernando Barragán, quien desarrolló la tarjeta
electrónica Wiring, el lenguaje de programación y la
plataforma de desarrollo. Una vez concluida dicha
plataforma, los investigadores trabajaron para hacerlo más
ligero, más económico y disponible para la comunidad de
código abierto (hardware y código abierto). El instituto
finalmente cerró sus puertas, así que los investigadores,
entre ellos el español David Cuartielles, promovieron la
idea. Banzi afirmaría años más tarde, que el proyecto
nunca surgió como una idea de negocio, sino como una
necesidad de subsistir ante el inminente cierre del
Instituto de diseño Interactivo IVREA. Es decir, que al
crear un producto de hardware abierto, éste no podría ser
embargado.
Posteriormente, Google colaboró en el desarrollo del Kit
Android ADK (Accesory Development Kit), una placa Arduino
capaz de comunicarse directamente con teléfonos móviles
inteligentes bajo el sistema operativo Android para que el
teléfono controle luces, motores y sensores conectados de
Arduino.
Para la producción en serie de la primera versión se tomó
en cuenta que el coste no fuera mayor de 30 euros, que
fuera ensamblado en una placa de color azul, debía
ser Plug and Play y que trabajara con todas las
plataformas informáticas tales
como MacOSX, Windows y GNU/Linux. Las primeras 300
unidades se las dieron a los alumnos del Instituto IVRAE,
con el fin de que las probaran y empezaran a diseñar sus
primeros prototipos.
En el año 2005, se incorporó al equipo el profesor Tom
Igoe, que había trabajado en computación física, después
de que se enterara del mismo a través de Internet. Él
ofreció su apoyo para desarrollar el proyecto a gran
escala y hacer los contactos para distribuir las tarjetas
en territorio estadounidense. En la feria Maker Fair de
2011 se presentó la primera placa Arduino 32 bit para
trabajar tareas más pesadas
3. APLICACIONES
El módulo Arduino ha sido usado como base en diversas
aplicaciones electrónicas:
Xoscillo: Osciloscopio de código abierto.
Equipo científico para investigaciones.
Arduinome: Un dispositivo controlador MIDI.
OBDuino: un económetro que usa una interfaz
de diagnóstico a bordo que se halla en los automóviles
modernos.
Humane Reader: dispositivo electrónico de bajo coste con
salida de señal de TV que puede manejar una biblioteca
de 5000 títulos en una tarjeta microSD.
The Humane PC: equipo que usa un módulo Arduino para
emular un computador personal, con un monitor de
televisión y un teclado para computadora.
Ardupilot: software y hardware de aeronaves no
tripuladas.
ArduinoPhone: un teléfono móvil construido sobre un
módulo Arduino
4. ESQUEMA DE CONEXIONES
4.1. Entradas y salidas
Poniendo de ejemplo al módulo Diecimila, éste consta
de 14 entradas digitales configurables como entradas
y/o salidas que operan a 5 voltios. Cada contacto
puede proporcionar o recibir como máximo 40 mA. Los
contactos 3, 5, 6, 8, 10 y 11 pueden proporcionar una
salida PWM (Pulse Width Modulation). Si se conecta
cualquier cosa a los contactos 0 y 1, eso interferirá
con la comunicación USB. Diecimila también tiene 6
entradas analógicas que proporcionan una resolución
de 10 bits. Por defecto, aceptan de 0 hasta 5
voltios, aunque es posible cambiar el nivel más alto,
utilizando el contacto Aref y algún código de bajo
nivel.
Los modelos Arduino Diecimila, Arduino Duemilanove y
Arduino Mega están basados en los microcontroladores
ATmega168, ATmega328 y ATmega1280ATmega168 ATmega328 ATmega1280
Voltaje operativo 5 V 5 V 5 VVoltaje de entrada
recomendado
7-12 V 7-12 V 7-12 V
Voltaje de entrada 6-20 V 6-20 V 6-20 V
límiteContactos de entrada
y salida digital
14
(6
proporcionan
PWM)
14
(6
proporcionan
PWM)
54
(14
proporcionan
PWM)
Contactos de entrada
analógica
6 6 16
Intensidad de
corriente
40 mA 40 mA 40 mA
Memoria Flash 16KB (2KB
reservados
para el
bootloader)
32KB (2KB
reservados
para el
bootloader)
128KB (4KB
reservados
para el
bootloader)SRAM 1 KB 2 KB 8 KB
EEPROM 512 bytes 1 KB 4 KB
Frecuencia de reloj 16 MHz 16 MHz 16 MHz
5. LENGUAJE DE PROGRAMACION ARDUINO
La plataforma Arduino se programa mediante el uso de un
lenguaje propio basado en el lenguaje de programación de
alto nivel Processing. Sin embargo, es posible utilizar
otros lenguajes de programación y aplicaciones populares
en Arduino, debido a que Arduino usa la transmisión serial
de datos soportada por la mayoría de los lenguajes
mencionados. Para los que no soportan el formato serie de
forma nativa, es posible utilizar software intermediario
que traduzca los mensajes enviados por ambas partes para
permitir una comunicación fluida. Algunos ejemplos son:
3DVIA Virtools: aplicaciones interactivas y de tiempo
real.
Adobe Director
BlitzMax (con acceso restringido)
C
C++ (mediante libSerial o en Windows)
C#
Cocoa/Objective-C (para Mac OS X)
Flash (mediante ActionScript)
Gambas
Isadora (Interactividad audiovisual en tiempo real)
Instant Reality (X3D)
Java
Liberlab (software de medición y experimentación)
Mathematica
Matlab
MaxMSP: Entorno gráfico de programación para
aplicaciones musicales, de audio y multimedia
Minibloq: Entorno gráfico de programación, corre también
en las computadoras OLPC
Perl
Php
Physical Etoys: Entorno gráfico de programación usado
para proyectos de robótica educativa
Processing
Pure Data
Python
Ruby
Scratch for Arduino (S4A): Entorno gráfico de
programación, modificación del entorno para
niños Scratch, del MIT)
Squeak: Implementación libre de Smalltalk
SuperCollider: Síntesis de audio en tiempo real
VBScript
Visual Basic .NET
VVVV: Síntesis de vídeo en tiempo real
5.1 Funciones básicas y operadores
Arduino está basado en C y soporta todas las funciones
del estándar C y algunas de C++.22 A continuación se
muestra un resumen con la estructura y sintaxis del
lenguaje Arduino:
5.1.1 Sintaxis Básica
Delimitadores:;, {}
Comentarios: //, /* */
Cabeceras: #define, #include
Operadores aritméticos: +, -, *, /, %
Asignación: =
Operadores de comparación: ==, !=, <, >, <=, >=
Operadores Booleanos: &&, ||, !
Operadores de acceso a punteros: *, &
Operadores de bits: &, |, ^, ~, <<, >>
Operadores compuestos:
Incremento y decremento de variables: ++, --
Asignación y operación: +=, -=, *=, /=, &=, |
=
5.1.2 Estructuras de control
Condicionales: if, if...else, switch case
Bucles: for, while, do... while
Bifurcaciones y saltos: break, continue, return,
goto
5.1.3 Variables
En cuanto al tratamiento de las variables también
comparte un gran parecido con el lenguaje C.
Constantes
HIGH/LOW: representan los niveles alto y bajo de
las señales de entrada y salida. Los niveles
altos son aquellos de 3 voltios o más.
INPUT/OUTPUT: entrada o salida.
false (falso): Señal que representa al cero
lógico. A diferencia de las señales HIGH/LOW, su
nombre se escribe en letra minúscula.
true (verdadero): Señal cuya definición es más
amplia que la de false. Cualquier número entero
diferente de cero es "verdadero", según
el álgebra de Boole, como en el caso de -200, -1
o 1. Si es cero, es "falso".
Tipos de datos
void, boolean, char, unsigned char, byte, int,
unsigned int, word, long, unsigned long, float,
double, string, array.
Conversión entre tipos
Estas funciones reciben como argumento una variable
de cualquier tipo y devuelven una variable
convertida en el tipo deseado.
char(), byte(), int(), word(), long(), float()
Cualificadores y ámbito de las variables
static, volatile, const
Utilidades
sizeof()
5.1.4 Funciones Básicas
E/S Digital
pinMode(pin, modo)
digitalWrite(pin, valor)
int digitalRead(pin)
E/S Analógica
analogReference(tipo)
int analogRead(pin)
analogWrite(pin, valor)
E/S Avanzada
shiftOut(dataPin, clockPin, bitOrder, valor)
unsigned long pulseIn(pin, valor)
Tiempo
unsigned long millis()
unsigned long micros()
delay(ms)
delayMicroseconds(microsegundos)
Matemáticas
min(x, y), max(x, y), abs(x), constrain(x, a,
b), map(valor, fromLow, fromHigh, toLow,
toHigh), pow(base, exponente), sqrt(x)
Trigonometría
sin(rad), cos(rad), tan(rad)
Números aleatorios
randomSeed(semilla), long random(máx), long
random(mín, máx)
Bits y Bytes
lowByte(), highByte(), bitRead(), bitWrite(),
bitSet(), bitClear(), bit()
Interrupciones externas
attachInterrupt (interrupción, función, modo)
detachInterrupt (interrupción)
Interrupciones
interrupts(), noInterrupts()
Comunicación por puerto serie
Las funciones de manejo del puerto serie deben ir
precedidas de la palabra "Serial" aunque no
necesitan ninguna declaración en la cabecera del
programa. Por esto se consideran funciones base del
lenguaje.23 Estas son las funciones para transmisión
serial:
begin(), available(), read(), flush(), print(),
println(), write()
5.1.5 Manipulación de puertos
Los registros de puertos permiten la manipulación a
más bajo nivel y de forma más rápida de los
contactos de entrada/salida del microcontrolador de
las placas Arduino.24 Los contactos eléctricos de
las placas Arduino están repartidos entre los
registros B(0-7), C (analógicos) y D(8-13).
Mediante estas variables ser observado y modificado
su estado:
DDR[B/C/D]: Data Direction Register (o dirección
del registro de datos) del puerto B, C ó D. Es
una variable de Lectura/Escritura que sirve para
especificar cuales contactos serán usados como
entrada y salida.
PORT[B/C/D]: Data Register (o registro de datos)
del puerto B, C ó D. Es una variable de
Lectura/Escritura.
PIN[B/C/D]: Input Pins Register (o registro de
pines de entrada) del puerto B, C ó D. Variable
de sólo lectura.
Por ejemplo, para especificar los contactos 9 a 13
como salidas y el 8 como entrada (puesto que el
puerto D usa los pines de la placa Arduino 8 al 13
digitales) bastaría utilizar la siguiente
asignación.
Por ejemplo, para especificar los contactos 9 a 13
como salidas y el 8 como entrada (puesto que el
puerto D usa los pines de la placa Arduino 8 al 13
digitales) bastaría utilizar la siguiente
asignación:
DDRD = B11111110;
Como se ha podido comprobar, el conocimiento del
lenguaje C, permite la programación en Arduino
debido a la similitud entre éste y el lenguaje
nativo del proyecto, lo que implica el aprendizaje
de algunas funciones específicas de que dispone el
lenguaje del proyecto para manejar los diferentes
parámetros. Se pueden construir aplicaciones de
cierta complejidad sin necesidad de muchos
conceptos previos.
5.2 AVR Libc
Los programas compilados con Arduino (salvo en las
placas con CorteX M3) se enlazan contra AVR
Libc por lo que tienen acceso a algunas de sus
funciones. AVR Libc es un proyecto de software
libre con el objetivo de proporcionar
unabiblioteca C de alta calidad para utilizarse con
el compilador GCC sobre microcontroladores Atmel
AVR. Se compone de 3 partes:
avr-binutils
avr-gcc
avr-libc
La mayoría del lenguaje de programación Arduino
está escrita con constantes y funciones de AVR y
ciertas funcionalidades sólo se pueden obtener
haciendo uso de AVR.
5.2.1 Interrupciones
Las señales de interrupción son las siguientes:
cli(): desactiva las interrupciones globales
sei(): activa las interrupciones
Esto afectará al temporizador y a la comunicación
serial. La función delayMicroseconds() desactiva
las interrupciones cuando se ejecuta.
5.2.2 Temporizadores
La función delay Microseconds() crea el menor
retardo posible del lenguaje Arduino que ronda los
2μs. Para retardos más pequeños se debe utilizar la
llamada de ensamblador 'nop' (no operación). Cada
sentencia 'nop' se ejecutará en un ciclo de máquina
(16 MHz) de aproximadamente 62,5ns.
5.2.3 Manipulación de puertos
La manipulación de puertos con código AVR es más
rápida que utilizar la función digitalWrite() de
Arduino.
5.2.4 Establecer Bits en variables
cbi y sbi son mecanismos estándar (AVR) para
establecer o limpiar bits en PORT y otras
variables.
5.3 Diferencias con Processing
La sintaxis del lenguaje de programación Arduino es
una versión simplificada de C/C++ y tiene algunas
diferencias respecto de Processing. Debido a que
Arduino está basado en C/C++ mientras que
Processing se basa en Java, existen varias
diferencias en cuanto a la sintaxis de ambos
lenguajes y el modo en que se programa:
5.3.1 Arreglos
Arduino Processing
int bar[8];
bar[0] = 1;
int[] bar = new
int[8];
bar[0] = 1;
int foo[] = { 0, 1,
2 };
int foo[] = { 0, 1,
2 };
o bien
int[] foo = { 0, 1,
2 };
5.3.2 Impresión de cadenas
Arduino Processing
Serial.println("hello
world");println("hello world");
int i = 5;
Serial.println(i);
int i = 5;
println(i);
int i = 5;
Serial.print("i = ");
Serial.print(i);
Serial.println();
int i="5;"
println("i =" + i);
5.4 Ejemplo sencillo de programación en Arduino
El primer paso antes de comprobar que la instalación es
correcta y empezar a trabajar con Arduino, es usar
ejemplos prácticos que vienen disponibles con el
dispositivo. Se recomienda abrir el ejemplo “led_blink”
el cual crea una intermitencia por segundo en un led
conectado en el pin 13. El código necesario es el
siguiente:# define LED_PIN 13void setup () { // Activado del contacto 13 para salida digital pinMode (LED_PIN, OUTPUT);}// Bucle infinitovoid loop () { // Encendido del diodo LED enviando una señal alta digitalWrite (LED_PIN, HIGH); // Tiempo de espera de 1 segundo (1000 ms) delay (1000); // Apagado del diodo LED enviando una señal baja. digitalWrite (LED_PIN, LOW); // Tiempo de espera de 1 segundo delay (1000);}
6. BIBLIOTEA DE ARDUINO
Las bibliotecas estándar que ofrece Arduino son las
siguientes:
1.1 Serial
Lectura y escritura por el puerto serie.
6.2 EEPROM
Lectura y escritura en el almacenamiento permanente.29
read(), write()
6.3 Ethernet
Conexión a Internet mediante “Arduino Ethernet
Shield“. Puede funcionar como servidor que acepta
peticiones remotas o como cliente. Se permiten hasta
cuatro conexiones simultáneas.30 Los comandos usados
son los siguientes:
Servidor: Server(), begin(), available(), write(),
print(), println()
Cliente: Client(), connected(), connect(), write(),
print(), println(), available(), read(), flush(),
stop()
6.4 Firmata
Es una biblioteca de comunicación con aplicaciones
informáticas utilizando el protocolo estándar del
puerto serie.31
6.5 LiquidCrystal
Control de LCDs con chipset Hitachi HD44780 o
compatibles.32 La biblioteca soporta los modos de 4 y
8 bits.
6.6 Servo
Biblioteca para el control de servo motores.33 A
partir de la versión 0017 de Arduino la biblioteca
soporta hasta 12 motores en la mayoría de las placas
Arduino y 48 en la Arduino Mega. Estos son los
comandos usados:
attach(), write(), writeMicroseconds(), read(),
attached(), detach()
6.7 SoftwareSerial
Comunicación serie en contactos digitales. Por
defecto Arduino incluye comunicación sólo en los
contactos 0 y 1 pero gracias a esta biblioteca puede
realizarse esta comunicación con los restantes.
6.8 Stepper
Control de motores paso a paso unipolares o bipolares.
Stepper(steps, pin1, pin2), Stepper(steps, pin1,
pin2, pin3, pin4), setSpeed(rpm), step(steps)
6.9 Wire
Envío y recepción de datos sobre una red de
dispositivos o sensores mediante Two Wire
Interface (TWI/I2C).
Las bibliotecas Matrix y Sprite de Wiring son totalmente
compatibles con Arduino y sirven para manejo de
matrices de diodos LED. También se ofrece información
sobre diversas bibliotecas desarrolladas por diversos
colaboradores que permiten realizar muchas tareas.
6.10 Creación de bibliotecas
Los usuarios de Arduino tienen la posibilidad de
escribir sus propias bibliotecas. Ello permite
disponer de código que puede reutilizarse en otros
proyectos, mantener el código fuente principal
separado de las bibliotecas y la organización de los
programas construidos es más clara.
6.10.1 Ejemplo de biblioteca
El siguiente ejemplo permite el envío de caracteres
mediante el código Morse:
Se crea el archivo Morse.h que incluye la definición
de la clase Morse que tiene 3 funciones: un
constructor (Morse()), una función para enviar 1 punto
(dot()) y una función para enviar una raya (dash()).
La variable _pin permite indicar el contacto a usar./* Morse.h - Biblioteca para el envío de Código Morse. Creado por David A. Mellis, el 2 de noviembre de 2007. Liberado al dominio público.*/ # ifndef Morse_h# define Morse_h # include "WProgram.h" class Morse{ public: Morse(int pin); void dot(); void dash(); private: int _pin;}; # endif
Debe ser creado el archivo Morse.cpp con el código, es
decir con la implementación de los métodos declarados:
/* Morse.cpp - Biblioteca para el envío de Código Morse. Creado por David A. Mellis, el 2 de noviembre de 2007. Liberado al dominio público.*/ # include "WProgram.h"# include "Morse.h" Morse::Morse(int pin){ pinMode(pin, OUTPUT); _pin = pin;} void Morse::dot(){ digitalWrite(_pin, HIGH); delay(250); digitalWrite(_pin, LOW); delay(250);} void Morse::dash(){ digitalWrite(_pin, HIGH); delay(1000); digitalWrite(_pin, LOW); delay(250);}
La biblioteca creada así puede ser usada mediante el
comando #include. Si se desea enviar una petición de
auxilio SOS por el contacto 13 bastaría con llamar a
Morse(13) y ejecutar la siguiente secuencia:
morse.dot(); morse.dot(); morse.dot(); morse.dash(); morse.dash(); morse.dash(); morse.dot(); morse.dot(); morse.dot();
2. INSTALACION EN DIFERENTES ENTORNOS
Windows
Los pasos a seguir son los
siguientes:
Interfaz del entorno de desarrollo
Arduino en el Sistema Operativo
Windows.
Descargar las versiones más reciente
de Java Runtime Enviroment (J2RE) y
del IDE Arduino.
Instalar los controladores FTDI USB, con la placa Arduino
conectada.
Ejecutar el IDE Arduino para abrir la interfaz y
configurar el puerto USB donde está conectada la placa.
GNU/Linux
Interfaz del entorno de desarrollo
Arduino S.O. GNU/Linux.
Para instalar Arduino en un sistema GNU/Linux necesitamos los
siguientes programas para resolver las dependencias:
Sun java runtime, jre.
avr-gcc, compilador para la familia de microcontroladores
avr de atmel.
avr-libc, libc del compilador avr-gcc.
En algunas distribuciones conviene desinstalar, si no es
necesario, el programa "brltty" que permite el acceso al
terminal a personas invidentes. Para concluir, se descarga
elframework de Arduino, se descomprime y ejecuta
EQUIPO DE DESARROLLO
El núcleo del equipo de desarrollo de Arduino está formado
porMassimo Banzi, David Cuartielles, Tom Igoe, Gianluca
Martino,David Mellis y Nicholas Zambetti.
PDUINO
Pduino nace de la fusión de los proyectos Pure Data y
Arduino. Ambos proyectos de fuente abierta permiten trabajar
con interfaz gráfica. Cargando el firmware de Pure Data (PD)
a la placa Arduino se puede acceder a ella mediante el
lenguaje de programación gráfico.
MINIBLOQ
Minibloq es un entorno gráfico de programación que puede
generar código nativo de Arduino y escribirlo directamente en
la memoria flash de la placa. Tiene un modo que permite
visualizar el código generado, el cual también puede ser
copiado y pegado en el Arduino-IDE, para los usuarios que
intentan hacer el pasaje de una herramienta gráfica a la
programación en sintaxis C/C++. Minibloq es de uso libre y
sus fuentes también están disponibles gratuitamente. Una
característica importante, es que puede correr también en la
computadora portátil OLPC, mediante el software Wine.
PHYSICAL ETOYS
Physical Etoys es una extensión libre y gratuita que permite
que diversos dispositivos electrónicos como Lego NXT, las
placas Arduino, Sphero, Kinect, Joystick Wiimote, entre
otros, puedan ser programados fácilmente y que interactúen
entre sí gracias a su sistema de bloques.
En el caso de Arduino, Physical Etoys ofrece dos modos de
programación:
1. El modo "directo", en el cual los programas se ejecutan en
la computadora del usuario y las órdenes se transmiten
inmediatamente a través del puerto serie.
2. El modo "compilado", en el cual los programas se traducen
a C++ y se bajan a la placa, para luego ejecutarse de
manera independiente de la computadora.
El modo "directo" permite modificar los programas y ver los
cambios producidos de manera inmediata en el comportamiento
del robot, lo cual facilita la programación, sobre todo al
usuario inexperto. Asimismo, permite ver constantemente los