Beruflich Dokumente
Kultur Dokumente
LENGUAJE ENSAMBLADOR
Como el proceso de escribir un cdigo ejecutable era considerablemente
arduo, en consecuencia fue creado el primer lenguaje de programacin
denominado ensamblador (ASM). Siguiendo la sintaxis bsica del
Otra limitacin es que el tamao del programa no puede superar los 2K de memoria,
aunque para los ejemplos que vamos a hacer aqu te sobra. Bien ya tenemos
solucionado el tema del compilador, bien sea por que con la demo nos apaamos o
porque tengo un amigo cojonudo que me va ha prestar uno con licencia para que pueda
realizar el curso (je,je..
).
Bien ya tengo el compilador y puedo empezar a programar y a crear mis .HEX (para el
que no lo sepa es el archivo que tenemos que cargar en nuestro PIC para que funcione).
Todo esto es muy elemental para el que lo sabe, pero como dije al principio este curso
est pensado tambin para el que no tiene ni idea de programar microcontroladores. As
es que sigamos.
Una vez que tenemos nuestro .HEX tendremos que comprobar que funciona realmente
para ello tenemos dos opciones:
Montar nuestro circuito con todos sus componentes, programar el PIC con un
programador comercial como el PICSTART de Microchip o con uno de los
muchos que hay en Internet que sirven perfectamente para empezar a
programar estos dispositivos.
Utilizar un programa de simulacin electrnica como Proteus que tiene la
ventaja de disponer de una extensa biblioteca de microcontroladores PIC
junto con los componentes auxiliares que normalmente utilizan estos
dispositivos: leds, pantallas LCD, teclados, memorias, etc.
Bien nosotros utilizaremos la segunda opcin, aunque en una prctica veremos como
hacerlo de la primera forma.
La versin de evaluacin de Proteus te la puedes descargar desde aqu:
http://www.labcenter.co.uk/download/prodemo_download.cfm
Claro que tiene limitaciones, sino no sera una demo, la principal es que no podemos
guardar nuestros
trabajos y la segunda es que no lleva incorporado muchas de las libreras dinmicas
necesarias
para realizar la simulacin de algunos microcontrloladores. Mira a ver si el amigo que te
dejo el compilador te puede dejar tambin una licencia para este magnfico Simulador.
Nota: en este sitio est prohibido el mostrar facilitar enlaces a lugares de descarga de
dudosa reputacin. Lo digo tambien para que se tenga en cuenta en el foro que
prximamente estar a vuestra disposicin y donde podremos exponer nuestras dudas
experiencias sobre este tema y sobre otros que irn saliendo.
Otra cosa que quiero aclarar es que el curso va a ser todo lo prctico que pueda y la
forma de proceder ser
la siguiente: ir mostrando uno varios ejemplos de cada tema y posteriormente har
una Explicacin de los mismos. Yo no se vosotros pero yo cada vez que he querido
aprender algo nuevo lo primero que he hecho a sido mirar los ejemplos, despus
vosotros tendris que comprobar que lo que he dicho es cierto y que el ejemplo compila
y funciona sin errores.
Para facilitar la navegacin el prximo da presentar el ndice de los tems que va a
tratar el curso
Aunque puede que lo vaya modificando segn vallamos avanzando.
Un saludo y hasta el prximo da.
Arduino
En este artculo se detectaron varios problemas, por favor, edtalo para
mejorarlo:
Arduino (US)
Genuino
Tipo
Placa
computadora(microcontrolador de placasimp
le)
CPU
Memoria
SRAM
Capacidad de
almacenamient
o
Pgina web
www.arduino.cc
Arduino (en EEUU, Genuino a nivel internacional) es una compaa de hardware libre y
una comunidad tecnolgica que disea y manufactura placas computadora de desarrollo
de hardware y software, compuesta respectivamente por circuitos impresos que integran
un microcontrolador y un entorno de desarrollo (IDE), en donde se programa cada placa.
Arduino se enfoca en acercar y facilitar el uso de la electrnica y programacin de
sistemas embebidos en proyectos multidisciplinarios1 2 . Toda la plataforma, tanto para sus
componentes de hardware como de software, son liberados con licencia de cdigo
abierto que permite libertad de acceso a ellos3 .
El hardware consiste en una placa de circuito impreso con un microcontrolador,
usualmente Atmel AVR, puertos digitales y analgicos de entrada/salida,4 , los cuales
pueden conectarse a placas de expansin (shields), que amplan las caractersticas de
funcionamiento de la placa Arduino. Asimismo, posee un puerto de conexin USB desde
donde se puede alimentar la placa y establecer comunicacin con el computador.
Por otro lado, el software consiste en un entorno de desarrollo (IDE) basado en el entorno
de Processing y lenguaje de programacin basado en Wiring, as como en el cargador de
arranque (bootloader) que es ejecutado en la placa.4 El microcontrolador de la placa se
programa mediante un computador, usando una comunicacin serial mediante un
convertidor de niveles RS-232 a TTL serial.
La primera placa Arduino fue introducida en 2005, ofreciendo un bajo costo y facilidad de
uso para novatos y profesionales. Buscaba desarrollar proyectos interactivos con su
entorno mediante el uso de actuadores y sensores. A partir de octubre de 2012, se
incorporaron nuevos modelos de placas de desarrollo que usan microcontroladores Cortex
M3, ARM de 32 bits,5 que coexisten con los originales modelos que integran
microcontroladores AVR de 8 bits. ARM y AVR no son plataformas compatibles en cuanto a
su arquitectura y por lo que tampoco lo es su set de instrucciones, pero se pueden
programar y compilar bajo el IDE predeterminado de Arduino sin ningn cambio.
Las placas Arduino estn disponibles de dos formas: ensambladas o en forma de
kits "Hazlo t mismo" (por sus siglas en ingls "DIY"). Los esquemas de diseo del
Hardware estn disponibles bajo licencia Libre, con lo que se permite que cualquier
persona pueda crear su propia placa Arduino sin necesidad de comprar una prefabricada.
Adafruit Industries estim a mediados del ao 2011 que, alrededor de 300,000 placas
Arduino haban sido producidas comercialmente y en el ao 2013 estim que alrededor de
700.000 placas oficiales de la empresa Arduino estaban en manos de los usuarios.
Arduino se puede utilizar para desarrollar objetos interactivos autnomos o puede ser
conectado a software tal como Adobe Flash, Processing, Max/MSP, Pure Data, etc. Una
tendencia tecnolgica es utilizar Arduino como tarjeta de adquisicin de datos
desarrollando interfaces en software como JAVA, Visual Basic y LabVIEW 6 . Las placas se
pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede
descargar gratuitamente.
El proyecto Arduino recibi una mencin honorfica en la categora de Comunidades
Digitales en el Prix Ars Electrnica de 2006 7 8 9 .
ndice
[ocultar]
1Historia
2Hardware
3Equipo de desarrollo
4Aplicaciones
5Esquema de conexiones
5.1Entradas y salidas
6Especificaciones
7.1.1Sintaxis bsica
7.1.2Estructuras de control
7.1.3Variables
7.1.3.1Constantes
7.1.3.2Tipos de datos
7.1.3.5Utilidades
7.1.4Funciones bsicas
7.1.4.1E/S digital
7.1.4.2E/S analgica
7.1.4.3E/S avanzada
7.1.4.4Tiempo
7.1.4.5Matemticas
7.1.4.6Trigonometra
7.1.4.7Nmeros aleatorios
7.1.4.8Bits y Bytes
7.1.4.9Interrupciones externas
7.1.4.10Interrupciones
7.1.5Manipulacin de puertos
7.2AVR Libc
7.2.1Interrupciones
7.2.2Temporizadores
7.2.3Manipulacin de puertos
7.3.1Arreglos
7.3.2Impresin de cadenas
7.4Ejemplo sencillo de programacin en Arduino
8Bibliotecas en Arduino
o
8.1Serial
8.2EEPROM
8.3Ethernet
8.4Firmata
8.5LiquidCrystal
8.6Servo
8.7SoftwareSerial
8.8Stepper
8.9Wire
8.10Creacin de bibliotecas
8.10.1Ejemplo de biblioteca
9Ejemplos de Cdigo
10.1Windows
10.2GNU/Linux
11Otras interfaces de programacin
11.1Pduino
11.2Minibloq
11.3Physical Etoys
12Vase tambin
13Referencias
o
13.1Bibliografa
14Enlaces de externos
Historia[editar]
Arduino se inici en el ao 2006 como un proyecto para estudiantes en el Instituto IVREA,
en Ivrea (Italia). En ese tiempo, los estudiantes usaban el microcontrolador BASIC Stamp,
cuyo coste era de 100 dlares estadounidenses, lo que se consideraba demasiado costoso
para ellos. Por aquella poca, uno de los fundadores de Arduino, Massimo Banzi, daba
clases en Ivrea.11
El nombre del proyecto viene del nombre del Bar di Re Arduino (Bar del Rey Arduino)
donde Massimo Banzi pasaba algunas horas. El rey Arduino fue rey de Italia entre los
aos 1002 y 1014. En la creacin de este proyecto contribuy el estudiante colombiano
Hernando Barragn, quien desarroll la tarjeta electrnica Wiring, el lenguaje de
programacin y la plataforma de desarrollo.12 Una vez concluida dicha plataforma, los
investigadores trabajaron para hacerlo ms ligero, ms econmico y disponible para la
comunidad de cdigo abierto (hardware y cdigo abierto). El instituto finalmente cerr sus
puertas, as que los investigadores, entre ellos el espaol David Cuartielles, promovieron la
idea.11 Banzi afirmara aos ms tarde, que el proyecto nunca surgi como una idea de
negocio, sino como una necesidad de subsistir ante el inminente cierre del Instituto de
diseo Interactivo IVREA. Es decir, que al crear un producto de hardware abierto, este no
podra ser embargado.
Posteriormente, Google colabor en el desarrollo del Kit Android ADK (Accesory
Development Kit), una placa Arduino capaz de comunicarse directamente con telfonos
mviles inteligentes bajo el sistema operativo Android para que el telfono controle luces,
motores y sensores conectados de Arduino.13 14
Para la produccin en serie de la primera versin se tom en cuenta que el coste no fuera
mayor de 30 euros, que fuera ensamblado en una placa de color azul, deba ser Plug and
Play y que trabajara con todas las plataformas informticas tales
como MacOSX, Windows y GNU/Linux. Las primeras 300 unidades se las dieron a los
alumnos del Instituto IVREA, con el fin de que las probaran y empezaran a disear sus
primeros prototipos.
En el ao 2005, se incorpor al equipo el profesor Tom Igoe,12 que haba trabajado en
computacin fsica, despus de que se enterara del mismo a travs de Internet. Igoe
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 realizar tareas ms pesadas. 15
Hardware[editar]
Los modelos de Arduino se categorizan en placas de desarrollo, placas de expansin
(shields), kits, accesorios e impresoras 3d .
Placas
Arduino Galileo16 , Arduino Uno, Arduino Leonardo, Arduino Due, Arduino Yn,
Arduino Tre (En Desarrollo), Arduino Zero, Arduino Micro, Arduino Esplora, Arduino
Mega ADK, Arduino Ethernet, Arduino Mega 2560, Arduino Robot, Arduino Mini,
Arduino Nano, LilyPad Arduino Simple, LilyPad Arduino SimpleSnap, LilyPad
Arduino, LilyPad Arduino USB, Arduino Pro Mini, Arduino Fio, Arduino Pro, Arduino
MKR1000/Genuino MKR1000, Arduino MICRO/Genuino MICRO, Arduino
101/Genuino 101, Arduino Gemma.
Placas de expansin (shields)
Arduino GSM Shield, Arduino Ethernet Shield, Arduino WiFi Shield, Arduino
Wireless SD Shield, Arduino USB Host Shield, Arduino Motor Shield, Arduino
Wireless Proto Shield, Arduino Proto Shield.
Kits
The Arduino Starter Kit, Arduino Materia 101.
Accesorios
TFT LCD Screen, USB/Serial Light Adapter, Arduino ISP, Mini USB/Serial Adapter.
Impresoras 3d
Arduino Materia 101.
Equipo de desarrollo[editar]
El ncleo del equipo de desarrollo de Arduino est formado
por Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca
Martino, David Mellis y Nicholas Zambetti.
Aplicaciones[editar]
La plataforma Arduino ha sido usada como base en diversas
aplicaciones electrnicas:
The Humane PC: equipo que usa un mdulo Arduino para emular
un computador personal, con un monitor de televisin y un teclado
para computadora21
Impresoras 3D
Esquema de conexiones[editar]
Entradas y salidas[editar]
Poniendo de ejemplo al mdulo Diecimila, este consta de 14 entradas
digitales configurables como entradas y/o salidas que operan a 5
voltios. Cada contacto puede proporcionar o recibir como mximo 40
mA. Los contactos 3, 5, 6, 9, 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 comunicacin USB. Diecimila
tambin tiene 6 entradas analgicas que proporcionan una resolucin
de 10 bits. Por defecto, aceptan de 0 hasta 5 voltios (aunque es
posible cambiar el nivel ms alto utilizando el contacto Aref y algn
cdigo de bajo nivel).
Especificaciones[editar]
Las especificaciones de los distintos modelos de placas Arduino se
resumen en la siguiente tabla:
Volt
aje
Microcont
Modelo
de
rolador
entr
ada
Volt
Frecu
Entra
Interfa
aje
Entradas/
P
Mem
encia
das
UA
Cargad
de
del
salidas
W
oria
de
anal
RT
or
program
siste
digitales
M
flash
reloj
gicas
acin
ma
12
12 4
512K
Due
b
Nativa
USB
16MH
20*
z
12
32Kb
Leonard Nativa
o
USB
16MH
14
z
32Kb
USB va
Optiboo
ATMega
t
6U2
16MH
14
z
32Kb
Optiboo USB
t
va FTD
16MH 14
Arduino
ATmega3 7-
5V
Uno SMD
(desconti 28
nuado)
Arduino
Uno ATmega3
(desconti 28
nuado)
Arduino
Duemilan
ATmega3
ove
28
(desconti
nuado)
Arduino
Bluetoot
ATmega3
h
28
(desconti
nuado)
75V
12V
16MH
14
z
32Kb
USB va
Optiboo
ATMega
t
U2
75V
12V
16MH
14
z
32Kb
Atmega USB va
BOOT FTDI
1,25V
5,5V
16MH
14
z
32Kb
Atmega Serial B
BOOT uetooth
Cabece
a
Atmega
32Kb
compati
BOOT
le con
FTDI
Cabece
a
Atmega
32Kb
compati
BOOT
le con
FTDI
Arduino
Pro
ATmega3 3,35
3,3V 8MHz 14
3.3V/8MH 28
-12V
z
Arduino
Pro
ATmega3 5 5V
5V/16MH 28
12V
z
16MH
14
z
ATMega
U2
12V
Ethernet
Pro
ATmega3 75V
(desconti 28
12V
nuado)
16MH
14
z
Cabece
a
Atmega
32Kb
compati
BOOT
le con
FTDI
Arduino
ATmega2 7Mega
5V
560
12V
2560 R3
16MH
54
z
16
14 4
USB va
256K STK500
ATMega
b
v2
6U2
75V
12V
16MH
54
z
16
14 4
USB va
256K STK500
ATMega
b
v2
U2
75V
12V
16MH
54
z
16
14 4
Arduino
Mega
ATmega2
2560
560
(desconti
nuado)
Arduino
Mega ATmega1
(desconti 280
nuado)
16
14 4
Cabece
a
256K STK500
compati
b
v2
le con
FTDI
Mega Pro
ATmega2 55V
16
14 4
5V
16MH 54
560
12V
v2
a
compati
le con
FTDI
Arduino
Mini 04 ATmega3
7-9V 5V
(desconti 28
nuado)
16MH
14
z
32Kb
Atmega Cabece
BOOT a Serial
Arduino ATmega3
7-9V 5V
Mini 05 28
16MH
14
z
32Kb
Atmega Cabece
BOOT a Serial
Cabece
a
Atmega
32Kb
compati
BOOT
le con
FTDI
Cabece
a
Atmega
32Kb
compati
BOOT
le con
FTDI
Cabece
a
compati
Atmega le con
32Kb
BOOT FTDI o
inalmb
ca va
XBee1
16
14 4
Cabece
a
256K STK500
compati
b
v2
le con
FTDI
16MH
12
z
32Kb
DiskLoa Nativa
der
USB
3,35
3,3V 8MHz 12
-12V
32Kb
DiskLoa Nativa
der
USB
Cabece
a
Atmega
32Kb
compati
BOOT
le con
FTDI
Arduino
Pro Mini ATmega3 3,35
3,3V 8MHz 14
3.3V/8MH 28
-12V
z
Arduino
Pro Mini ATmega3 5 5V
5V/16MH 28
12V
z
16MH
14
z
55V
12V
LilyPad
Arduino ATmega3 2,73,3V 8MHz 14
328 Main 28
5,5V
Board
LilyPad
ATmega3 2,7- 3,3V 8MHz 9
Arduino
28
5,5V
Simple
Board
02
FTDI
Los modelos Arduino Diecimila, Arduino Duemilanove y Arduino Mega
estn basados en los microcontroladores ATmega168, ATmega328 y
ATmega1280
ATmega168
Voltaje
operativo
ATmega328
ATmega1280
5V
5V
5V
Voltaje de
entrada
recomendado
7-12 V
7-12 V
7-12 V
Voltaje de
entrada lmite
6-20 V
6-20 V
6-20 V
Entradas y
salidas
digitales
14 (6
proporcionan PWM)
14 (6
proporcionan PWM)
54 (14
proporcionan PWM)
Entradas
analgicas
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)
1 KB
2 KB
8 KB
512 bytes
1 KB
4 KB
16 MHz
16 MHz
16 MHz
SRAM
EEPROM
Frecuencia de
reloj
Delimitadores:;, {}
Comentarios: //, /* */
Operadores aritmticos: +, -, *, /, %
Asignacin: =
Operadores compuestos:
Estructuras de control[editar]
Variables[editar]
En cuanto al tratamiento de las variables tambin comparte un gran
parecido con el lenguaje C.
Constantes[editar]
Tipos de datos[editar]
void, boolean, char, unsigned char, byte, int, unsigned int, word,
long, unsigned long, float, double, string, array.
Utilidades[editar]
sizeof()
Funciones bsicas[editar]
E/S digital[editar]
pinMode(pin, modo).
digitalWrite(pin, valor).
int digitalRead(pin).
E/S analgica[editar]
analogReference(tipo)
int analogRead(pin)
analogWrite(pin, valor)
E/S avanzada[editar]
Tiempo[editar]
delay(ms)
delayMicroseconds(microsegundos)
Matemticas[editar]
Trigonometra[editar]
Nmeros aleatorios[editar]
Bits y Bytes[editar]
Interrupciones externas[editar]
detachInterrupt(interrupcin)
Interrupciones[editar]
interrupts(), noInterrupts()
Manipulacin de puertos[editar]
Los registros de puertos permiten la manipulacin a ms bajo nivel y
de forma ms rpida de los contactos de entrada/salida del
microcontrolador de las placas Arduino.26 Los contactos elctricos de
las placas Arduino estn repartidos entre los registros B(0-7), C
(analgicos) y D(8-13). Mediante estas variables ser observado y
modificado su estado:
AVR Libc[editar]
Los programas compilados con Arduino (salvo en las placas con
CorteX M3) se enlazan contra AVR Libc24 por lo que tienen acceso a
algunas de sus funciones. AVR Libc es un proyecto de software libre
con el objetivo de proporcionar una biblioteca 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
Processing
int bar[8];
bar[0] = 1;
bar[0] = 1;
int foo[] = { 0, 1, 2 };
int foo[] = { 0, 1, 2 };
o bien
int[] foo = { 0, 1, 2 };
Impresin de cadenas[editar]
Arduino
Processing
Serial.println("hello world");
println("hello world");
int i = 5;
int i = 5;
Serial.println(i);
println(i);
int i = 5;
Serial.print("i = ");
int i="5";
Serial.print(i);
Serial.println();
Bibliotecas en Arduino[editar]
Las bibliotecas estndar que ofrece Arduino son las siguientes:30
Serial[editar]
Lectura y escritura por el puerto serie.
EEPROM[editar]
Lectura y escritura en el almacenamiento permanente. 31
read(), write()
Ethernet[editar]
Conexin a Internet mediante Arduino Ethernet Shield. Puede
funcionar como servidor que acepta peticiones remotas o como
cliente. Se permiten hasta cuatro conexiones simultneas.32 Los
comandos usados son los siguientes:
Firmata[editar]
LiquidCrystal[editar]
Control de LCDs con chipset Hitachi HD44780 o compatibles.34 La
biblioteca soporta los modos de 4 y 8 bits.
Servo[editar]
Biblioteca para el control de servo motores.35 A partir de la versin
0017 de Arduino la biblioteca soporta hasta 12 motores en la mayora
de las placas Arduino y 48 en la Arduino Mega. Estos son los
comandos usados:
SoftwareSerial[editar]
Comunicacin serie en contactos digitales.36 Por defecto Arduino
incluye comunicacin slo en los contactos 0 y 1 pero gracias a esta
biblioteca puede realizarse esta comunicacin con los restantes.
Stepper[editar]
Control de motores paso a paso unipolares o bipolares.37
Wire[editar]
Envo y recepcin de datos sobre una red de dispositivos o sensores
mediante Two Wire Interface (TWI/I2C).38
Las bibliotecas Matrix y Sprite de Wiring son totalmente compatibles
con Arduino y sirven para manejo de matrices de diodos LED.
Tambin se ofrece informacin sobre diversas bibliotecas
desarrolladas por diversos colaboradores que permiten realizar
muchas tareas.
Creacin de bibliotecas[editar]
Los usuarios de Arduino tienen la posibilidad de escribir sus propias
bibliotecas.39 Ello permite disponer de cdigo que puede reutilizarse
en otros proyectos, mantener el cdigo fuente principal separado de
las bibliotecas y la organizacin de los programas construidos es ms
clara.
Ejemplo de biblioteca[editar]
El siguiente ejemplo permite el envo de caracteres mediante
el cdigo Morse:
Se crea el archivo Morse.h que incluye la definicin de la clase Morse
que tiene 3 funciones: un constructor (Morse()), una funcin para
enviar 1 punto (dot()) y una funcin para enviar una raya (dash()). La
variable _pin permite indicar el contacto a usar.
/*
Morse.h - Biblioteca para el envo de Cdigo Morse.
{
digitalWrite(_pin, HIGH);
delay(250);
digitalWrite(_pin, LOW);
delay(250);
}
void Morse::dash()
{
digitalWrite(_pin, HIGH);
delay(1000);
digitalWrite(_pin, LOW);
delay(250);
}
Ejemplos de Cdigo[editar]
La pgina de Arduino cuenta con una serie de ejemplos para
comenzar a entender su funcionamiento, con componentes base tales
como Pantallas, LEDs, Potenciometros, etc.
Ejemplo de parpadeo de LED
/*
Blink
Turns on an LED on for one second, then off for one
second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
digitalWrite(led, LOW);
// a
pinMode(36, OUTPUT);
// b
pinMode(38, OUTPUT);
// c
pinMode(40, OUTPUT);
// d
pinMode(42, OUTPUT);
//e
pinMode(44, OUTPUT);
//f
pinMode(46, OUTPUT);
//g
}
void display (int a, int b, int c, int d, int e, int
f, int g)// Funcin del display
{
digitalWrite (34,a);
digitalWrite (36,b);
digitalWrite (38,c);
digitalWrite (40,d);
digitalWrite (42,e);
digitalWrite (44,f);
digitalWrite (46,g);
}
void loop(){
display (0,1,1,0,0,0,0); //
mostrar 1 en el
display
delay(1000);
display (1,1,0,1,1,0,1); //
mostrar 2 en el display
delay(1000);
display (1,1,1,1,0,0,1); //
delay(1000);
mostrar 3 en el display
Windows[editar]
Los pasos a seguir son los siguientes:
GNU/Linux[editar]
Adobe Director
C#
Gambas
Java
Mathematica
Matlab
Perl
Php
Processing
Pure Data
Python
Ruby
VBScript
Pduino[editar]
Patch Pduino.
Minibloq[editar]
Pantalla de Minibloq.
Physical Etoys[editar]
Artculo principal: Physical Etoys
Vase tambin[editar]
Cuando GCC est construido para ejecutarse en un sistema como Linux, Windows o mac
OS y generar cdigo para un microcontrolador AVR, entonces se denomina avr-gcc
avr-gcc es el compilador que usa el IDE de arduino para convertir el sketch en C++ a un
fichero binario (.hex) que es el que se carga en la flash del MCU y que ejecuta.
Informacin sobre las
binutils: http://www.atmel.com/webdoc/AVRLibcReferenceManual/overview_1overview_bin
utils.html
Proyecto GCC: https://gcc.gnu.org/
Pero para programar proyectos de complejidad media, la mayora de los comandos que
necesitemos con Arduino los encontraremos en la referencia de programacin de Arduino
en el Arduino Reference, que es donde debemos recurrir para cualquier duda de
programacin que surja. Arduino provee de unas libreras que facilitan la programacin del
microcontrolador. http://arduino.cc/en/Reference/HomePage
El gran xito de Arduino en parte se debe a que nos permite programar un MCU sin tener
que saber todo lo anterior y nos da unas herramientas sencillas y especficas para
programar unos microcontroladores que suministra en sus placas.
Por ejemplo veamos las funciones que nos ofrece para comunicar por el puerto
serie: http://arduino.cc/en/Reference/Serial
El lenguaje de programacin usado por Arduino est basado en
Processing: http://www.gnu.org/software/libc/index.html, es un lenguaje de programacin y
entorno de desarrollo integrado de cdigo abierto basado en Java, de fcil utilizacin, y
que sirve como medio para la enseanza y produccin de proyectos multimedia e
interactivos de diseo digital.
Web del proyecto de Proccesing: https://processing.org/
Processing en github: https://github.com/processing/processing
Processing es til cuando queremos comunicar Arduino con un ordenador y mostrar datos
o guardar datos, pero tambin podemos usar otros lenguajes de programacin como
python, .NET o cualquier otro que conozcamos.
Arduino trae algunos ejemplos para trabajar con Processing en el apartado
communication, por ejemplo, para hacer una grfica de datos
en http://arduino.cc/en/Tutorial/Graph
Ver el reference y la librera Serial de processing para darnos cuenta en la similitud de los
lenguajes: https://processing.org/reference/ y https://processing.org/reference/libraries/seria
l/
Tambin disponemos de una librera de Arduino dentro de processing que nos permite
interactuar entre processing y arduino: http://playground.arduino.cc/interfacing/processing
Por supuesto Arduino se puede programar en otros lenguajes y desde otros entornos de
programacin, lo que va a hacer que el cdigo sea diferente. Cabe destacar scratch como
un lenguaje visual que hace innecesario saber programacin o Atmel Studio que es la
herramienta que proporciona Atmel.
Ms informacin en: https://aprendiendoarduino.wordpress.com/2014/11/20/tema-4conceptos-basicos-de-programacion/
Como ya hemos visto, la estructura bsica del lenguaje de programacin de Arduino es
bastante simple y se compone de al menos dos partes. Estas dos partes necesarias, o
funciones, encierran bloques que contienen declaraciones, estamentos o instrucciones.
setup() http://arduino.cc/en/Reference/Setup
loop() http://arduino.cc/en/Reference/Loop
puedes retirar un PIC y colocar un Atmel as de simple. El circuito es otro. El programa es otro a
pesar de que funcionalmente puedan ejecutar las mismas tareas.
B-)
"Yo dorma y so que la vida era alegra.
Me despert y vi que la vida era servicio.
Serv y comprend que el servicio era alegra"
(Rabindranath Tagore)