Documente Academic
Documente Profesional
Documente Cultură
Ir a la navegaciónIr a la búsqueda
Sumario
1.1.1Sintaxis básica
1.1.2Estructuras de control
1.1.3Variables
1.1.3.1Constantes
1.1.3.2Tipos de datos
1.1.3.3Conversión entre tipos
1.1.3.4Cualificadores y ámbito de las variables
1.1.3.5Utilidades
1.1.4Funciones básicas
1.1.4.1E/S digital
1.1.4.2E/S analógica
1.1.4.3E/S avanzada
1.1.4.4Tiempo
1.1.4.5Matemáticas
1.1.4.6Trigonometría
1.1.4.7Números aleatorios
1.1.4.8Bits y Bytes
1.1.4.9Interrupciones externas
1.1.4.10Interrupciones
1.1.4.11Comunicación por puerto serie
1.1.5Manipulación de puertos
o 1.2AVR Libc
1.2.1Interrupciones
1.2.2Temporizadores
1.2.3Manipulación de puertos
1.2.4Establecer Bits en variables
o 1.3Diferencias con Processing
1.3.1Arreglos
1.3.2Impresión de cadenas
o 1.4Ejemplo sencillo de programación en Arduino
o 1.5Bibliografía
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:
o Incremento y decremento de variables: ++, --
o Asignación y operación: +=, -=, *=, /=, &=, |=
Estructuras de control[editar]
Variables[editar]
En cuanto al tratamiento de las variables también comparte un gran parecido con el lenguaje
C.
Constantes[editar]
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[editar]
void, boolean, char, unsigned char, byte, int, unsigned int, word, long, unsigned long,
float, double, string, array.
Utilidades[editar]
sizeof()
Funciones básicas[editar]
E/S digital[editar]
pinMode(pin, modo).
digitalWrite(pin, valor).
int digitalRead(pin).
E/S analógica[editar]
analogReference(tipo)
int analogRead(pin)
analogWrite(pin, valor)
E/S avanzada[editar]
Matemáticas[editar]
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[editar]
Números aleatorios[editar]
Bits y Bytes[editar]
Interrupciones externas[editar]
Interrupciones[editar]
interrupts(), noInterrupts()
Manipulación de puertos[editar]
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. [3] 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 se observa y se modificada 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:
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[editar]
Las señales de interrupción son las siguientes:
Arduino Processing
int foo[] = { 0, 1, 2 };
int[] foo = { 0, 1, 2 };
Impresión de cadenas[editar]
Arduino Processing
int i = 5; int i = 5;
Serial.println(i); println(i);
# 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[editar]
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/9781430224778.
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/9780596800581/.
Banzi, Massimo (24 de marzo de 2009) (en en). Getting Started with Arduino (1ª
edición). Make Books. pp. 128. ISBN9781449363291. https://books.google.com.ar/books?
id=Xd3SBQAAQBAJ&printsec=frontcover&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.