Está en la página 1de 9

INFORME N.º 7.

ARDUINO UNO E/S DIGITAL


IF471-B SISTEMAS DIGITALES
Velasquez Flores Rodrigo Alonzo, rodrigo.velasquez.f@uni.pe
Universidad Nacional de Ingeniería, Facultad de Ciencias
14/06/2023
Resumen
En este informe se realizó una síntesis sobre la entrada y salida digital que contiene el microcontrolador Arduino
UNO, realizaremos una revisión de las conexiones, componentes y además de las aplicaciones prácticas que se le
puede dar.

1. Objetivos • Controlar el encendido y apagado de un


LED utilizando digitalWrite(),
permitiendo la retroalimentación
1.a) Objetivos generales: visual de eventos o estados en el
• Adquirir un conocimiento sistema.
sólido de los principios • Utilizar la entrada digital para detectar
fundamentales de la entrada y la activación de un sensor de
salida digital en Arduino UNO, proximidad y utilizar esta información
incluyendo cómo se utilizan los para controlar la activación o
pines digitales y cómo desactivación de un actuador como un
interactúan con dispositivos motor o una alarma.
externos.
• Aprender a utilizar de manera
efectiva los comandos
2. Fundamento teórico
digitalRead() y digitalWrite() Arduino UNO es una placa de desarrollo electrónica
en el entorno de programación que se utiliza para crear proyectos interactivos y
de Arduino para leer y controlar prototipos. Se basa en un microcontrolador y tiene
dispositivos de entrada y salida pines de entrada/salida que permiten conectar
digital. diversos dispositivos. Para controlar un motor a
pasos con Arduino UNO, se conecta el motor a pasos
• Utilizar los conceptos y técnicas a los pines adecuados de la placa y se utiliza el
aprendidas para desarrollar código programado en Arduino para enviar señales
proyectos prácticos que precisas que hacen que el motor gire en pasos
involucren la entrada y salida específicos, permitiendo así controlar su posición y
digital en Arduino UNO, movimiento de manera precisa y programable.
consolidando los
conocimientos y desarrollando
habilidades prácticas en la 2.1. Tipos de Arduino
interacción con dispositivos
externos.
Existen diferentes tipos de placas Arduino que se
adaptan a diferentes necesidades y requisitos de
1.b) Objetivos específicos:
proyectos. Algunos de los tipos de Arduino más
comunes son:
• Leer el estado de un interruptor o botón
utilizando digitalRead() y utilizar esta
información para activar o desactivar
una acción en el programa.

1
1. Arduino Uno: Es la placa más 2. Lectura o escritura: Para una entrada
popular y ampliamente utilizada. Es digital, se utiliza la función digitalRead()
ideal para proyectos básicos e para leer el estado lógico del pin. Devolverá
intermedios, con una buena cantidad un valor de 0 o 1, que representa el estado
de pines de entrada/salida y bajo o alto respectivamente.
capacidad para trabajar con una
amplia gama de componentes y 3. Para una salida digital, se utiliza la función
sensores. digitalWrite() para escribir un valor de 0 o
2. Arduino Mega: Esta placa es similar 1 en el pin. Un valor de 0 establecerá el
al Arduino UNO pero con mayor estado bajo (0V) en el pin, mientras que un
cantidad de pines de entrada/salida, valor de 1 establecerá el estado alto (5V).
lo que la hace adecuada para
proyectos más grandes y complejos
que requieren más conexiones y 4. Interacción con dispositivos: Finalmente,
componentes. el estado leído o escrito en los pines
3. Arduino Nano: Es una versión digitales se utiliza para interactuar con
compacta de Arduino Uno, con un dispositivos conectados.
factor de forma reducido. Aunque es
más pequeño, aún ofrece una
funcionalidad similar y es ideal para Por ejemplo, si se lee un interruptor conectado
proyectos donde el espacio es a una entrada digital, se puede tomar una acción
limitado. en función de si el interruptor está abierto o
4. Arduino Leonardo: A diferencia de cerrado. Si se envía un estado alto a una salida
otros modelos, el Arduino Leonardo digital, se puede encender un LED o activar un
utiliza un microcontrolador diferente motor.
(ATmega32u4) que permite una
funcionalidad adicional, como emular
un dispositivo USB y ser reconocido En resumen, se configura el modo de
como un teclado o mouse en una funcionamiento del pin, se realiza una lectura o
computadora. escritura en el pin y luego se utiliza el valor
5. Arduino Due: Esta placa se basa en obtenido para interactuar con dispositivos
un microcontrolador más potente externos. Este proceso permite la comunicación
(ARM Cortex-M3) y ofrece mayor entre el Arduino UNO y el mundo exterior a
velocidad y capacidad de través de señales digitales.
procesamiento. Es adecuada para
proyectos más avanzados que
requieren un rendimiento mejorado.

2.2. Principio de funcionamiento de la


entrada y salida digital de Arduino UNO

El principio de funcionamiento de las entradas y


salidas digitales de Arduino UNO se puede resumir en
los siguientes cuatro pasos:

1. Configuración: En primer lugar, se


configura el pin digital como entrada o
salida utilizando la función pinMode(). Si se
establece como entrada, el pin estará listo
para leer señales. Si se establece como
salida, el pin estará listo para enviar
señales.

Figura1: Entrada y salida Digital

2
3. Procedimiento experimental // Configurar los pines de los LEDs
como salida
• En el primer ejercicio se nos pide diseñar un
for (int i = 0; i < 4; i++) {
programa en Arduino, que encienda
pinMode(ledPins[i], OUTPUT);
secuencialmente 4 leds (solo un led
encendido a la vez). }

int Led1=2; // Configurar el pin de la entrada


int Led2=3; digital como entrada
int Led3=4; pinMode(inputPin, INPUT);
int Led4=5; }

void loop() {
void setup() { // Leer el estado de la entrada digital
pinMode (Led1,OUTPUT); //Indico que el inputState = digitalRead(inputPin);
pin2 sea un salida
pinMode (Led2,OUTPUT); // Encender los LEDs en secuencia si la
pinMode (Led3,OUTPUT); entrada está en alto
pinMode (Led4,OUTPUT); if (inputState == HIGH) {
for (int i = 0; i < 4; i++) {
} digitalWrite(ledPins[i], HIGH);
delay(500);
void loop() { digitalWrite(ledPins[i], LOW);
for(int i=2; i<6; i++) }
{ }
digitalWrite(i,HIGH); // Encender los LEDs en secuencia
delay(500); inversa si la entrada está en bajo
digitalWrite(i,LOW); else {
} for (int i = 3; i >= 0; i--) {
} digitalWrite(ledPins[i], HIGH);
delay(500);
digitalWrite(ledPins[i], LOW);
}
• En el segundo ejercicio se nos pide diseñar }
un programa en Arduino, que cuando una
}
entrada digital esta en alta, se enciendan 4
leds en secuencia y si esta en baja los leds se
enciendan en secuencia contraria.
• En el tercer ejercicio se pide diseñar un
programa en Arduino, que haga girar un
// Definir los pines para los LEDs y la
motor a pasos en sentido horario o
entrada digital antihorario.
const int ledPins[] = {2, 3, 4, 5}; // int Control = 5;
Pines de los LEDs • int t = 50;
const int inputPin = 6; // Pin de la • void setup()
entrada digital • {
• pinMode(10, OUTPUT);
// Variable para almacenar el estado de • pinMode(11, OUTPUT);
la entrada digital • pinMode(12, OUTPUT);
int inputState; • pinMode(13, OUTPUT);
• pinMode(Control, INPUT);
void setup() { • }

3

• void loop() c) Seguridad y alarmas: Con Arduino UNO, es
• { posible desarrollar sistemas de seguridad y
• if (digitalRead(Control) == alarmas caseras. Por ejemplo, se pueden
HIGH) utilizar sensores de movimiento conectados
• { a las entradas digitales para detectar
• for (int i = 10; i < 14; intrusos y activar una alarma sonora o
i++) enviar notificaciones a través de mensajes
• {
de texto o correo electrónico.
• digitalWrite(i, HIGH);
• delay(t);
d) Control de motores: Las salidas digitales
• digitalWrite(i, LOW);
de Arduino UNO pueden utilizarse para
• }
controlar motores, como motores de
• } else
corriente continua (DC) o motores a pasos.
• { Esto permite construir robots, vehículos
• for (int i = 13; i >= 10; controlados a distancia, sistemas de
i--) seguimiento solar o impresoras 3D, entre
• { otros proyectos.
• digitalWrite(i, HIGH);
• delay(t); e) Monitoreo y recolección de datos:
• digitalWrite(i, LOW); Arduino UNO puede conectarse a diferentes
• } sensores y utilizar las entradas digitales
• } para monitorear variables como
• } temperatura, humedad, presión, nivel de
• luz, entre otros. Estos datos pueden ser
almacenados en una tarjeta de memoria o
transmitidos a través de una conexión
inalámbrica para su posterior análisis y
4. Aplicaciones visualización en una computadora o
dispositivo móvil.
a) Control de luces: Utilizando las salidas
digitales de Arduino UNO, se pueden
encender y apagar luces de forma
programada. Esto es útil en sistemas de
5. Conclusiones
iluminación automatizados, como luces de
jardín, luces interiores controladas por • Arduino UNO es una plataforma de
sensores de movimiento, o incluso desarrollo amigable para principiantes y
simulación de amaneceres y atardeceres en ofrece un entorno de programación
terrarios o acuarios. intuitivo. Esto facilita el aprendizaje y la
implementación del control del motor a
b) Automatización del hogar: Arduino UNO pasos, incluso para aquellos con poca
puede utilizarse para controlar dispositivos experiencia en programación y electrónica.
domésticos, como encender o apagar
electrodomésticos, activar sistemas de riego • Arduino UNO cuenta con una gran
o controlar la temperatura mediante comunidad de usuarios en línea que
termostatos programables. Las entradas y comparten proyectos, códigos y consejos
salidas digitales permiten la interacción con útiles. Esta comunidad activa proporciona
sensores y actuadores para crear un sistema un amplio soporte y recursos que facilitan el
de automatización personalizado. desarrollo de proyectos con Arduino UNO y
el control de motores a pasos.

4
• Arduino UNO tiene limitaciones en cuanto a
la potencia de salida, lo que puede restringir
el tipo de motores a pasos que se pueden
controlar. Algunos motores más potentes
pueden requerir controladores externos o el
uso de placas Arduino de mayor capacidad.

• Arduino UNO está diseñado principalmente


para proyectos de prototipado y educativos.
No está diseñado para aplicaciones
industriales de alto rendimiento y entornos
severos, donde se requieren placas con
características específicas de resistencia y
confiabilidad.

6. Referencias
1. https://www.arduino.cc/en/Main/ArduinoBoardUno

2. https://create.arduino.cc/projecthub

3.https://www.instructables.com/tag/type-
id/category-technology/channel-arduino/

5
INFORME N.º 7. Entradas Analógicas
IF471-B SISTEMAS DIGITALES
Velasquez Flores Rodrigo Alonzo, rodrigo.velasquez.f@uni.pe
Universidad Nacional de Ingeniería, Facultad de Ciencias
14/06/2023
Resumen
En este informe se realizó una síntesis sobre las entradas analógicas, salidas PWM, puente H en el entorno de Arduino
UNO. Realizaremos una revisión del funcionamiento del código, conexiones y además de las aplicaciones prácticas
que se le puede dar.

1. Objetivos 1.b) Objetivos específicos:

1.a) Objetivos generales: • Realizar acciones específicas, como ajustar


el brillo de una luz o controlar la velocidad
• Adquirir un conocimiento sólido sobre de un motor DC.
cómo funcionan las entradas analógicas
en Arduino UNO, incluyendo el • Explorar diferentes sensores y señales
concepto de conversión analógica a analógicas disponibles, como sensores de
digital y la lectura de valores de señales temperatura, sensores de presión o
analógicas. potenciómetros, y aprender a conectarlos
correctamente a las entradas analógicas de
• Aprender a utilizar la función Arduino UNO.
analogRead() para leer valores
analógicos de las entradas analógicas y
utilizar esta información en el • Aplicar los conocimientos adquiridos sobre
desarrollo de proyectos. las entradas analógicas para crear
proyectos que involucren el control y
monitoreo de variables físicas, como
• Explorar las diversas formas en las que temperatura, humedad, luminosidad, o la
las entradas analógicas pueden ser lectura de señales analógicas de otros
utilizadas en proyectos prácticos, como dispositivos para tomar decisiones y
la medición de sensores de realizar acciones en función de esos valores.
temperatura, luz, humedad, o la lectura
de señales de entrada analógicas de
otros dispositivos.
2. Fundamento Teórico
En el contexto de Arduino UNO, una entrada
• Desarrollar las habilidades para utilizar analógica es un pin que puede medir una señal
las entradas analógicas en proyectos analógica en un rango de voltaje determinado. Estos
más complejos que involucren la pines pueden leer valores de voltaje continuos en
interacción con otros componentes y lugar de simplemente detectar estados alto o bajo
sensores, y aprovechar al máximo las como las entradas digitales. Las entradas analógicas
capacidades de Arduino UNO. permiten conectar sensores y dispositivos que
generan señales proporcionales a una variable

1
física, como temperatura, luz o presión, y así 2.2. Principio de funcionamiento de las
obtener mediciones precisas. entradas analógicas en Arduino UNO

Por otro lado, las salidas PWM son pines que El principio de funcionamiento de las entradas
pueden generar una señal digital cuadrada con un analógicas en Arduino UNO se puede resumir en los
ciclo de trabajo variable. Esto significa que la señal siguientes pasos:
se puede encender y apagar rápidamente en
intervalos regulares, y el ancho del pulso encendido
1) En primer lugar, se debe configurar el pin
se puede ajustar para controlar la cantidad de
específico de Arduino UNO como una
energía entregada a un dispositivo conectado, como
entrada analógica utilizando la función
un motor o un LED. Esto permite lograr efectos de
pinMode(). Esto le indica a Arduino que el
atenuación de luz, control de velocidad de motores
pin se utilizará para medir una señal
y otros ajustes de potencia. analógica.

Finalmente, un puente H en Arduino UNO es un 2) Una vez configurado como entrada


circuito o un módulo utilizado para controlar la analógica, se utiliza la función analogRead()
dirección y velocidad de un motor de corriente para leer el valor analógico del pin. Esta
continua (DC) o un motor a pasos. El puente H función convierte la señal analógica en una
permite invertir la polaridad y la corriente que fluye representación digital, utilizando un
a través del motor, lo que permite que el motor gire conversor analógico a digital (ADC)
en diferentes direcciones. También ofrece control integrado en Arduino UNO.
de velocidad mediante la modulación de ancho de
pulso (PWM). Los puentes H se utilizan
comúnmente en proyectos de robótica y 3) Después de leer el valor analógico, se puede
automatización donde se requiere un control utilizar esta información en el código del
preciso de los motores. programa para realizar acciones específicas
en función del valor leído. Por ejemplo, se
2.1. Tipos de puente H puede ajustar la intensidad de una luz,
En Arduino UNO, existen varias opciones para controlar la velocidad de un motor o
implementar un puente H y controlar motores de realizar mediciones de variables físicas.
corriente continua (DC) o motores a pasos. Aquí hay
tres tipos comunes de puentes H utilizados 4) Es importante tener en cuenta que el valor
comúnmente:
leído por la entrada analógica se encuentra
en un rango predefinido. Si se requiere una
A) Puente H L293D: Este chip puede controlar
hasta dos motores de corriente continua escala o calibración específica, se puede
bidireccionales o un motor a pasos. realizar un mapeo del valor leído a la escala
deseada utilizando operaciones
B) Módulo de puente H L298N: Se puede utilizar matemáticas o tablas de conversión.
con Arduino UNO para controlar motores de
corriente continua de mayor potencia. Puede
manejar hasta dos motores de corriente
continua bidireccionales o un motor a pasos.

C) Puente H TB6612FNG: Chip controlador de


motores que se puede utilizar como puente H
con Arduino UNO. Es adecuado para controlar
motores de corriente continua de baja potencia.
Al igual que los otros puentes H, puede controlar
hasta dos motores de corriente continua
bidireccionales o un motor a pasos.

2
3. Procedimiento Experimental while(digitalRead(ServoPin)==HIGH)
{
angulo = 10;
• En el ejercicio1 se nos pide diseñar un programa
angulo++;
en Arduino, que muestre el valor de voltaje en la
entrada analógica1
Motor1.write(angulo);
int Voltimetro=1; if(angulo>90)
float Voltaje=0; {
break;
void setup() { }
Serial.begin(9600);// put your setup delay(1000);
code here, to run once: }
}
} else
{
void loop() { while(digitalRead(ServoPin)==LOW)
Voltaje=analogRead(Voltimetro)*(5.00/10 {
23) angulo = 90;
Serial.print(Voltaje); //imprime en angulo--;
pantalla lo que aparece en los datos de
temperatura Motor1.write(angulo);
Serial.println(" v"); if(angulo<10)
delay(1000); //muestra los datos cada {
1s break;
} }
delay(1000);
}
}
}
• En el ejercicio se pide diseñar un programa en
Arduino que permite controlar la velocidad de
rotación de un motor DC con el voltaje de la
entrada analógica.
4. Aplicaciones

Las entradas analógicas en Arduino UNO tienen


#include <Servo.h> numerosas aplicaciones en una variedad de proyectos:
Servo Motor1;
a) Sensores de temperatura: Los sensores de
int angulo;
temperatura analógicos, como el LM35 o el
int ServoPin = 3;
DHT11, se pueden conectar a las entradas
void setup() analógicas de Arduino UNO para medir la
{ temperatura ambiente. Esta información se
Motor1.attach(9); puede utilizar para controlar sistemas de
pinMode(ServoPin,INPUT); climatización, sistemas de monitoreo de
temperatura, sistemas de control de
invernaderos, entre otros.
}
b) Sensores de luz: Los sensores de luz
void loop() analógicos, como los fototransistores o los
{ sensores de luz ambiente, se pueden utilizar
if (digitalRead(ServoPin)==HIGH) para medir la intensidad de la luz en un entorno.
{ Esto puede ser útil para regular la iluminación
automática, activar sistemas de seguridad en

3
función de la luz ambiental o crear proyectos que permite que el motor gire en diferentes
interactivos basados en la luz. direcciones.

c) Sensores de presión: Los sensores de presión


atmosférica o los sensores de presión de fluidos,
se pueden conectar a las entradas analógicas de
Arduino UNO para medir la presión en un
sistema. Estos sensores son útiles en
aplicaciones como sistemas de monitoreo de
presión, medición de nivel de líquidos, sistemas
de control de neumáticos, entre otros.

d) Sensores de humedad: Los sensores de


6. Referencias
humedad del suelo o los sensores de humedad y
1. https://learn.adafruit.com/arduino-tips-tricks-and-
temperatura, se pueden utilizar para medir el
techniques/analog-input
nivel de humedad en el aire o en el suelo. Estos
sensores son valiosos en aplicaciones como
sistemas de riego automático, monitoreo de
2.https://create.arduino.cc/projecthub/search?q=a
humedad en invernaderos, sistemas de control
nalog+input
de humedad en espacios cerrados, entre otros.

5. Conclusiones

a) Es importante considerar el rango de voltaje


y la resolución de las entradas analógicas al
seleccionar y conectar sensores y
dispositivos para garantizar mediciones
precisas y un buen rendimiento.

b) El uso de entradas analógicas en Arduino


UNO amplía las posibilidades de proyectos
al permitir la interacción con sensores
analógicos y el control de dispositivos en
función de valores analógicos.

c) Con las salidas PWM, se pueden realizar


efectos como el atenuado gradual de la luz
de un LED, la regulación de la velocidad de
un motor DC o el posicionamiento preciso
de un servomotor.

d) Los puentes H son ampliamente utilizados


en proyectos de robótica y automatización
que involucran el control preciso de
motores, como vehículos autónomos,
brazos robóticos y robots móviles.

e) El puente H permite invertir la polaridad y


la corriente que fluye a través del motor, lo

También podría gustarte