Está en la página 1de 16

Universidad Nacional del Callao

Facultad de Ingeniería Eléctrica Electrónica


Escuela Profesional de Ingeniería Electrónica

ARDUINO
(videos 4,5 y 6)

ESTUDIANTES:
MILLA TAMARIZ ANTHONY GUSTAVO - 2123220091
FLORES HUANCHACO ALEXANDER PABLO - 2123220215
OBLITAS TELLO CESAR FILADELFO - 2123220554
RAMOS GARCÍA JENIFER YESENIA - 2123220643

Sistemas Digitales (01L)


Laboratorio - 90G

PROFESOR: ING. JAIME BALAURTE MATICORENA

Memoria entregada el 06/09/2023

Perú – Callao
2023

1
Resumen:

En el presente informe de laboratorio del curso de sistemas digitales acerca de los videos
4, 5 y 6 del tema de Arduino elaboramos simulaciones para apoyarnos en su sistema de
circuito y evitar errores tanto en la plataforma de Arduino como la de Proteus utilizadas,
aprenderemos nuevos componentes electrónicos como lo es del sensor ultrasónico y
servomotor y lo que conlleva su programación apoyándonos del componente Arduino
Uno que actúa como cerebro de toda la unidad del circuito.

Palabras clave: circuito, Proteus, Arduino Uno, programación, componentes


electrónicos.

Abstract:

In this laboratory report of the digital systems course about videos 4, 5 and 6 of the
Arduino topic, we elaborate simulations to support us in its circuit system and avoid errors
in both the Arduino and Proteus platforms used, we will learn new electronic components
such as the ultrasonic sensor and servomotor and what its programming entails, supported
by the Arduino Uno component that acts as the brain of the entire circuit unit.

Keywords: circuit, Proteus, Arduino Uno, programming, electronic components.

2
INDICE

INDICE ............................................................................................................... 3
INTRODUCCIÓN................................................................................................ 4
OBJETIVOS ....................................................................................................... 4
MARCO TEORICO ............................................................................................. 5
ESPECIFICACIONES TÉCNICAS ................................................................. 8
CONEXIÓN.................................................................................................. 8
MATERIALES ................................................................................................... 14
DISEÑO: ........................................................................................................... 14
SIMULACION EN PLATAFORMA .................................................................... 15
CONCLUSIONES ............................................................................................. 16

3
INTRODUCCIÓN

El componente Arduino Uno nos ayuda como una plataforma de desarrollo y control para
componentes electrónicos. A lo largo de esta sesión, exploraremos tres experimentos
emocionantes que demuestran la versatilidad de Arduino en la interacción con el mundo
físico.
En la primera parte de este laboratorio, aprenderemos a controlar la intensidad de un LED
utilizando un potenciómetro. Exploraremos cómo leer valores analógicos del
potenciómetro y utilizarlos para ajustar el brillo del LED.
En el segundo experimento, utilizaremos un sensor ultrasónico para medir distancias a
objetos cercanos. Aprenderemos a configurar el sensor y cómo interpretar las mediciones.
Además, visualizaremos la información en un LED de una manera útil y práctica.
Finalmente, en el tercer experimento, controlaremos la dirección de giro de un servomotor
utilizando otro potenciómetro. Veremos cómo los valores del potenciómetro pueden
traducirse en ángulos de giro del servomotor y cómo podemos controlar la posición de
este.

OBJETIVOS

• Comprender la placa de Arduino y lo que conlleva su programación.


• Familiarizarse con la plataforma Arduino Uno y el entorno de desarrollo Arduino
IDE.
• Utilizar un sensor ultrasónico para medir distancias y controlar un LED en función
de las mediciones.
• Controlar un servomotor con la ayuda de un potenciómetro para cambiar su
posición angular.

4
MARCO TEORICO

(VIDEO 4)
PWM con LED y Potenciómetro para Brillo/Intensidad
- Alimentos al protoboard del Arduino
- Colocamos una resistencia en serie con el led para limitar la corriente
- Luego colocamos con unos jumpers al pin N°3

Concepto de PWM:
Podemos ver como seria la señal usando un valor bajo y también un valor alto

Teniendo esto conceptos claros podemos decir que

Al poner un delay , en este caso de 20 milisegundos en los diferentes casos, podemos


tener una señal cuadrada , sabiendo que en el 50% del tiempo la señal tiene un estado alto.

PWM, es modulación por ancho de pulso

5
Siendo D el Ciclo del trabajo (Zona Activa) y Vef siendo la tención Eficaz (Tención de
salida)
Pines PWM en (Arduino UNO)

1° Programa del VIDEO 4


- analogWrite , se encarga de general la señal con la frecuencia correcta y modular
el ancho de pulso.
- For , Pertenece al grupo de los bucle o lasos , (Repite el bucle de un código basado
en una condición)
Teniendo esto en cuenta. Programamos el siguiente código:

Con este Código variamos la intensidad del Led siento en BRILLO con un rango de 0 a
255, siento 255 el valor máximo con una tensión de 5V.
Circuito de Conexión
- Conectamos el potenciómetro al Circuito
- Conectamos al Pin A0 del Arduino.

6
2° Programa.
- Añadimos una nueva variable
POT con el Valor 0.
- analogRead; solo requiere un
parámetro que es la variable
POT = 0

al girar el potenciómetro vemos como varia la intensidad

(VIDEO 5)
SENSOR HC-SR04
El sensor HC-SR04 es un sensor de distancia de bajo costo que utiliza ultrasonido para
determinar la distancia de un objeto en un rango de 2 a 450 cm. Destaca por su pequeño
tamaño, bajo consumo energético, buena precisión y excelente precio. El sensor HC-
SR04 es el más utilizado dentro de los sensores de tipo ultrasonido, principalmente por la
cantidad de información y proyectos disponibles en la web. De igual forma es el más
empleado en proyectos de robótica como robots laberinto o sumo, y en proyectos de
automatización como sistemas de medición de nivel o distancia.

El sensor HC-SR04 posee dos transductores: un emisor y un receptor piezoeléctricos,


además de la electrónica necesaria para su operación. El funcionamiento del sensor es el
siguiente: el emisor piezoeléctrico emite 8 pulsos de ultrasonido(40KHz) luego de recibir
la orden en el pin TRIG, las ondas de sonido viajan en el aire y rebotan al encontrar un
objeto, el sonido de rebote es detectado por el receptor piezoeléctrico, luego el pin ECHO
cambia a Alto (5V) por un tiempo igual al que demoró la onda desde que fue emitida
hasta que fue detectada, el tiempo del pulso ECO es medido por el microcontrolador y así

7
se puede calcular la distancia al objeto. El funcionamiento del sensor no se ve afectado
por la luz solar o material de color negro (aunque los materiales blandos acústicamente
como tela o lana pueden llegar a ser difíciles de detectar).

La distancia se puede calcular utilizando la siguiente formula:


Distancia(m) = {(Tiempo del pulso ECO) * (Velocidad del sonido=340m/s)} /2
El sensor US-016 es similar al HC-SR04 pero con salida de tipo analógico, otro sensor
ultrasonido es el sensor US-100 con salida de tipo uart/serial.

ESPECIFICACIONES TÉCNICAS

• Voltaje de Operación: 5V DC
• Corriente de reposo: < 2mA
• Corriente de trabajo: 15mA
• Rango de medición: 2cm a 450cm
• Precisión: +- 3mm
• Ángulo de apertura: 15°
• Frecuencia de ultrasonido: 40KHz
• Duración mínima del pulso de disparo TRIG
(nivel TTL): 10 μS
• Duración del pulso ECO de salida (nivel TTL): 100-25000 μS
• Dimensiones: 45*20*15 mm
• Tiempo mínimo de espera entre una medida y el inicio de otra 20ms
(recomendable 50ms)

CONEXIÓN

• VCC (+5V DC)


• TRIG (Disparo del ultrasonido)
• ECHO (Recepción del ultrasonido)
• GND (Tierra: 0V)

CODIGO

Una vez configurado el IDE, empezamos a programar nuestro sketch, explicaremos paso
a paso el código para sea más comprensible:

Primero configuramos los pines y la comunicación serial a 9800 baudios

const int Trigger = 10


const int Eco = 9;

void setup() {
Serial.begin(9600);
pinMode(Trigger, OUTPUT);
pinMode(Eco, INPUT);
digitalWrite(Trigger, LOW);
}

8
Ahora en el bucle void loop() empezamos enviando un pulso de 10us al Trigger del sensor

digitalWrite(Trigger, HIGH);
delay(1);
digitalWrite(Trigger, LOW);

Seguidamente recibimos el pulso de respuesta del sensor por el pin Echo, para medir el
pulso usamos la función pulseIn(pin, value)

t = pulseIn(Eco,HIGH);

La variable t, tiene el tiempo que dura en llegar el eco del ultrasonido, el siguiente paso
es calcular la distancia entre el sensor ultrasónico y el objeto.

Partimos de la siguiente formula:

Donde Velocidad es la velocidad del sonido 340m/s, pero usaremos las unidades en
cm/us pues trabajaremos en centímetros y microsegundos, tiempo es el tiempo que
demora en llegar el ultrasonido al objeto y regresar al sensor, y la distancia recorrida es
dos veces la distancia hacia el objeto, reemplazando en la formula tenemos:

Finalmente enviamos serialmente el valor de la distancia y terminamos poniendo una


pausa de 100ms, que es superior a los 60ms recomendado por los datos técnicos del sensor

A continuación, se muestra el código completo del programa.

9
VIDEO 06
Servomotor
Un servomotor es un dispositivo
electromecánico utilizado para controlar y
ajustar con precisión la posición, velocidad
y/o aceleración de un mecanismo o sistema.
Estos motores son ampliamente utilizados en
una variedad de aplicaciones, desde robótica
hasta sistemas de automatización industrial,
vehículos a control remoto, aviones no
tripulados (drones), impresoras 3D y más.

10
Componentes clave:
Un servomotor consta de varios componentes,
incluyendo el motor en sí, un potenciómetro para
la retroalimentación de la posición, una caja de
engranajes para reducir la velocidad y aumentar
el torque, un circuito de control y un conjunto de
cables para la conexión.

Micro servomotor
Los micro servomotores son componentes esenciales en
muchas aplicaciones electrónicas y robóticas que requieren
un control preciso del movimiento en un espacio reducido. Su
tamaño compacto, peso ligero y capacidad de control de
posición los convierten en una elección popular para
proyectos donde la precisión y el espacio son críticos.

Conexión de alimentación y programación del servomotor


Como vemos la orden de configuración del servomotor depende del diseñador, la parte
GND pertenece a la alimentación a tierra, la parte VCC (el semiservo funciona con 5V)
pertenece a la alimentación de energía y la parte de señal pertenece a la programación y
salida de señal del microcontrolador.

Señales
Los servomotores se controlan mediante señales de Modulación por Ancho de Pulso
(PWM), y el ancho de los pulsos determina la posición del eje del motor dentro de su
rango de movimiento.

11
Señal PWM: El servomotor recibe una señal PWM a través de tres cables: uno para la
alimentación de energía (generalmente 5V o 6V), uno para la tierra (GND), y uno para la
señal de control (a menudo etiquetado como "Signal" o "Control"). La señal PWM se
envía desde un microcontrolador, una tarjeta de control o un circuito especializado.

Programación 1

CODIGO
Como vemos influimos a la librería servo para la emisión de señales.
#include <Servo.h>
Servo servol;

Designamos las variables de señal que será el 2 de un Arduino UNO y también


designamos los pulsos mínimos (PULSOMIN) y máximos (PULSOMAX)
Ojo debemos calibrar el pulso, como sabemos el servomotor tiene ángulos de movimiento
mínimos y máximos, entonces tendremos que calibrar en la parte de las variables
PULSOMIN y PULSOMAX para que pase de 0 a 180 grados.

int PINSERVO = 2;
int PULSOMIN = 1000:
int PULSOMAX = 2000;

Con el uso de la librería designamos las señales (PINSERVO, PULSOMIN,


PULSOMAX).
void setup (){
servol. attach (PINSERVO, PULSOMIN, PULSOMAX);
}

12
En void loop designamos el ángulo en la que se moverá el servomotor y con delay
designamos el tiempo de ejecución.
void loop (){
servol. write (0);
delay (5000) :
servol. write (180);
delay (5000) :
}

Programación 2

CODIGO
En este código solo haremos añadiremos la variable PULSOMIN
PULSOMAX, para poder controlarlo mediante un potenciómetro.

#include <Servo.h>
Servo servol;
int PINSERVO = 2;
int PULSOMIN = 1000;
int PULSOMAX = 2000;
int VALORPOT;
int ANGULO;
int POT = 0;
void setup () {
servol. attach (PINSERVO, PULSOMIN, PULSOMAX);
// las entradas analogicas no requieren inicializacion
}
void loop () {
VALORPOT - analogRead (POT);
ANGULO - map (VALORPOT, 0, 1023, 0, 180);
servol. write (ANGULO) ;
delay (20) ;
}

13
MATERIALES

Figura 1. Jumpers Figura 3. Arduino Uno Figura 4. Led

Figura 5. Protoboard Figura 6. Resistencia Figura 7. Pulsador

Figura 8. Sensor Ultrasónico Figura 6. Servomotor Figura 7. Pulsado

DISEÑO:

Implementado en el laboratorio del curso de Sistemas Digitales en la Facultad de


Eléctrica y Electrónica.

14
SIMULACION EN PLATAFORMA

PROTEUS

Primera programación del video 4

Segunda simulación del video 5

15
Simulación del video 5 (PLATAFORMA TINKERCARD)

Link de la Simulación en Tinckercard


https://www.tinkercad.com/things/7Zd73siVtvx-daring-
fyyran/editel?sharecode=AYBpNnPI1tT9-9g3UKRfuvN32ErEdjMhYxZQjqNnan8

CONCLUSIONES

✓ Nos familiarizarnos con el entorno de desarrollo de Arduino, incluyendo la


creación y carga de programas en la placa Arduino Uno. Hemos comprendido
cómo utilizar pines digitales y analógicos para interactuar con diversos
componentes.

✓ A través del experimento con el sensor ultrasónico, hemos explorado cómo


utilizar sensores para medir distancias a objetos cercanos. Hemos entendido el
principio de funcionamiento de los sensores ultrasónicos y cómo traducir los datos
en mediciones de distancia.

✓ En el tercer experimento, hemos aprendido a controlar la dirección de giro de un


servomotor utilizando un potenciómetro. Esto ilustra cómo los valores de entrada
analógica pueden influir en el movimiento de un actuador.

✓ La experiencia con Arduino y la interacción con diferentes componentes nos


brinda una base sólida para futuros proyectos y experimentos.

16

También podría gustarte