0% encontró este documento útil (0 votos)
15 vistas52 páginas

Arduino - Parte 1

El documento presenta una introducción al uso de Arduino, describiendo su funcionalidad como una placa de circuito electrónico para el desarrollo de sistemas digitales. Se detallan diversos dispositivos de entrada y salida, así como ejemplos de proyectos prácticos, como el parpadeo de un LED y la simulación de un semáforo. Además, se explican conceptos básicos de programación y conexión de componentes electrónicos como LEDs, pulsadores e interruptores.

Cargado por

jimena desmaison
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas52 páginas

Arduino - Parte 1

El documento presenta una introducción al uso de Arduino, describiendo su funcionalidad como una placa de circuito electrónico para el desarrollo de sistemas digitales. Se detallan diversos dispositivos de entrada y salida, así como ejemplos de proyectos prácticos, como el parpadeo de un LED y la simulación de un semáforo. Además, se explican conceptos básicos de programación y conexión de componentes electrónicos como LEDs, pulsadores e interruptores.

Cargado por

jimena desmaison
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 52

LABORATORIO DE INNOVACIÓN

ARDUINO – Parte 1
ARDUINO - INTRODUCCIÓN
ARDUINO

• Placa de circuito electrónico basado en un


microcontrolador (computadora en un solo
chip) para el desarrollo de sistemas
digitales.
• Circuito de propósito general: esta misma
placa puede ser usada en múltiples
aplicaciones.
• Se pueden conectar diversos dispositivos de
entrada y salida, que conforman el hardware
del sistema.
• El programa (software del sistema) se
desarrolla y descarga al circuito mediante
una aplicación para computadora personal
llamada Arduino IDE.
DISPOSITIVOS DE ENTRADA PARA ARDUINO
DISPOSITIVOS DE SALIDA PARA ARDUINO
DISPOSITIVOS CONTROLADOS POR ARDUINO AL COMUNICARSE CON UNA PC
EJEMPLO DE SISTEMA DIGITAL BASADO EN ARDUINO
SIMULACIÓN DEL SISTEMA UTILIZANDO TINKERCAD
Diagrama de bloques general de los sistemas a ver en el curso

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)

• El led emite luz al circular corriente del


ánodo al cátodo.

Ánodo (A) • La patita más larga es corresponde al


ánodo y la corta al cátodo.

• A mayor corriente mayor intensidad de luz.


Cátodo (K)
• La corriente que soporta el led es de
pocos miliamperios.
CONEXIÓN ARDUINO LED

• Para conectar un led al Arduino el ánodo


debe conectarse a uno de sus pines
DX digitales (D0 a D13) a través de una
R1 330 resistencia y el cátodo a tierra (GND).
ARDUINO
• Debe configurarse el pin de Arduino como
salida (OUTPUT).
D1

GND • Cuando el pin está en 5V o alta (HIGH) el


led se enciende, ya que circula corriente.

• Cuando el pin está en 0V o baja (LOW) el


led se apaga porque no hay corriente.
PULSADOR

• Está formado por dos contactos internos.

• Vamos a ver solo los pulsadores


normalmente abiertos (NO)

• En estos, los contactos están normalmente


abierto, mientras se presiona el botón los
contactos se cierran. Vuelven a abrirse
cuando se deje de presionar.
CONEXIÓN ARDUINO PULSADOR
• La manera más sencilla de conectar un pulsador
al Arduino es conectar uno de sus terminales a
algún pin digital (D0 a D13) y el otro
terminal a tierra (GND)
DX
• Se debe configurar el pin del Arduino como
ARDUINO salida y activar la resistencia de pullup
interna (INPUT_PULLUP)
P
• Cuando el pulsador está presionado al pin del
GND Arduino le llega un nivel de voltaje de OV o
bajo (LOW).

• Cuando el pulsador no está presionado, al pin


del Arduino lellega un nivel de voltaje de 5V
o alto (HIGH).
INTERRUPTOR

• Está formado por dos contactos


internos.

• Al manipular el cabezal los contactos


se abren o cierran.

• No se modifica el estado al retirar


la presión sobre ellos.
CONEXIÓN ARDUINO INTERRUPTOR

• La manera más sencilla de conectar un


interruptor al Arduino es conectar uno de sus
terminales a algún pin digital (D0 a D13) y el
otro terminal a tierra (GND)
DX
• Se debe configurar el pin del Arduino como
ARDUINO salida y activar la resistencia de pullup
interna (INPUT_PULLUP)
SW
• Cuando el interruptor está cerrado, al pin del
Arduino le llega un nivel de voltaje de OV o
GND
bajo (LOW).

• Cuando el interruptor está abierto, al pin del


Arduino le llega un nivel de voltaje de 5V o
alto (HIGH).
POTENCIÓMETRO

• Es una resistencia variable.

• Tiene tres terminales

• El valor de la resistencia entre los


terminales extremos se mantiene
constante.

• Pero el valor de las resistencias


entre el terminal del medio y el de
los extremos varía conforme se mueva
el perillero.
CONEXIÓN ARDUINO POTENCIÓMETRO

• La manera más sencilla de conectar un potenciómetro


al Arduino es:
5V
• Uno de los terminales del extremo a 5V.
• Otro de los terminales extremos a tierra (GND).
AX • El terminal del medio a un pin entrada analógica
(A0 a A5).
ARDUINO
• De esta manera al pin le llegarán tensiones entre 0V
y 5V conforme se mueva el perillero.
GND
• Esta entrada será digitalizada por el Arduino y
leeremos valores entre 0 (0V) y 1023 (5V).
EJEMPLOS Y EJERCICIOS DE ARDUINO EN TINKERCAD
EJEMPLO 01: PARPADEO DE UN LED
Desarrollar un proyecto con Arduino que haga parpadear a un led, 500ms deberá estar
encendido y 500ms apagado de manera continua. El led está conectado al pin D3 del
Arduino:

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.

Los leds deben seguir la siguiente secuencia cíclica:

• Solo el led verde debe estar encendido durante 3 segundos


• Solo el led naranja debe estar encendido durante 1 segundo
• Solo el led rojo debe estar encendido durante 2.5 segundos
• Solo el led naranja debe estar encendido durante 1 segundo
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 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

Encender el led rojo


Esperar 2.5s
Apagar el led rojo

Encender el led naranja


Esperar 1s
Apagar el led naranja
EJEMPLO 02: LED PULSADOR
Desarrollar un proyecto con Arduino donde podamos encender un led cada vez que se
mantiene presionado un pulsador, cuando el pulsador no está presionado el led debe
permanecer apagado. El led lo conectamos al pin PD3 y el pulsador al pin PD5.

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.

Desarrollar un programa que:

Cuando el interruptor está abierto se encienda solo el led blanco


Cuando el interruptor esté cerrado se encienda solo el led rojo.
EJEMPLO 03: POTENCIÓMETRO
Tenemos conectado al Arduino un potenciómetro y tres leds: naranja, verde y
azul.
Se pide hacer un programa que se vaya encendiendo un led a la vez dependiendo
de la posición del perillero del potenciómetro:

Si está a la izquierda (menor o igual a una lectura de 350) debe encenderse


solo el led naranja, si está en la zona del medio (lectura entre 350 y 700)
debe encenderse solo el led verde y si está en la zona derecha (lectura mayor
o igual a 700) debe encenderse solo el led azul.
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 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

Entre 601 y 800

Entre 801 y 1000

Entre 1001 y 1023


FUNCIONES PARA PROGRAMACIÓN DE ARDUINO
Función pinMode()
Se utiliza para configurar un pin digital como entrada o salida.

Sintaxis:
pinMode(pinDig, tipo);

pinDig: Puede ser 0, 1, 2, .. 13.

tipo: Puede ser: OUTPUT: pin configurado como salida


INPUT: pin configurado como entrada
INPUT_PULLUP: pin configurado como entrada,
resistencia interna de pullup habilitada
Función digitalWrite()
Se utiliza para escribir en los pines digitales configurados como salidas.
Escribir implica hacer llegar a los pines niveles de voltaje de 0V o 5V.

Sintaxis:
digitalWrite(pinDigSal, escritura);

pinDigSal: Puede ser 0, 1, 2, .. 13,


siempre y cuando haya sido configurado como salida.

escritura: Puede ser: LOW: Escribe en el pin un nivel bajo de voltaje 0V


HIGH: Escribe en el pin un nivel alto de voltaje 5V
Función digitalRead()
Se utiliza para leer los niveles de voltaje que hay en los pines digitales.
Se utiliza en los pines configurados como entrada.

Sintaxis:
lectura = digitalRead(pinDigEnt);

pinDigEnt: Puede ser 0, 1, 2, .. 13,


siempre y cuando haya sido configurado como entrada.

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);

pinDigPWM: Puede ser 3, 5, 6, 9, 10 y 11

valor: Se puede escribir un valor entre 0 y 255. 0 arroja 0V y 255 5V.


Función analogRead()
Se utiliza para leer los múltiples valores de tensión de voltaje que hay en los
pines analógicos.

Sintaxis:
lectAnlg = analoglRead(pinAnlgEnt);

pinAnlgEnt: Puede ser A0, A1, A2, A3, A4 o A5.

lectAnlg: Valores entre 0 y 1023, donde 0 corresponde a 0V y 1023 a 5V


Función delay()
Se utiliza provocar un retardo en el programa, esta función solo consume tiempo
durante el cual el Arduino no procesará ninguna otra operación.

Sintaxis:
delay(tpo_ms);

tpo_ms: La cantidad de milisegundos que demorará el retardo.


Función tone()
Se utiliza para generar una señal cuadrada periódica a una frecuencia configurable
por algún pin digital.

Sintaxis:
tone(pinDig, frecHz);

pinDig: Puede ser 0, 1, 2, .. 13,

frecHz: La frecuencia en Hertz de la señal que se quiere generar por el pin.


Función noTone()
Se utiliza para detener alguna señal cuadrada periódica que se esté generando
por algún pin digital.

Sintaxis:
noTone(pinDig);

pinDig: Puede ser 0, 1, 2, .. 13,


Función map()
Se utiliza para escalar una variable de un rango a otro.
Si se tienen dos variables, ambas con límites definidos y si se conoce el valor
de una de las variables (varEnt) se puede saber el valor de la otra (varSal).
Rango de varEnt [E1, E2], rango de varSal [S1, S2]

Sintaxis:
varSal = map(varEnt, E1, E2, S1, S2);

También podría gustarte