Arduino - Parte 1
Arduino - Parte 1
ARDUINO – Parte 1
ARDUINO - INTRODUCCIÓN
ARDUINO
Sensor de movimiento
Sensor de luz
Luminarias
Sensor de distancia
Pantallas
Sensor de flexión
Parlantes
Sensor de color
Motores
Sensor de temperatura
Relé: Radios, ventilador, licuadora, etc.
Pulsador
Programa ARDUINO
INTERFACES
INTERFACES
DE SENSORES ARDUINO ACTUADORES
DE SALIDA
ENTRADA
ENTRADAS PC /
SALIDAS PC
PC LAPTOP
Teclado
Programa PROCESSING Pantalla
Mouse
Proyector
Tableta digitalizadora
Parlantes
Joystick
Impresora
Escaner
Cámara
ARDUINO - PARTES
ARDUINO UNO
ARDUINO UNO
PROTOBOARD
PROTOBOARD
COMPONENTES ELECTRÓNICOS
LED (Light Emittting Diode)
Diagrama esquemático:
(A5) SCL
(A4) SDA
AREF
GND
UNUSED D13
IOREF D12
ARDUINO UNO
RESET ~ D11
3.3V ~ D10
5V ~ D9
GND D8
GND R1
VIN 1K
D7
~ D6
A0 ~ D5
A1 D4
A2 ~ D3
A3 D2
A4 (SDA) (TX) D1
A5 (SCL) (RX) D0
D1
Implementación en protoboard:
PROGRAMACIÓN DEL ARDUINO
ALGORITMO PROGRAMA
Función setup()
Se ejecuta una vez al inicio
Configurar el pin como salida
Función loop()
Se ejecuta siempre cíclicamente
Encender el led
Esperar 500ms
Apagar el led
Esperar 500ms
EJERCICIO 01: SEMÁFORO
Desarrollar un proyecto con Arduino que permita simular el comportamiento de
un semáforo. Para esto se tienen conectados tres leds, rojo, naranja y verde,
a tres pines del Arduino D3, D5 y D6 respectivamente.
(A5) SCL
(A4) SDA
AREF
GND
UNUSED D13
IOREF D12
ARDUINO UNO
RESET ~ D11
3.3V ~ D10
5V ~ D9
GND D8
GND R1 R2 R3
VIN 1K 1K 1K
D7
~ D6
A0 ~ D5
A1 D4
A2 ~ D3
A3 D2
A4 (SDA) (TX) D1
A5 (SCL) (RX) D0
D1 D2 D3
Rojo Naranja Verde
Implementación en protoboard:
ALGORITMO
Función loop()
Se ejecuta siempre cíclicamente
Encender el led verde
Función setup() Esperar 3s
Se ejecuta una vez al inicio Apagar el led verde
Configurar los pines conectados a
los leds como salida Encender el led naranja
Apagar los tres leds Esperar 1s
Apagar el led naranja
Diagrama esquemático:
(A5) SCL
(A4) SDA
AREF
GND
UNUSED D13
IOREF D12
ARDUINO UNO
RESET ~ D11
3.3V ~ D10
5V ~ D9
GND D8
GND
VIN
D7
~ D6
A0 ~ D5
A1 D4
A2 ~ D3
A3 D2 R1 1K
A4 (SDA) (TX) D1
A5 (SCL) (RX) D0
P1
D1
Implementación en protoboard:
ALGORITMO
Función setup()
Se ejecuta una vez al inicio
Configurar el pin para el led como salida
Configurar el pin para el pulsador como salida
Función loop()
Se ejecuta siempre cíclicamente
Leer estado del pulsador
Si pulsador está presionado, encender el led
Si pulsador no está presionado, apagar el led
PROGRAMA
EJERCICIO 02: LEDS INTERRUPTOR
Tenemos conectado al Arduino un interruptor, en D8, y dos leds: blanco y rojo,
en D2 y D3 respectivamente.
ARDUINO UNO
RESET ~ D11
3.3V ~ D10
5V ~ D9
GND D8
GND
VIN
D7
~ D6
A0 ~ D5
A1 D4
A2 ~ D3 R3 330
A3 D2 R2 330
A4 (SDA) (TX) D1 R1 330
A5 (SCL) (RX) D0
D1 D2 D3
Naranja Verde Azul
Implementación en protoboard:
ALGORITMO
Función setup()
Se ejecuta una vez al inicio
Configurar el pin para los leds
Función loop()
Se ejecuta siempre cíclicamente
Leer valor del potenciómetro
Si valor menor o igual a 350, encender solo led naranja
Si valor entre 350 y 700, encender solo el led verde
Si valor mayor o igual a 700, encender solo led azul
PROGRAMA
EJERCICIO 03: SECUENCIA DE LUCES
Tenemos conectado al Arduino un potenciómetro, en A0, y cinco leds rojos, en
D2, D3, D4, D5 y D6, que siguen la siguiente distribución:
D2 D3 D4 D5 D6
Entre 0 y 200
Desarrollar un programa que
siga la secuencia de luces Entre 201 y 400
mostrada conforme se mueva el
potenciómetro. Entre 401 y 600
Sintaxis:
pinMode(pinDig, tipo);
Sintaxis:
digitalWrite(pinDigSal, escritura);
Sintaxis:
lectura = digitalRead(pinDigEnt);
lectura: Puede ser: LOW: Lee del pin un nivel bajo de voltaje 0V
HIGH: Lee del pin un nivel alto de voltaje 5V
Función analogWrite()
Se utiliza para generar señales PWM por alguno de los pines del Arduino, una
señal PWM es una señal periódica de frecuencia constante cuyo ancho de pulso
varía. Como la frecuencia es alta, al medir tensión se obtiene voltajes
promedios que están entre 0 y 5V.
Se puede controlar el voltaje promedio entre 0 y 5V modificando el ancho de
pulso.
No genera señales analógicas.
Sintaxis:
analogWrite(pinDigPWM, valor);
Sintaxis:
lectAnlg = analoglRead(pinAnlgEnt);
Sintaxis:
delay(tpo_ms);
Sintaxis:
tone(pinDig, frecHz);
Sintaxis:
noTone(pinDig);
Sintaxis:
varSal = map(varEnt, E1, E2, S1, S2);