Estructura Básica Hoja de Referencia Para Arduino void setup() { } void loop(){ } Sintaxis Especial // Comentario por línea /* */ Comentario multilinea #define Dato1 0 #include < librería.h > Acceso a Punteros & Operador de referencia * Operador dereferencia Operadores Bitwise & bitwise and | bitwise or ^bitwise xor ~bitwise not Operadores Generales = Asignación + Adición - Substracción * Multiplicación / División % Módulo == Igual a != no igual a < menor que > mayor que <= menor igual a >= mayor igual a && and || or ! not << recorrimiento a la izquierda >> recorrimiento a la derecha Calificadores static // persiste entre llamadas volatile // usa la RAM const // solo lectura PROGMEN // usa la Flash Cadenas Char Pal1[10]; Char Pal1[5] = {'p','a','t','o','\0'}; Char Pal1[] = “pato”; Char Pal1[5] = “pato”; Char Pal1[10] = “pato”; Conversión Arreglos Int Data[5]; Int Data[] = {1,2,3}; Int Data[4] = {10,11,11,10}; char() Int() long() byte() word() float() E/S Digital Constantes Diversas HIGH LOW INPUT OUTPUT true false 100 // decimal entero 017 // octal 0b011001100 // binario 0x7A // hexadecimal 100.1 // decimal flotante 3U // decimal sin signo 4L // decimal largo 5UL 3.1e3 // 3100 Tipos de Datos void boolean (0,1,false,true) char (-128 a 127) unsigned char (0 a 255) byte (0 a 255) int (-32,768 a 32,767) word (0 a 65,535) long (-2,147,483,648 a 2,147,483,647) unsigned long (0 a 4,294,967,295) float (-3.4028235E+38 a 3.4028235E+38) double (igual que float) sizeof(El_int) // regresa dos bytes PinMode (pin, INPUT | OUTPUT); DigitalWrite (pin, 1 | 0, HIGH | LOW) ; Int Data; Data = digitalRead (pin); E/S Analógico analogReference (DEFAULT, INTERNAL, EXTERNAL); analogWrite (pin, valor) ; Int Data; Data = analogRead (pin); Funciones Matemáticas min (a,b); max(a,b); abs(a); constrain (a,MinVal,MaxVal); map (val,deL,deH,aL,aH); pow (base,exponente); sqrt(a); sin (a_rad); cos(a_rad); tan(a_rad); Números Aleatorios randomSeed (a); // long o int long random (max); long random (min, max); Hoja de Referencia Para Arduino Funciones de Tiempo unsigned long millis (); // 50 días máximo unsigned long micro (); // 70 minutos máximo delay (milisegundos); delayMicroseconds (); Bits / Bytes lowByte(); highByte(); bitRead (a,bit(n)); bitWrite (a,bit(n),bit); bitSet (a,bit(n)); bitClear (a,bit(n)); bit (bit(n)); 0 1 2 3 4 5 6 7 LSB MSB Interrupciones Externas attachInterrupt (interrupción, Función, [LOW,CHANGE, RISING, FALLING]); detachInterrupt (interrupción); Interrupts(); noInterrupts(); Funciones Especiales tone (pin, Frecuencia); tone (pin,Frecuencia, duración_en_ms); noTone (pin); shiftOut (dataPin, ClockPin, [MSBFIRST, LSBFIRST], Valor); Int Data; Data = shiftIn(dataPin, ClockPin); Unsigned long pulseIn (pin, [HIGH, LOW]); Operadores de Composición ++ incremente – decremento += adición -= sustracción *= multiplicación /= división &= bitwise and |= bitwise or Estructuras de Control If (a < b ) { }else{ } If (a < b){ }else if (a > b ) { } switch (Var){ case 1: Break; case 2: Break; default: } for (i = 0; i <= a; i++){ b = b + i; } while (a < b) { } ATMEGA328 ATMEGA1280 Flash 16 kB 32 kB 128 kB SRAM 1 kB 2 kB 8 kB EEPROM 512 B 1 kB 4 kB Librería Serial Serial.begin ([4800, 9600, 14400, 19200, 28800]); Serial.print (“Hola”); Serial.println(“Adios”); Serial.available () Serial.write(val); Serial.read(); Serial.flush(); Serial.end(); Librería Servo #include <Servo.h> do{ } while (a < b); ATMEGA168 ATMEGA 168 / 328 Continue; // puede usarse en: do / for / while Servo MiServo; MiServo.attach (pin, [min_us, max_us]); MiServo.write(val); // 0 – 180 MiServo.detach(); Hoja de Referencia para Arduino v 0.1 cc 2010