You are on page 1of 8

jueves, 28 de octubre de 2010

El lenguaje Arduino
El lenguaje El lenguaje del Arduino est basado en C/C++ y soporta todos las cobstrucciones C estandar y algunas caractersticas de C++. Lo vincula con el AVR Libc y permite el uso de cualquiera de sus funciones: mira el manual del usuario para ms detalles. Texto extraido de arduino.cc. [A] Estructura void setup() La funcin setup() es llamada cuando un sketch comienza. Se usa para inicializar variables, modos de pines, etc. La funcin setup solo se ejecutar una vez, despues de cada encendido o reseteo de la placa Arduino. void loop() Despues de crear la funcin setup(), la cual inicializa y establece los valores iniciales, la funcin loop() hace precisamente lo que su nombre sugiere, y realiza un bucle infinito, permitiendo a tu programa cambiar y responder. (1) Estructuras de Control if if...else for switch case while do...while break continue return goto (2) Sintaxis Adicional ; (punto y coma) {} (llaves) // (comentario de una linea) /* */ (comentario de mltiples lineas) #define (mejor usar const) #include (3) Operaciones Aritmticas = (asignamiento) + (adicin) - (substraccin) * (multiplicacin)

/ (divisin) % (mdulo) (4) Operadores de Comparacin == (igual) != (no igual) < (menor) > (mayor) <= (menor o igual) >= (mayor o igual) (5) Operadores Booleanos && (and) || (or) ! (not) (6) Operadores de Acceso a Punteros * (dereference operator) & (reference operator) (7) Operaciones con Bits & (and) | (or) ^ (xor) ~ (not) << (left) >> (right) (8) Operadores de composicin ++ (incremento) -- (decremento) += (adicin) -= (substraccin) *= (multiplicacin) /= (divisin) &= (and) |= (or) [B] Funciones pinMode(pin, mode) Configura el pin especificado para ser de entrada o salida. PIN (el nmero de pin), MODE (o INPUT o OUTPUT).

digitalWrite(pin, value)

Escribe un valor ALTO o BAJO en el pin digital. Si el pin ha sido configurado como OUTPUT, su voltaje se pondr al valor correspondiente: 5v (o 3.3v) para un valor ALTO, y 0v para un valor BAJO. Si el pin se configur como INPUT, escribiendo un valor ALTO activar una resistencia pull-up interna de 20K, escribiendo un valor BAJO desactivar el pull-up. PIN (el nmero de pin), MODE (o INPUT o OUTPUT).

int digitalRead(pin) Lee el valor del pin digital especificado, o ALTO o BAJO. PIN (el nmero de pin).

analogReference(type) Configura el voltaje de referencia usado en la entrada analogica. Las opciones son: DEFAULT (5v), INTERNAL (1.1v en el ATmega168 y 2.56v en el ATmega8) y EXTERNAL (el voltaje aplicado al pin AREF es usado como referencia).

int analogRead(pin) Lee el valor del pin analgico especificado. Convierte la entrada entre 0 y 5v en un valor entero entre 0 y 1023. PIN (el nmero de pin).

analogWrite(pin, value) - PWM Escribe un valor analgico (onda PWM) en un pin. Puede ser usado para variar la intensidad de un LED o mover un motor a diferentes velocidades. PIN (el nmero del pin), VALUE (entre 0 y 255).

shiftOut(dataPin, clockPin, bitOrder, value) Desplaza un byte de datos un bit de cada vez. Empieza por el mas (el de la izquierda) o el menos (el de la derecha) bit significante. Cada bit es escrito por oden en un pin de datos, despues de que un pin reloj conmute para indicar que el bit esta listo. DATAPIN (el pin el cual devuelve cada bit, int), CLOCKPIN (el pin que conmuta cuando el DATAPIN se pone al valor correcto, int), BITORDER (que ordena el desplazamiento de los bit, o MSBFIRST o LSBFIRST), VALUE (el dato a desplazar).

unsigned long pulseIn(pin, value) Lee un pulso (o ALTO o BAJO) de un pin. Por ejemplo, si el valor es ALTO, pulseIn() espera a que el pin se ponga en ALTO, empieza a contar, espera a que el pin se ponga BAJO y para de contar. PIN (nmero de pin), VALUE (tipo de pulso a leer, ALTO o BAJO), TIMEOUT (el nmero de microsegundo a esperar para que empiece el pilso, es opcional, por defecto es de un segundo, unsigned long). Devuelve la longitud del pulso en microsegundos o 0 si no ha empezado el pulso despues del TIMEOUT (unsigned long).

unsigned long millis() Devuelve el nmero de milisegundos desde que la placa Arduino empez a ejecutar el programa. Este nmero se pondr a 0 despues de aproximadamente 50 das. Devuelve un unsigned long.

unsigned long micros() Devuelve el nmero de microsegundos desde que la placa Arduino empez a ejecutar el programa. Este nmero se pondr a 0 despues de aproximadamente 70 minutos. Devuelve un unsigned long.

delay(ms) Pausa el programa por un tiempo (en milisegundos) especificado por el parmetro. MS (el nmero de milisegundos, unsigned long).

delayMicroseconds(us) Pausa el programa por un tiempo (en microsegundo) especificado por el parmetro. Para delays de mas de unos cuantos microsegundos, deberas usar la funcin delay(). US (el nmero de microsegundo, unsigned int).

min(x, y) Calcula el mnimo de dos nmeros. X (el primer nmero, de cualquier tipo), Y (el segundo nmero, de culquier tipo).

max(x, y) Calcula el mximo de dos nmeros. X (el primer nmero, de cualquier tipo), Y (el segundo nmero, de culquier tipo).

abs(x) Computa el valor absluto de un nmero. X (el nmero). Devuelve X si X es mayor o igual a 0, -X si X es menor que 0.

constrain(x, a, b) Restringe un nmero para estar en un rango. X (el nmero a restringir, de cualquier tipo), A (el valor bajo del rango, de cualquier tipo), B (el valor alto del rango, de cualquier tipo). Devuelve X si X esta entre a y b, A si X es menor que A, B si X es mayor que B.

map(value, fromLow, fromHigh, toLow, toHigh)

pow(base, exponent) Calcula el valor de un nmero elevado a una potencia. BASE (el nmero, float), EXPONENT (el exponente, float). Devuelve un double.

sqrt(x) Calcula la raiz cuadrada de un nmero. X (el nmero, de cualquier tipo). Devuelve un double.

sin(rad) Calcula el seno de un ngulo (en radianes). El resultado ser entre 1 y -1. RAD (el angulo en radianes, float). Devuelve el seno del ngulo (double).

cos(rad) Calcula el coseno de un ngulo (en radianes). El resultado ser entre 1 y -1. RAD (el angulo en radianes, float). Devuelve el coseno del ngulo (double).

tan(rad) Calcula la tangente de un ngulo (en radianes). El resultado ser entre ifinito y -infinito. RAD (el angulo en radianes, float). Devuelve la tangente del ngulo (double).

randomSeed(seed) Inicializa el generador de nmeros pseudo-aleatorios, causando que empiece en un punto arbitrario de su secuencia aleatoria. Esta secuencia, aunque es muy larga, y aleatoria, es siempre la misma. LONG, INT (pasa un nmero para generar la secuencia).

long random(max) Genera un nmero pseudo-aleatorio. MAX (valor del lmite superior, exlusive). Devuelve un nmero aleatorio entre 0 y MAX-1, (long)

long random(min, max) Genera un nmero pseudo-aleatorio. MIN (valor del lmite inferior, inclusive), MAX

(valor del lmite superior, exlusive). Devuelve un nmero aleatorio entre MIN y MAX-1, (long)

lowByte() Extrae el byte de menor orden (el de la derecha) de una palabra (2 bytes). X (un valor de cualquier tipo). Devuelve un byte.

highByte() Extrae el byte de mayor orden (el de la izquierda) de una palabra (2 bytes). X (un valor de cualquier tipo). Devuelve un byte.

bitRead() Lee un bit de un nmero. X (el nmero del cual leer el bit), N (que bit leer, empezando en 0 para el bit menos significante, el de la derecha). Devuelve el valor del bit (0 o 1).

bitWrite() Escribe un bit de una variable numrica. X (la variable numrica en la cual escribir), N (que bit del nmero escribir, empezando en 0 para el bit menos significante), B (el valor a escribir en el bit, 0 o 1).

bitSet() Activa (escribe un 1) un bit de una variable numrica. X (la variable numrica), N (que bit poner a 1, empezando por 0 para el bit menos significante (el de la derecha). bitClear() Desactiva (escribe un 0) un bit de una variable numrica. X (la variable numrica), N (que bit poner a 0, empezando por 0 para el bit menos significante (el de la derecha).

bit() Computa el valor del bit especificado (bit 0 es 1, bit 1 es 2, bit 2 es 4, etc.). N (el bit cuyo valor queremos computar). Devuelve el valor del bit.

attachInterrupt(interrupt, function, mode) Especifica una funcin a llamar cuando una interrupcin externa ocurre. INTERRUPT (el nmero de la interrupcin), FUNCTION (la funcin a la que se llama con la interrupcin ocurre), MODE (LOW: lanzar la interrupcion cuando el pin est en bajo, CHANGE: activar la interrupcin cuando el pin cambia de valor, RISING: activar la

interrupcin cuando el pin cambia de bajo a alto, FALLING: activar la interrupcin cuando el pin cambia de alto a bajo.

detachInterrupt(interrupt) Desactiva la interrupcin dada. INTERRUPT (nmero de la interrupcin a desactivar (0 o 1).

interrupts() Reactiva las interrupciones despues de que hayan sido desactivadas por noInterrupts().

noInterrupts() Desactiva las interrupciones.

Serial: begin(), available(), read(), flush(), print(), println(), write().

[C] Variables (1) Constantes HIGH | LOW INPUT | OUTPUT true | false integer constants floating point constants (2) Tipos de datos void boolean char unsigned char byte int unsigned int word long unsigned long float double string array (3) Conversion

char() byte() int() word() long() float() (4) Variable Scope & Qualifiers variable scope static volatile const (5) Utilidades sizeof() (sizeof operator)

Manipulacin de Puertos
Autor: Ealdor

Publicado por jonathan en 18:21

You might also like