Lenguaje de Programación Arduino - Wikilibros
Lenguaje de Programación Arduino - Wikilibros
Lenguaje de
programación
Arduino
Lenguaje de programación
Arduino
La plataforma Arduino se programa
mediante el uso de un lenguaje propio
basado en el lenguaje de programación de
alto nivel Processing que es similar a C++.
Funciones básicas y operadores
Sintaxis básica
Delimitadores:;, {}
Comentarios: //, /* */
Cabeceras: #define
Operadores aritméticos: +, -, *, /, %
Asignación: =
Operadores de comparación: ==, !=,:v <,
>, <=, >=
Operadores Booleanos: &&, ||, !
Operadores de acceso a punteros: *, &
Operadores de bits: &, |, ^, ~, <<, >>
Operadores compuestos:
Incremento y decremento de
variables: ++, --
Asignación y operación: +=, -=, *=,
/=, &=, |=
Estructuras de control
Variables
Constantes
Tipos de datos
Utilidades
sizeof()
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
Tiempo
Matemáticas
Trigonometría
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()
Manipulación de puertos
DDRD = B11111110;
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.[4]
Interrupciones
Temporizadores
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.
Arreglos
Arduino Processing
int foo[] = { 0, 1, 2 };
int[] foo = { 0, 1, 2 };
Impresión de cadenas
Arduino Processing
int i = 5; int i = 5;
Serial.println(i); println(i);
int i = 5;
Serial.print("i = "); int i="5";
Serial.print(i); println("i =" + i);
Serial.println();
# define LED_PIN 13
void setup () {
// Activado del contacto
13 para salida digital
pinMode (LED_PIN, OUTPUT);
}
// Bucle infinito
void 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);
}
Bibliografía
Oxer, Jonathan; Blemings, Hugh (28 de
diciembre de 2009). Practical Arduino:
Cool Projects for Open Source Hardware
(1ª edición). Apress. pp. 500. ISBN
1430224770.
http://www.apress.com/book/view/978
1430224778 .
Noble, Joshua (15 de julio de 2009).
Programming Interactivity: A Designer's
Guide to Processing, Arduino, and
openFramework (1ª edición). O'Reilly
Media. pp. 768. ISBN 0596154143.
http://oreilly.com/catalog/9780596800
581/ .
Banzi, Massimo (24 de marzo de 2009)
(en en). Getting Started with Arduino (1ª
edición). Make Books. pp. 128. ISBN
9781449363291.
https://books.google.com.ar/books?
id=Xd3SBQAAQBAJ&printsec=frontcove
r&hl=es&source=gbs_atb#v=onepage&q
&f=false .
Martínez de Carvajal Hedrich, Ernesto (1
de abril de 2016). 100 Proyectos de
Robótica con Bitbloq y Arduino (2ª
edición). Martínez de Carvajal Hedrich.
pp. 386. ISBN 978-8460843177.
Martínez de Carvajal Hedrich, Ernesto
(10 de octubre de 2016). 50 Proyectos
Tecnológicos - Robótica e Impresión 3D
(2ª edición). Martínez de Carvajal
Hedrich. pp. 296. ISBN 978-
8460890447.
Martínez de Carvajal Hedrich, Ernesto
(15 de diciembre de 2016). Tuneando a
Zowi - Proyectos de Robótica y
Actividades docentes (1ª edición).
Martínez de Carvajal Hedrich. pp. 218.
ISBN 978-8461774098.
Martínez de Carvajal Hedrich, Ernesto
(15 de agosto de 2017). Robótica
Educativa con mBot y Arduino (1ª
edición). Martínez de Carvajal Hedrich.
pp. 282. ISBN 978-8469749326.
«Language Reference» (en inglés).
http://arduino.cc. Consultado el 22 de
diciembre de 2013.
«Serial» (en inglés).
http://www.arduino.cc. Consultado el 22 de
diciembre de 2013.
«Port Registers» (en inglés).
http://www.arduino.cc. Consultado el 22 de
diciembre de 2013.
«AVR Code» (en inglés).
http://www.arduino.cc. Consultado el 22 de
diciembre de 2013.
«Arduino/Processing Language
Comparison» (en inglés).
http://www.arduino.cc. Consultado el 22 de
diciembre de 2013.
«Language Reference(API)/Processing
2+» (en inglés). http://processing.org/.
Consultado el 22 de diciembre de 2013."
Obtenido de
«https://es.wikibooks.org/w/index.php?
title=Lenguaje_de_programación_Arduino&oldid=3
68464»