Arduino
Arduino
http://www.arduino.cc/es/
http://www.arduino.cc/es/
Cambio de posición
del jumper
Para fuente externa
Instalación USB
Instalación USB
Instalación USB
Instalación USB
Nos pedirá los mismos pasos que hemos visto para el USB serial PORT
Arduino.EXE
CONFIGURACIÓN DE LAS COMUNICACIONES
Lo primero que tenemos que hacer es configurar las comunicaciones entre la placa
Arduino y el PC. Para ello deberemos abrir en el menú “Tools” las opciones “Serial
Port” y “Serial Monitor Baud Rate”.
En la primera de las dos opciones deberemos seleccionar el puerto serie al que está
conectada nuestra placa. En Windows el puerto será COM1 o COM2 para la placa serie,
COM3, COM4 … para la placa USB (o para la placa serie conectada mediante un adaptador
serie-USB). Si se utiliza un adaptador serie-USB el nombre puede variar.
Configuración del puerto serie
LENGUAJE
Estructura:
Arduino tiene dos estructuras una “setup()” y “loop()”
• La función setup() es llamada justo en el momento en que el programa comienza. Se utiliza para inicializar
variables, definir los modos de entrada o salida de los pines, indicar librerías, etc.
•Después de crear la sección setup(), que inicializa y asigna los valores iniciales, la sección loop() hace
precisamente lo que su nombre indica en inglés(bucle), y se repite continuamente, permitiendo que tu
programa mute y responda. Se usa para controlar de forma activa la tarjeta Arduino. El tiempo del bucle,
varía según el número de instrucciones que contenga. Y se puede conocer y controlar con las funciones de
temporización (millis(), delay(), etc).
void setup()
void loop()
Estructura: Ejemplo
void setup()
{
pinMode(ledPin, OUTPUT); // le digo con pinMode, que el pin 13 será una salido en mi placa
}
Las constantes son variables predefinidas en el sistema. Son usadas para hacer que los
programas sean más fáciles de leer. Las englobaremos en los siguientes grupos.
HIGH | LOW
Cuando se realiza la lectura o escritura sobre un pin digital, sólo hay dos valores posibles que el pin
puede tomar o que se le puede asignar: HIGH y LOW.
INPUT | OUTPUT
Los pines digitales pueden ser usados tanto como en modo INPUT (entrada) o modo OUTPUT
(salida). Dichos valores, representan precisamente lo que su significado en inglés indica.
Funciones
Pines digitales
•pinMode(pin, mode)
Configura el pin especificado para que se comporte como una entrada (input) o una salida (output).
•digitalWrite(pin, value)
Asigna el valor de salida HIGH o LOW al pin especificado.
digitalWrite(5, HIGH);
•int digitalRead(pin)
Lee o captura el valor de entrada del pin especificado, dará valores HIGH o LOW
void setup() {
pinMode(ledPin, OUTPUT); // asigna al pin digital 13 como modo pin de salida pinMode(inPin, INPUT);
// asigna al pin digital 7 como modo pin de entrada
}
void loop() {
val = digitalRead(inPin); // lee o captura el valor de entrada del pulsador digitalWrite(ledPin, val); //
asigna el valor capturado al LED
}
Funciones
Pines Analógicos
•int analogRead(pin)
•Lee o captura el valor de entrada del especificado pin analógico, la tarjeta Arduino realiza una conversión
analógica a digital de 10 bits. Esto quiere decir que mapeará los valores de voltage de entrada, entre 0 y 5
voltios, a valores enteros comprendidos entre 0 y 1024.
Ejemplo
int ledPin = 13; // LED conectado a pin digital 13
int analogPin = 3; // potentiómetro conectado a pin analógico 3
int val = 0; // variable para almacenar el valor capturado
int threshold = 512; // valor de disparo o umbral (1024/2)
void setup() {
pinMode(ledPin, OUTPUT); // asigna modo salida el pin digital 13
}
void loop() {
val = analogRead(analogPin); // captura el pin de entrada
if (val >= threshold) {
digitalWrite(ledPin, HIGH); // enciende el LED } else { digitalWrite(ledPin, LOW); // apaga el LED
}
}
Pines Analógicos
•analogWrite(pin, value)
Escribe o asigna un valor analógico (señal PWM) a pines 9,10 y 11 ¿?. Se puede usar para encender un Led e ir
variando la intensidad de su brillo o impulsar un motor a distintas velocidades. Después de invocar o realizar una
llamada a la función analogWrite, el pin generará una señal estable hasta la próxima invocación o llamada de la
función analogWrite (o una llamada a digitalRead o digitalWrite sobre el mismo pin).
Los pines analógicos, al contrario que los pines digitales, no necesitan ser declarados como modo
INPUT(entrada) o OUTPUT (salida).
Ejemplo
int ledPin = 9; // LED conectado al pin digital 9
int analogPin = 3; // potenciómetro conectado al pin analógico 3
int val = 0; // variable para almacenar el valor de captura o lectura
void setup() {
pinMode(ledPin, OUTPUT); // asigna el pin como modo salida
}
void loop() {
val = analogRead(analogPin); // lee o captura el pin de entrada
analogWrite(ledPin, val / 4); // los valores de analogRead van desde 0 a 1023, los valores de analogWrite desde
0 a 255
}
Temporizadores
delay(ms)
Detiene el programa durante una cantidad de tiempo (en milisegundos) especificado
mediante parámetro.
void setup() {
pinMode(ledPin, OUTPUT); // asigna al pin digital como pin de salida
}
void loop() {
digitalWrite(ledPin, HIGH); // enciende el LED
delay(1000); // espera un segundo
digitalWrite(ledPin, LOW); // apaga el LED
delay(1000); // espera un segundo
}
Imprimir en Serial Monitor
void setup(){
Serial.begin(9600);// inicializar el puerto serie
}
void loop(){
}
Estructuras de control:
•if
if (condición) Descripción La estructura If comprueba si la condición contenida entre paréntesis () se ha cumplido,
como por ejemplo si una entrada supera un cierto número. El formato de la comprobación que se realiza en el if
es:
•if...else
La estructura if/else da un mayor control sobre el flujo o secuenciación del código que la estructura de control
básica if, permitiendo agrupar múltiples comprobaciones juntas.
•switch case
•Como la estructura de control "If", la estructura de control "switch case" ayuda en el control del flujo o
secuenciación de los programas. Permite hacer una lista de "casos" posibles dentro de un bloque delimitado
por paréntesis, en el cual arduino encontrará el caso más idóneo y lo ejecutará.
•switch (var) {
•case 1: //hacer algo cuando var == 1
• break; case 2: //hacer algo cuando var == 2
•break;
•default: // si ninguna de las anteriores, hacer la parte de default }
•While
Realiza un bucle de forma continuada hasta que la expresión contenida dentro de los paréntesis () deja de
ser verdadera. Es útil para crear bucles propios, pero asegurando el seguimiento de alguna de las variable
usadas para parar o salir del bucle, si esa es la intención.
var = 0;
while(var < 200){
//hacer que algo se repita 200 veces var++;
}
Comentarios
// (comentarios de línea)
/* */ (comentarios de multi-línea)
Los comentarios son usados para informar sobre la forma en que el programa funciona. No serán
compilados, ni serán exportados al procesador. Son útiles para entender lo que cierto programa o
informar a otras personas que puedan hacer uso de el.
Contenidos desarrollados por: David Cuartielles
http://www.arduino.cc/es/
http://www.arduino.cc