Estructura del Programa Comentarios Funciones del Arduino
void setup() // Comentario de una linea Entradas y Salidas Digitales
{ /* Este es un comentario de pinMode(pin,INPUT/OUTPUT); // Se ejecuta una sola vez cuando varias lineas */ //Configura como entrada o salida un pin (0-13) del Arduino // el Arduino prende o se reinicia } //INPUT Entrada OUTPUT Salida void loop() digitalWrite(pin,LOW/HIGH); { //Escribe en el pin del arduino el estado logico LOW o HIGH Operadores //LOW Bajo(0) HIGH Alto(1) | Solo en los pines de salida // Se ejectua repetidamente todo digitalRead(pin); // el codigo dentro de loop() Operadores Aritmeticos //Lee el estado logico del pin del Arduino ( LOW / HIGH ) } = operador de asignacion + Suma - resta Entradas y Salidas Analgicas * Multiplicacion Estructuras de Control / Divisin % Modulo analogRead(pin); //Lee el valor (0-1023) analgico del pin (A0-A5) del Arduino if ( Condicin ) Operadores Comparacin analogWrite(pin, valor); { // ejecuta si cumple condicin } == igual a != diferente a //Escribe en el pin (3,5,6,9,10,11) un valor (0-255), Salida PWM else < menor que > mayor que Librerias { // ejecuta si no cumple condicin} <= menor o igual que Tiempo >= mayor o igual que Comunicacin Serial while ( Condicin ) delay(tiempo); { /* ejecuta repetidamente //Genera un retardo, el tiempo est en milisegundos 1s=1000ms Serial.begin(baudio) Operadores Booelanos mientras cumpla la condicin */ } millis(); //Abre el puerto serial y establece la velocidad && and || or ! not /*Devuelve el tiempo de funcionamiento del Arduino en //de comunicacion en baudios for(valor Inicial;Condicin;Incremento) milisegundos*/ Serial.print(dato) {//ejecuta mientras cumpla condicin} Operadores Compuestos millis(); //Imprime el dato en el puerto serie (envia) ++ incremento /*Devuelve el tiempo de funcionamiento del Arduino en Serial.println(dato) switch ( miVariable ) -- decremento microsegundo*/ //Imprime el dato seguido de retorno de carro { += suma compuesta Serial.Read() case valor1: -= resta compuesta Salidas Avanzadas //Lee un byte (caracter) desde el puerto serie //ejecuta si valor1==miVariable *= multiplicacion compuesta Serial.available() break; /= division compuesta tone(pin,frecuencia); //Devuelve un entero con el numero de byte case valorN: &= AND binario compuesto //Genera un tono en el pin y la frecuencia establecida //(caracteres) disponibles para leer en el buffer //ejecuta si valorN==miVariable |= OR binario compuesto tone(pin,frecuencia,tiempo) break; //Genera un tono en el pin y la frecuencia durante un tiempo(ms) Memoria EEPROM ..................... Operadores a nivel de bit noTone(pin); Default: //Detiene el tono generado por la funcin tone() #include<EEPROM.h> & AND binario | OR binario //cargamos la libreria EEPROM al programa //ejecuta si no cumple ninguno ^ XOR binario ~ NOT } Matemticas EEPROM.read(direccion) << desplazamiento a la izq. //Lee el Byte guardado en direccion >> desplazamiento a la der. EEPROM,write(direccion,dato) min(x,y) //Calcula el valor menor entre "x" y "y" max(x,y) //Calcula el valor mayor entre "x" y "y" //Guarda el dato en la direccion
Variables abs(x) //Calcula el valor absoluto de "x"
Constantes sin(rad) //Calcula el valor seno en radianes void vacio boolean true, false cos(rad) //Calcula el valor coseno en radianes HIGH | LOW tan(rad) //Calcula el valor tangente en radianes char caracter [-128 a 127] INPUT | OUTPUT byte entero [0 a 255] sqrt(x) //Calcula la raiz cuadrada de "x" true | false pow(base,exponente) word entero [0 a 65535] int entero [-32768 a 32767] //Calcula el valor de un numero elevado a la potencia long entero [-2147483648 a 123 //Decimal constrain(x, valMin, valMax) 2147483647] 0123 //Octal //limita a x entre el valMin y valMax float decimal [-3.4028e+38 a 0b11001111 //Binario map(x, rango1Min, rango1Max, rango2Min, rango2Max) 3.4028e+38] 0xF3 //Hexadecimal //Modifica el valor de x del rango1 proporcionalemte al rango2 double decimal [-3.4028e+38 a 2.4e5 //240000 3.4028e+38]