Tabla de contenido

Publicidad

Enlaces rápidos

Apuntes de Arduino
ARDUINO
INDICE
1.- INTRODUCCIÓN ......................................................................................................................4
2.- EL HARDWARE DE LA PLACA ARDUINO ............................................................................4
2.1. Alimentación ........................................................................................................................4
2.2. Entradas y Salidas...............................................................................................................4
2.3. Comunicaciones ..................................................................................................................5
2.4. Programación ......................................................................................................................5
3. EL ENTORNO DE DESARROLLO PARA ARDUINO ..............................................................5
4. NUESTRO PRIMER SKETCH...................................................................................................7
4.1. Comentarios ........................................................................................................................7
4.3. Funciones ............................................................................................................................8
4.4. pinMode(), digitalWrite() y delay() .......................................................................................8
4.5. setup() y loop() ....................................................................................................................9
5. LA ESTRUCTURA: FUNCIONES setup() Y loop()..................................................................9
6. ELEMENTOS DE SINTAXIS ...................................................................................................10
6.1. ; (Punto y coma) ................................................................................................................10
6.2. { } (Las llaves)....................................................................................................................10
6.3. Comentarios ......................................................................................................................10
7. OPERADORES ARITMÉTICOS..............................................................................................11
7.1. = Operador de asignación (un único signo igual).............................................................11
7.2. (+ , - , * , / ) Suma, resta, multiplicación y división ..........................................................11
7.3. % (Módulo, o resto) ..........................................................................................................12
8. OPERADORES COMPUESTOS .............................................................................................12
8.1. ++ (Incremento) / - - (decremento)...................................................................................12
9. CONSTANTES ........................................................................................................................12
9.2. Definición de los pines digitales, INPUT y OUTPUT .........................................................13
9.3. Definición de niveles de pin, HIGH y LOW........................................................................13
10. TIPOS DE DATOS.................................................................................................................13
10.1. void ..................................................................................................................................13
Apuntes de Arduino. Tecnología
1

Publicidad

Tabla de contenido
loading

Resumen de contenidos para Arduino Duemilanove

  • Página 1: Tabla De Contenido

    Apuntes de Arduino ARDUINO INDICE 1.- INTRODUCCIÓN ........................4 2.- EL HARDWARE DE LA PLACA ARDUINO ................4 2.1. Alimentación ........................4 2.2. Entradas y Salidas.......................4 2.3. Comunicaciones ........................5 2.4. Programación ........................5 3. EL ENTORNO DE DESARROLLO PARA ARDUINO ..............5 4. NUESTRO PRIMER SKETCH....................7 4.1.
  • Página 2 15.2. Operadores de comparación: == , ! = , < , > , <=, >= ...........24 15.3. Operadores booleanos ....................24 15.4. If...else ..........................24 15.5. for ............................25 15.6. switch..case ........................26 15.7. while ..........................27 15.8. do - while .........................27 Apuntes de Arduino. Tecnología...
  • Página 3 17. ALGUNAS FUNCIONES MATEMÁTICAS................32 17.1. constrain (x, a, b)......................32 17.2. map (valor, desdeinferior, desdesuperior, hastainferior, hastasuperior) ......32 17.3. pow (base, exponente) ....................33 18. FUNCIONES CREADAS POR EL PROGRAMADOR ............33 Apéndice: PWM (Modulación por anchura de pulso) .............35 Apuntes de Arduino. Tecnología...
  • Página 4: Introducción

    ARDUINO 1.- INTRODUCCIÓN Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo integrado (IDE), diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares, que pueden abarcar desde sencillas aplicaciones electrónicas domésticas hasta proyectos más elaborados para la industria.
  • Página 5: Comunicaciones

    Arduino incluye un monitor de puerto serie que permite enviar y recibir información textual hacia y desde la placa Arduino. Los leds RX y TX de la placa parpadearán cuando se detecte comunicación transmitida a través de la conexión USB.
  • Página 6 Seleccione la velocidad (baud rate) en el menú desplegable que coincida con el configurado en Serial.begin dentro de su "sketch". • Tarjeta Selecciona la placa que estás usando (Arduino Uno o Arduino Duemilanove w/ ATmega328). • Puerto Serial Este menú contiene todos los dispositivos serie (reales o virtuales) de su equipo. Se refrescará...
  • Página 7: Nuestro Primer Sketch

    Apuntes de Arduino 4. NUESTRO PRIMER SKETCH En la figura se muestra el sketch Blink_modificado. Sketch es el nombre que usa Arduino para referirse a un programa. 4.1. Comentarios Las primeras líneas del sketch, las cuales encuentran entre comentarios y son ignorados por el compilador de Arduino.
  • Página 8: Funciones

    Puedes llamar a una función que ha sido previamente definida (ya sea en tu sketch o como parte del lenguaje Arduino). Por ejemplo, la línea pinMode(ledPin, OUTPUT); llama a la función pinMode() (que forma parte del lenguaje de Arduino), pasándole sus dos parametros: ledPin y OUTPUT.
  • Página 9: Setup() Y Loop()

    La función setup() sólo se ejecutará una vez, después de cada vez que se conecte la placa Arduino a la fuente de alimentación, o cuando se pulse el botón Reset de la placa. La función loop() ejecuta un bloque de código de forma cíclica continuamente.
  • Página 10: Elementos De Sintaxis

    A una llave de apertura "{" debe corresponderle siempre una llave de cierre "}". O sea, deben estar “emparejadas”. El entorno de Arduino comprueba el emparejamiento de las llaves. Sólo hay que seleccionar una llave, o hacer clic en el punto de inserción inmediatamente después de una llave, y su compañera se resaltará.
  • Página 11: Operadores Aritméticos

    = j * 6; r = r / 5; Consejos de programación: • Las constantes enteras (números usados directamente) son por defecto de tipo int, por lo que algunos cálculos con constantes pueden provocar desbordamiento (por ejemplo, 60 * Apuntes de Arduino. Tecnología...
  • Página 12: (Módulo, O Resto)

    Las constantes son variables predefinidas en el lenguaje de Arduino. 9.1. Definición de niveles lógicos, true y false (constantes booleanas) true y false se utilizan para representar la verdad y la falsedad en el lenguaje de Arduino. • false (falso) se define como 0 (cero).
  • Página 13: Definición De Los Pines Digitales, Input Y Output

    Por ejemplo, las funciones setup() y loop() realizan acciones pero no devuelven información al programa principal. 10.2. boolean Un valor booleano contiene uno de dos valores, true o false. Una variable booleana ocupa un byte de memoria. Apuntes de Arduino. Tecnología...
  • Página 14: Char

    Las variables long son variables de tamaño extendido para el almacenamiento de números enteros, y almacenan 32 bits (4 bytes), entre –2.147.483.648 y 2.147.483.647. Ejemplo long velocidadVar = 186000L; // La 'L' hace que la constante esté en formato long Apuntes de Arduino. Tecnología...
  • Página 15: Unsigned Long

    // z ahora contiene 0.5 (se tiene que utilizar 2.0, no 2) 10.9. Arrays (matrices) Una matriz (array) es un conjunto de variables a las que se accede con un número de índice. a) Crear (Declarar) una matriz Apuntes de Arduino. Tecnología...
  • Página 16 (i = 0; i <5; i = i + 1) { Serial.println (Pines[i]); Ejemplo // Knight Rider 2 El coche fantástico int pinArray [] = {2, 3, 4, 5, 6, 7}; Apuntes de Arduino. Tecnología...
  • Página 17: Funciones De Entrada/Salida Digitales

    A0, A1, etc. para distinguirlos de los digitales. En las funciones que sólo operan con los pines analógicos, como analogRead(), no hace falta poner la A delante del nº de pin. Por ejemplo: pinMode (A0, OUTPUT); digitalWrite (A0, HIGH); x = analogRead(0); // es equivalente a x = analogRead(A0) Apuntes de Arduino. Tecnología...
  • Página 18: Digitalwrite(Pin, Valor)

    Lee el valor de tensión en el pin analógico especificado (0 a 5). La placa dispone de un convertidor analógico-digital que asignará a voltajes de entrada de entre 0 y 5 V valores enteros entre 0 y 1023. Por tanto, esta función devuelve un valor entero entre 0 y 1023. Apuntes de Arduino. Tecnología...
  • Página 19: Analogwrite(Pin, Valor)

    (o una llamada a digitalRead() o digitalWrite() en el mismo pin). En la placa Arduino esta función funciona en los pines digitales 3, 5, 6, 9, 10 y 11. No es necesario llamar a pinMode() para establecer el pin como salida para poder usar la función analogWrite().
  • Página 20: Funciones De Comunicación Serie

    Se puede utilizar el monitor del puerto serie incorporado en el entorno de Arduino para comunicarse con la placa Arduino. Haga clic en el botón de monitor del puerto serie en la barra de herramientas y seleccione la misma velocidad utilizada en la llamada a Serial.begin().
  • Página 21: Serial.println(Valor)

    14. FUNCIONES DE TIEMPO 14.1. millis() Devuelve el número de milisegundos transcurridos desde que la placa Arduino empezó a correr el programa actual. Este número se desbordará (volverá a cero), después de aproximadamente 50 días. El dato devuelto es de tipo unsigned long (rango de 0 a (2^32) – 1).
  • Página 22: Delay(Valor)

    Este sketch muestra cómo hacer parpadear el LED sin usar delay(). Guarda la última vez que Arduino encendió o apagó el LED. Entonces, cada cierto tiempo, chequea si ha pasado un intervalo de tiempo determinado.
  • Página 23: Estructuras De Control

    Las llaves se pueden omitir después de una sentencia if. Si se hace esto, la siguiente línea (definida por el “;”) se convierte en la única instrucción afectada por la condición. Todas las siguientes sentencias condicionales son correctas if (x > 120) digitalWrite (ledPin, HIGH); Apuntes de Arduino. Tecnología...
  • Página 24: Operadores De Comparación

    If..else permite que se agrupen múltiples pruebas. Por ejemplo, una entrada analógica puede ser chequeada y tomarse una acción si se cumple una condición, y otra acción si no se cumple. Por ejemplo: if (pinEntrada < 500) // Acción A Apuntes de Arduino. Tecnología...
  • Página 25: For

    Cuando la condición se vuelve falsa, el bucle termina. Apuntes de Arduino. Tecnología...
  • Página 26: Switch

    La sentencia switch...case compara el valor de una variable con las etiquetas especificadas en las declaraciones case. Cuando se encuentra una declaración case cuya etiqueta coincide con el valor de la variable, el código correspondiente a dicha sentencia case se ejecuta. Apuntes de Arduino. Tecnología...
  • Página 27: While

    // si se cumple la condición se repite el bucle 15.9. break break se utiliza para salir de un bucle (for, while o do-while), independientemente de que se cumpla la condición del bucle. También se utiliza para salir de una estructura switch...case. Apuntes de Arduino. Tecnología...
  • Página 28: Return

    // valor puede ser cualquier constante o variable Ejemplo Una función para comparar una entrada de sensor con un umbral. int ChequeaSensor() { if (analogRead (0) > 400) { return 1; else { return 0; Apuntes de Arduino. Tecnología...
  • Página 29: Variables

    Nota sobre estilo: Se debe dar a las variables nombres descriptivos, a fin de que el código sea más fácil de entender. Se puede nombrar a una variable con cualquier palabra que no sea ya una de las palabras clave en Arduino. d) Ámbito de las variables Dependiendo del lugar donde se declara una variable en un programa podremos usar dicha variable en unas partes o en otras del programa.
  • Página 30 A veces también es útil declarar e inicializar una variable dentro de un bucle for. Esto crea una variable que sólo se puede acceder desde el interior de las llaves del bucle for. Ejemplo int gPWMval; // cualquier función verá y tendrá acceso a esta variable, es global Apuntes de Arduino. Tecnología...
  • Página 31: Static

    = 3.14; float x; // ..x = pi * 2; // Es correcto usar const’s en operaciones matemáticas pi = 7; // esto es incorrecto - no se puede escribir (modificar) una constante Apuntes de Arduino. Tecnología...
  • Página 32: Algunas Funciones Matemáticas

    = map (val, 0, 1023, 0, 255); analogWrite (9, val); // el segundo parámetro de analogWrite es un valor entre 0 y 255 que // se corresponden con una tensión entre 0 y 5 V respectivamente. Apuntes de Arduino. Tecnología...
  • Página 33: Pow (Base, Exponente)

    Calcula el resultado de elevar el parámetro base al valor del parámetro exponente. Los parámetros son de tipo float. Devuelve el resultado en tipo double (en Arduino igual que el float). Pow() también se puede utilizar para elevar un número a una potencia fraccionaria.
  • Página 34 = sval /4; // escala a 8 bits (0-255) pues analogRead devuelve un valor entre 0 y 1023 // también podríamos haber hecho sval=map(sval, 0, 1023, 0, 255) return sval; Para llamar a nuestra función tenemos que asignarla a una variable. int sens; sens = LeeSensor_y_Promedia (); Apuntes de Arduino. Tecnología...
  • Página 35: Apéndice: Pwm (Modulación Por Anchura De Pulso)

    0 y 5 V, controlando el brillo del LED. En el gráfico adjunto las líneas verdes representan un periodo regular que, con Arduino es de unos 2 milisegundos cada uno. La llamada a la función analogWrite() debe ser en la escala desde 0 a 255, siendo 255 el 100% de ciclo (siempre encendido), el valor 127 será...

Este manual también es adecuado para:

Uno

Tabla de contenido