Notes
Aplicaciones de Arduino
Content of the notes (1)
Page 1
LED Parpadeante
Vamos a controlar el encendido y apagado de un led conectado al pin13 de Arduino.
¿Por qué el pin13 y no otro? Podríamos hacerlo con otro, pero el pin13 tiene asociado un led en la placa justo
debajo de el y así nos evitamos tener que montar. Si pusiéramos un pin polarizado correctamente entre el pin13 y
GND también funcionaría. El pin13 tiene también una resistencia que hace posible conectarle un led
directamente, si hacemos el montaje con otro pin debemos añadir esta resistencia de 10Kohm entre el led y el pin.
void setup() {
// inicializamos el pin 13 para que sea de salida
pinMode(13, OUTPUT);
}
// Definimos la rutina cíclica
void loop() {
digitalWrite(13, HIGH); // Encendemos el pin13
delay(1000); // esperamos 1 segundo
digitalWrite(13, LOW); // Apagamos el pin13
delay(1000); // esperamos 1 segundo
}
Todo lo que está entre las llaves de loop(), se ejecuta
indefinidamente. Así vemos un efecto de led parpadeante ya que
si analizamos las líneas del código vemos que el proceso es:
- Encendemos.
- Esperamos un segundo.
- Apagamos.
- Esperamos un segundo.
Semáforo
Montaremos un semáforo con los tres leds de la EduBásica. La EduBásica es opcional y podemos montar
el circuito correspondiente con una protoboard, pero EduBásica nos ahorra trabajo.
Necesitamos añadir una resistencia entre el pin y el led, para evitar que el led se funda. EduBásica ya lleva
estas resistencias integradas por lo que podemos ir directamente al montaje. Aparece un nuevo comando: Serial.print.
Este comando nos manda un texto al puesto serial por el que nos
comunicamos con Arduino. De esta manera podemos depurar un
programa sabiendo siempre por que línea está.
Para que funcione debemos tener en cuenta que:
Hay que inicializar Serial. Esto se hace poniendo
Serial.begin(9600) dentro de la rutina de setup. 9600 se
refiere a la velocidad que se comunicará.
Serial.print(“xxx”)escribe lo que ponemos entre comillas
tal cual.
Serial.print(x) escribe el valor que contenga la variable x.
Serial.println()es similar a lo anterior pero después añade
un salto de línea.
Pulsador
podemos interactuar con Arduino, por ejemplo, realizando una acción cuando activamos un
pulsador.
En este ejemplo, vamos a encender un led cuando
actuamos sobre el pulsador.
Por sencillez usaremos EduBásica. (también puedes
hacer el montajer en una protoboard.
El pin 2 corresponde al pulsador y el pin 3 al led verde,
solo nos queda cargar el programa y probar.
Aparece un comando nuevo “digitalRead(buttonPin)” . Retorna el valor del pin que se ha
configurado como entrada y al igual que en el caso de los pines que se configuran como salida,
puede tener dos valores HIGH y LOW.
Si es HIGH significa que este pin está unido a la señal de 5v, si es LOW significa que está unido a
0v.
PullUp & PullDown
En los proyectos con dispositivos digitales, caso
de la placa Arduino, reciben señales de entradas
digitales del exterior. Estas señales externas
sirven para activar o desactivar un circuito,
recibir información del estado de un sensor,...
Las resistencias “pull-up” y “pull-down” son
resistencias que se ponen en las entradas
digitales para fijar un valor por defecto, nivel alto
(“1”) o nivel bajo (“0”), cuando no se detecta
ningún valor. Esto ocurre cuando la entrada no
está conectada a nada.
La resistencia “pull-up” establece un nivel alto (1) en la
entrada digital en el estado de reposo del circuito. La resistencia “pull-down” establece un nivel bajo (0) en la entrada
digital en el estado de reposo del circuito. Este tipo de circuito es el
más empleado en las entradas digitales para evitar lecturas
erróneas debido a ruidos externos y consumo de energía. La
resistencia suele ser de 10 kΩ.
Conexiones Analógicas
Las entradas analógicas se utilizan para leer la información de la
magnitud física que nos proporciona los sensores de
temperatura, luz, distancia,... La tensión que leemos del sensor
no la proporciona un circuito asociado a dicho sensor en un
rango de valores de tensión continua entre 0V y 5V.
La placa de Arduino tiene 6 entradas analógicas marcados
como “A0”, “A1”,..., “A5” que reciben los valores continuos en
un rango de 0V a 5V, pero la placa Arduino trabaja sólo con
valores digitales, por lo que es necesario una conversión del
valor analógico leído a un valor digital. La conversión la realiza
un circuito analógico/digital incorporado en la propia placa. El conversor A/D de la placa tiene 6 canales con una
resolución de 10 bits. Estos bits de resolución son los que
marcan la precisión en la conversión de la señal analógica a
digital, ya que cuantos más bits tenga más se aproxima al
valor analógico leído. En el caso de la placa Arduino el rango
de los valores analógicos es de 0 a 5 V y con los 10 bits de
resolución se puede obtener de 0 a 1023 valores digitales y se
corresponde cada valor binario a (5V/1024) 5 mV en el rango
analógico.
En estas condiciones son suficientes para hacer muchos
proyectos tecnológicos.
Information
- Description
- Note on Aplicaciones de Arduino, created by isra.reyes.a on 11/01/2015.
- Created by
- isra.reyes.a · Jan 2015
- Updated
- Dec 8, 2016
- Views
- 48
- Rating