0% encontró este documento útil (0 votos)
158 vistas51 páginas

Avanzado - Modulo I Arduino

Este documento describe varios componentes y aplicaciones de Arduino. Explica que las bibliotecas facilitan la programación al proporcionar funciones adicionales. Describe los servomotores y cómo usar la librería Servo.h para controlar un servomotor conectado a Arduino mediante señales PWM. También cubre el uso de motores DC, módulos RGB, láseres, relés, joysticks y pantallas LED y LCD.
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)
158 vistas51 páginas

Avanzado - Modulo I Arduino

Este documento describe varios componentes y aplicaciones de Arduino. Explica que las bibliotecas facilitan la programación al proporcionar funciones adicionales. Describe los servomotores y cómo usar la librería Servo.h para controlar un servomotor conectado a Arduino mediante señales PWM. También cubre el uso de motores DC, módulos RGB, láseres, relés, joysticks y pantallas LED y LCD.
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/ 51

Contenido

1. BIBLIOTECAS O LIBRERIAS EN ARDUINO .................................... 5


2.SERVOMOTORES Y ARDUINO ........................................................... 8
2.1 ¿Qué es un servomotor? ......................................................................... 8
3. EJERCICIO 1: CONTROL DE UN SERVO MOTOR ......................... 10
3.1 Precauciones al usar la biblioteca 'Servo.h' .......................................... 11
4. EJERCICIO 1: SERVO MOTOR CON POTENCIOMETRO ............. 14
5. MOTORES DE CORRIENTE CONTINUA(DC) ................................ 16
5.1 Motor de DC o motor de CC ................................................................ 16
5.2 Diseño del motor de corriente continua ............................................... 17
5.3 Función Motor DC ............................................................................... 17
5.4 Control de motores DC ........................................................................ 18
5.5 Tipos de motores DC............................................................................ 18
5.6 Partes y funcionamiento de un motor DC ............................................ 19
5.7 Control de un motor DC ....................................................................... 20
5.8 Motorreductor....................................................................................... 21
6. EJERCICIO: USO DE MOTORREDUCTOR ...................................... 22
7. RGB MODULO..................................................................................... 24
8. LASER ................................................................................................... 28
9. RELÉ ..................................................................................................... 30
Módulo Relé 2 Canales Estado Sólido SSR ............................................... 31
10. USO DE JOYSTICK .......................................................................... 33
11. LED DISPLAY................................................................................... 37
11.1 TIPOS DE PANTALLAS LED ......................................................... 37
12. LCD .................................................................................................... 40
12.1 TIPOS DE DISPLAY......................................................................... 41
12.2 DISPLAY LCD DE LINEAS ............................................................ 41
12.3 CONECTOR I2C ............................................................................... 41
12.4 DisplayI2CAdaptador......................................................................... 41
12.5 EJERCICIO #1 ................................................................................... 46
12.6 EJERCICIO #2 SENSOR DE TEMPERATURA .............................. 48
13. EVALUACIÓN .................................................................................. 50
Tiempo de
Módulo I
aprendizaje

Arduino 12 horas

OBJETIVOS
✔ Conceptualizar el significado de bibliotecas o librerías Arduino.
✔ Conocer el concepto de Motores para Arduino.
✔ Diferenciar y reconocer los tipos de Servomotores que se pueden
conectar a una placa Arduino.
✔ Comprender el funcionamiento de un Joystick.
✔ Comprender y aplicar la forma de generar diferentes colores
usando un RGB.
✔ Interpretar y aplicar el uso de un módulo Laser.
✔ Conocer y aplicar el uso de un módulo Relé.
✔ Diferenciar y reconocer los tipos de led Display.
✔ Comprender el uso de una pantalla LCD.
1. BIBLIOTECAS O LIBRERIAS EN ARDUINO
Las librerías o Bibliotecas son más que funciones que se pueden inyectar en nuestro
código para realizar tareas de programación específicas. hechas por terceros que
usamos en nuestro sketch. Esto nos facilita mucho la programación y permite la
abstracción haciendo que nuestro programa sea más sencillo de hacer y de entender.
El entorno Arduino se puede ampliar mediante el uso de bibliotecas, al igual que la
mayoría de las plataformas de programación. Las bibliotecas brindan funcionalidad
adicional para usar en bocetos, por ejemplo, trabajar con hardware o manipular
datos. Existen varios tipos de bibliotecas por ejemplo las usadas en robótica, para
comunicación, para conectividad, para memoria, para monitor etc.

Para usar una librería o biblioteca primero debes descargarlas e instalarla, para lo cual
existen varios métodos, por ejemplo:

Mediante el IDE de Arduino:

• Instalación Manual. Descomprimiendo en un directorio la librería y copiándolo en el


directorio de librerías. Generalmente Mi Documentos/Arduino/libraries. Aquí se
guardan las librerías contribuidas por el usuario como lo denomina el IDE.
• Desde el gestor de librerías. A partir de la versión 1.6.2 del IDE de Arduino se
incorpora el gestor de librerías que facilita el trabajo.

Esta herramienta es accesible desde Programa → Incluir Librería → Gestionar


Librerías. Desde aquí podemos ver las librerías instaladas, buscar librerías
disponibles, instalar librerías y actualizarlas.

Esta herramienta también nos permite gestionar las librerías instaladas manualmente.
Desde C:\Users\nombre_usuario\AppData\Local\Arduino15, podemos ver en formato
el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.

IMPORTANTE: Para añadir una librería a nuestro proyecto simplemente se añade


a nuestro código la palabra clave #include seguido del nombre de la librería.
Para finalizar con las librerías, generalmente cada dispositivo que compramos, shield,
sensor, actuador, etc. viene con su propia librería que debemos instalar para poder
usarlo. Estas librerías podemos verlas, modificarlas o incluso añadir funcionalidades.

A la hora de elegir un elemento de hardware, uno de los argumentos importantes es la


librería que nos ofrece el fabricante o la comunidad y su facilidad de uso.

https://www.arduinolibraries.info/
2.SERVOMOTORES Y ARDUINO
2.1 ¿Qué es un servomotor?
Un servomotor es un actuador rotativo o motor que permite un control preciso en
términos de posición angular, aceleración y velocidad (en revoluciones por minuto (rpm),
ya sea en sentido horario o antihorario las cuales son capacidades que un motor normal
no tiene. En definitiva, utiliza un motor normal y lo combina con un sensor para la
retroalimentación de posición.

Pero, los servomotores no son en realidad una clase específica de motor, sino una
combinación de piezas específicas, que incluyen un motor de corriente continua o
alterna. En este caso usaremos el servomotor (SG90), es un servomotor que puede
girar de 0 a 180 grados en lugar de 360 grados, y al controlar la posición de rotación,
se puede controlar el ángulo de rotación o la velocidad de rotación. Para usar el SG90,
debe manejar la señal PWM a través de Arduino. PWM (modulación por ancho o de
pulso) es un tipo de señal de voltaje utilizada para enviar información o para modificar
la cantidad de energía que se envía a una carga. Los servomotores tienen tres pines de
conexiones: alimentación (5 V, normalmente), tierra o GND y la patilla de señal, a
través de la cual el sistema de control emitirá una señal PWM

◾ Ángulo de rotación 0 ~ 180


grados

◾ control del ángulo y la


velocidad

◾ Voltaje de funcionamiento
4.8 ~ 7.2V

◾Voltaje de corriente 0.2 ~


0.7A

◾ Tres cables de conexión


- VCC es rojo, GND es marrón,
la línea de señal es naranja

◾1.8kg.cm de par

◾Tamaño 22.2 x 11.8 x 31 mm


- Placa Uno: Total de 6
pines de salida PWM

(~3, ~5, ~6, ~9, ~10, ~11)

- Se muestra una onda (~)


en el lado del pin digital.

- Salida PWM: Abreviatura


de Modulación de ancho de Arduino puede dividir 0-5V en
pulso, que significa señales 0-255 (256 tipos)
controlar el ancho de emitiendo una señal PWM a
vibración. través del pin PWM.

Un método de salida que


crea una señal analógica
ajustando el valor de HIGH
para cada ciclo
3. EJERCICIO 1: CONTROL DE UN SERVO MOTOR
OBJETIVO: Comprender el funcionamiento de un servo motor y su configuración
como dispositivo de salida en una placa Arduino Mega.

MATERIALES: Placa Arduino Mega, Servo SG90, 3 cables puente macho, PC.

PROCEDIMIENTO: Elabore el siguiente circuito:

Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,


seguidamente cópielo en IDE de Arduino y haga el circuito en físico. Súbalo a la placa
Arduino.

#include <Servo.h>

Servo miservo; // crea el objeto servo

int angulo = 0; // angulo de posición del servo

void setup() {

miservo.attach(9); // vincula el servo al pin digital 9

void loop() {
angulo = 90; //primer movimiento (equivalente a angulo 90º)

miservo.write(angulo);

delay(1500);

angulo = 180; //segundo movimiento (equivalente a angulo 180º)

miservo.write(angulo);

delay(1500);

angulo = 0;//tercer movimiento (equivalente a vuelta al angulo


0º)pos. inicial

miservo.write(angulo);

delay(1500);

Si lo notas hemos incluido un elemento nuevo que es una librería <Servo.h>, una
librería es una colección de funciones que incluyes de una manera muy sencilla y
explícita en tu sketch y que proporciona una cierta funcionalidad específica.

3.1 Precauciones al usar la biblioteca 'Servo.h'


Puede controlar hasta 12 servomotores

Cuando se usa en placa de Arduino uno la señal PWM de los pines digitales 9 y 10 no
se puede usar, El uso de la biblioteca desactiva el analogRead que es funcionalidad de
los PWM.

La corriente máxima que se puede suministrar desde un pin en la placa Uno es de


40mA. La corriente máxima que se puede suministrar desde todos los pines no puede
exceder los 200 mA, por lo que es necesario verificar al conducir el motor. Si es
necesario, se debe utilizar una fuente de alimentación externa. En este caso, se debe
conectar el GND del Arduino y el GND de la alimentación externa.

Analice el siguiente Código y cárguelo en su placa Arduino, observe cual es el


desempeño del Servo motor y comente con sus compañeros.

#include <Servo.h> // Incluye la biblioteca Servo.h

Servo myservo; // Declara servomotor con el nombre


myservo

int pos = 0; // Declara variable pos (muestra la posición


del servo)

void setup() {

myservo.attach(9); // Conecta la línea de señal del servomotor al


pin digital 9 (PWM)

void loop() {

for (pos = 0; pos <= 180; pos += 1) { //Comienza pos en 0 y


agregue 1 hasta 180.

myservo.write(pos); // Mueve el servomotor a la


posición pos.

delay(15); // pausa de 0,015 segundos

for (pos = 180; pos >= 0; pos -= 1) { // Resta 1 de la variable pos


de 180 a 0.

myservo.write(pos); // Mueve el servomotor a la


posición pos.

delay(15); // Retraso de 0,015 segundos

}
}

}
4. EJERCICIO 1: SERVO MOTOR CON POTENCIOMETRO
OBJETIVO: Analizar y verificar el funcionamiento de un servo motor utilizando un
potenciómetro en una placa Arduino Mega.

MATERIALES: Placa Arduino Mega, Servo SG90, 6 cables puente macho-macho


de diferentes colores, potenciómetro, PC, Protoboard.

PROCEDIMIENTO: Elabore el siguiente circuito.

Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,


seguidamente cópielo en IDE de Arduino y haga el circuito en físico.

#include<Servo.h> // librería para el Servo


Servo myServo; // declaración de variable myServo
int const PotPin = A5; // declaración de variable PotPin
asignándola al pin Analógico No. A5
int PotVal; // declaración de variable PotVal
int angle; // declaración de variable angle

void setup() {
myServo.attach(9);
Serial.begin(9600);
}

void loop() {
PotVal = analogRead(PotPin);
Serial.print("PotVal:");
Serial.print(PotVal);
angle = map(PotVal, 0, 1023, 0, 179);
Serial.print ("angle= ");
Serial.println (angle);
myServo.write(angle);
delay (15);
}
5. MOTORES DE CORRIENTE CONTINUA(DC)

El motor DC, también llamado motor de corriente continua, pertenece a la clase de los
electromotores y sirve principalmente para transformar la energía eléctrica en energía
mecánica. La mayoría de las formas de construcción del motor DC de bajo voltaje se
basa en fuerzas magnéticas y dispone de mecanismos internos de tipo electrónico o
electromecánico. También característico de los motores de corriente continua
convencionales es el acumulador o la fuente de poder que se utiliza es que puede
cambiar periódicamente la dirección del flujo de corriente del motor. Una
modificación del motor DC clásico que resulta más potente en numerosos ámbitos de
aplicación es el motor DC sin escobillas, que prescinde de contactos de roce y ofrece
así, entre otras cosas, una vida útil más larga.

5.1 Motor de DC o motor de CC


Los motores de DC son también llamados motores de corriente continua, su
contraparte directa son los motores de AC o también llamados motores de corriente
alterna. Como su nombre indica, un motor de CC puede ser alimentado por la corriente
continua de una fuente de voltaje de CC, como una batería de 12V. La imagen anterior
muestra la vista trasera y frontal de un motor de corriente continua. Para explicar mejor
su estructura y funcionamiento, se ha elegido un diseño de motor muy sencillo.

vista trasera y delantera del motor de DC.


5.2 Diseño del motor de corriente continua
Como cualquier motor eléctrico, el motor de corriente continua está formado por un
rotor y un estator. A diferencia de los motores de CA, el estator no giratorio del motor
de CC de bajo voltaje está formado por imanes permanentes. Los imanes permanentes
están fijados a una cubierta cilíndrica de chapa metálica. El rotor giratorio está formado
por finas láminas eléctricas individuales. El rotor se enrolla con bobinas de hilo de
cobre. Los devanados individuales están conectados al conmutador. En el
conmutador giratorio hay dos escobillas para los polos positivo y negativo. Las
escobillas pueden ser de carbono o de metal, por ejemplo. Para mejorar el contacto,
las clavijas de carbono se presionan sobre el conmutador mediante pequeños muelles.
Las escobillas están conectadas a los polos positivo y negativo de la tensión continua.
A diferencia de un motor de CA, que suele tener tres terminales para la alimentación,
el motor de CC sólo tiene dos terminales para la tensión continua.

5.3 Función Motor DC


Como cualquier motor eléctrico, el motor de corriente continua requiere un campo
magnético cambiante, que cambia en función de la posición. El campo magnético es
generado por un flujo de corriente en los devanados. Para que el campo magnético
cambie en función de la posición, la dirección del flujo de corriente en los devanados
debe cambiar. Para esto es necesario el llamado conmutador, que cambia la polaridad
de la tensión aplicada a los devanados. Así, el conmutador se encarga de que se aplique
a los devanados una tensión positiva o una tensión negativa. Por lo tanto, la dirección
del flujo de corriente en el devanado también cambia y también lo hace el campo
magnético. Por lo tanto, el conmutador puede considerarse como un inversor mecánico
que convierte la corriente continua del motor en una corriente alterna para los
devanados. Por ello, el conmutador también se denomina inversor mecánico de
corriente.

Vista frontal y superior del conmutador del motor DC.


5.4 Control de motores DC
El sentido de giro puede ajustarse fácilmente mediante la polaridad de los dos
terminales del motor de CC. Así, por ejemplo, +12V para la rotación en el sentido de
las agujas del reloj y -12V para la rotación en sentido contrario. La tensión de
alimentación y el sentido de giro exactos deben consultarse en la hoja de datos del
fabricante del motor de CC. La velocidad puede modificarse a través de la tensión del
motor de corriente continua. Sin embargo, para controlar la velocidad correctamente,
se necesita un sensor o codificador para detectar la velocidad. También existen
métodos especiales para calcular la velocidad a partir de la corriente del motor.

Conmutador de motor DC con bobinas.

5.5 Tipos de motores DC


Podemos clasificar un motor DC en:

✔ Con escobillas
✔ Sin escobillas

El resto son variantes de los anteriores como son:

Motorreductor. Aumenta su fuerza reduciendo su velocidad, por medio de piñones.

Motor con encoder. Para sensar la velocidad y el sentido de giro. Es la integración de


una máquina y un equipo encoder con capacidades para transformar el movimiento
mecánico en acciones digitales.
Servomotor. Para movimientos que requieran precisión, con poca estabilidad en
reposo. Su par de motor (fuerza de motor) es variable. Puede alcanzar mayor
velocidad.

Servo motor SG90

Motor paso a paso. Para movimientos que requieran precisión y estabilidad en


reposo. Su par de motor siempre es máximo.

Escoger entre un servomotor o un motor paso a paso, dependerá de lo que necesitemos


en nuestro proyecto.

En la imagen inferior observamos que un motor paso a paso no tiene escobillas.

5.6 Partes y funcionamiento de un motor DC


En la imagen inferior observamos las partes y el funcionamiento de un motor DC.

La fuente de tensión DC por ejemplo una batería de 12v se


aplica al motor por medio de unas escobillas (brushes) de
carbón (material resistente a la fricción), al colector de
delgas del rotor. Aquí se establece el contacto entre una parte
fija y una parte móvil.
La parte móvil se llama rotor, es una bobina que permite que
se cierre el circuito eléctrico y se genere la corriente.
Aparecen alrededor del rotor unas líneas de campo
magnético.

El rotor se encuentra rodeado por un estator de imanes permanentes y por tanto está
bajo la influencia de su campo magnético.

La interacción entre el campo magnético del rotor y el campo magnético del estator
genera el movimiento del eje del rotor, este tiene colocada una polea en uno de sus
extremos y así podemos aprovechar su movimiento.

Esta explicación, aunque básica, es suficiente para nuestro propósito.

5.7 Control de un motor DC


Ya sea que para nuestro proyecto con Arduino necesitemos un motorreductor, si
estamos construyendo un carrito para nuestros niños; un servomotor, para ser movido
por un sensor ultrasónico; un motor paso a paso, para nuestra impresora 3D, o lo que
tengas pensado construir que requiera movimiento, necesitarás tener en cuenta al
menos tres de las características del motor DC vistas anteriormente:

✓ El torque que puede manejar, es proporcional al consumo de corriente (a mayor


torque, más consumo).
✓ La inversión de giro del rotor.
✓ La regulación de su velocidad.

La corriente que puede entregar un microcontrolador en sus salidas, es solo del orden
de unos 20 mA, máximo 40 mA, y un pequeño motor DC de unos 6 voltios, ya puede

Nunca debes colocar un motor DC directamente a una salida de un Arduino o


ninguna otra tarjeta microcontrolada, ya que se destruiría el microcontrolador.

consumir 60 mA funcionando sin carga. Ni pensar en motores un poco más grandes y


con máxima carga.

Para hacer el interfaz, y poder manejar el motor necesitamos poner una pieza intermedia,
existen varias opciones para realizar esta interfaz, la más básica es usando transistores;
también podemos usar circuitos integrados como el driver L293D o módulos
especializados como el L298N. Puede ser un transistor MOSFET(Metal-Oxide-
Semiconductor Field-Effect-Transistor) que significa Transistor de efecto de campo
semiconductor de óxido de metal, que regula la señal de salida de voltaje o también
podemos utilizar un puente H.
5.8 Motorreductor
Es un mecanismo electromecánico capaz de regular la velocidad de giro de un motor
en una máquina para que funcione con un ritmo determinado. Consta de una cadena
de engranajes que aplican diferentes velocidades a las piezas giratorias de un motor.

Los diferentes componentes de un motorreductor son los que hacen posible que
descienda o aumente la velocidad de un mecanismo sin que el motor se resienta.
Además de realizar esta limitación de giro rotatoria, este sistema se encarga de poder
ajustar su potencia mecánica.
6. EJERCICIO: USO DE MOTORREDUCTOR
OBJETIVO: Hacer funcionar un motor DC 6V (corriente directa) con Arduino y
con Gorila Cell.

MATERIALES:

✔ Motor de 6 V DC
✔ Arduino UNO o similar
✔ Protoboard
✔ Cables
✔ Resistencia de 330 Ω
✔ Diodo 1N4004
✔ Transistor 2N2222A

PROCEDIMIENTO: Elabore el siguiente circuito:

Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,


seguidamente cópielo en IDE de Arduino y haga el circuito en físico.

byte motorDC = 3;

void setup()

{
pinMode(3, OUTPUT);

void loop()

digitalWrite(motorDC, HIGH);

delay(2000);

digitalWrite(motorDC, LOW);

delay(2000);

}
7. RGB MODULO
El LED RGB consta de 3 leds de 3 colores diferentes: rojo, verde y azul. La
combinación de luz de estos 3 leds genera una luz que puede abarcar cualquier
tonalidad por brillo en la escala RGB. El LED RGB se conecta a 4 pines diferentes, 3
serán pines de datos y el cuarto pin se conecta a GND por ser este led de cátodo común.

Voltaje de funcionamiento: 3 – 5 V.

Tipo de entrada: PWM. La señal varía entre 0 y 255. En función de este valor se
conseguirá un tono de color en la luz.

Tamaño del led: 35 x 26.3 mm.

PINES:

R: Intensidad del color rojo, se conecta a un PIN PWM.

G: Intensidad del color verde, se conecta a un PIN PWM.

B: Intensidad del color azul, se conecta a un PIN PWM.

-: GND.

OBJETIVO: Hacer funcionar un DIODO RGB con Arduino generando por lo


menos 4 diferentes colores.

MATERIALES:

✔ Un LED RGB de cátodo común


✔ Modulo RGB
✔ 3 Resistencias 330Ω
✔ 4 cables macho-macho
✔ Arduino UNO
✔ Una protoboard
PROCEDIMIENTO: Elabore el siguiente circuito conforme la imagen e
introduzca el código que se presenta a continuación, depúrelo y haga la prueba de
funcionamiento en Tinkercad y luego la prueba en físico y Arduino.

Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,


seguidamente cópielo en IDE de Arduino.

int ledRojo = 3;

int ledVerde = 5;

int ledAzul = 6;

void setup() {

pinMode(ledRojo, OUTPUT);

pinMode(ledVerde, OUTPUT);

pinMode(ledAzul, OUTPUT);

void loop() {

//Hacer color rojo


digitalWrite(ledRojo, 255);

digitalWrite(ledVerde, 0);

digitalWrite(ledAzul, 0);

delay(1500);

//Hacer color verde

digitalWrite(ledRojo, 0);

digitalWrite(ledVerde, 255);

digitalWrite(ledAzul, 0);

delay(1500);

//Hacer color azul

digitalWrite(ledRojo, 0);

digitalWrite(ledVerde, 0);

digitalWrite(ledAzul, 255);

delay(1500);

//Hacer color blanco

digitalWrite(ledRojo, 255);

digitalWrite(ledVerde, 255);

digitalWrite(ledAzul, 255);

delay(1500);

//Hacer color amarillo


digitalWrite(ledRojo, 255);

digitalWrite(ledVerde, 255);

digitalWrite(ledAzul, 0);

delay(1500);

//Hacer color magenta

digitalWrite(ledRojo, 255);

digitalWrite(ledVerde, 0);

digitalWrite(ledAzul, 255);

delay(1500);

//Hacer color cian

digitalWrite(ledRojo, 0);

digitalWrite(ledVerde, 255);

digitalWrite(ledAzul, 255);

delay(1500);

//Hacer color rosa

analogWrite(ledRojo, 255);

analogWrite(ledVerde, 0);

analogWrite(ledAzul, 128);

delay(1500);

}
8. LASER
Un diodo láser es un dispositivo similar a un LED convencional, pero que en lugar de
emitir luz convencional emite un haz de láser.

A diferencia entre un haz de luz convencional y un haz de láser es que avanza en línea
recta. Si el generador láser fuera perfecto y el haz estuviera en el vacío, la luz seguiría
su camino hasta que encontrara un obstáculo. LASER significa Light Amplification
by Stimulated Emission of Radiation (En español: Amplificación de Luz por Emisión
Estimulada de Radiación). Por tanto, un láser es un dispositivo que emite luz mediante
un proceso de amplificación óptica basado en las emisiones estimuladas de radiación
electromagnética. Los diodos láser, en comparación con los LED, tienen tiempos de
respuesta mucho más rápidos y pueden enfocar su radiación a un área tan pequeña
como 1µm (micrómetro) -de diámetro.

OBJETIVO: Hacer funcionar un DIODO LASER con Arduino generando una señal
y aplicarla a un LDR para encender y apagar un LED.

MATERIALES:

✔ Un Diodo LASER
✔ Un Buzzer
✔ Un LDR
✔ 1 Resistencias 10K
✔ cables puente macho-macho, hembra-macho
✔ Arduino UNO
✔ Una Protoboard

PROCEDIMIENTO: Elabore el siguiente circuito conforme la imagen e


introduzca el código que se presenta a continuación, depúrelo y haga la prueba de
funcionamiento en Tinkercad y luego la prueba en físico y Arduino.
Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,
seguidamente cópielo en IDE de Arduino y haga el circuito en físico.

int buzzerPin = 9;

int laserPin = 8;

int sensor = A0;

int lectura;

void setup() {

pinMode(buzzerPin, OUTPUT);

pinMode(laserPin, OUTPUT);

Serial.begin(9600);

digitalWrite(laserPin, HIGH);

analogWrite(buzzerPin, 0);

void loop() {

lectura = analogRead(sensor);

Serial.println(lectura);

if (lectura < 550) {

Serial.println("Alarma");

analogWrite(buzzerPin, 255);

} else {

analogWrite(buzzerPin, 0);

}
9. RELÉ

Es un dispositivo electromagnético que funciona como un interruptor controlado por


un circuito eléctrico en el que, por medio de una bobina y un electroimán, se acciona
un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos
independientes.

Si activamos el relé, poniendo a 5 Volts el pin de control dejará pasar la corriente (se
cierra el circuito interruptor), mientras que si la tensión es 0 Volts se interrumpirá la
corriente. Existen relés para 12 Volts, 24V, 110V, 220V en la parte como interruptor.

Voltaje de alimentación: 5VDC.

✔ Se conectan directamente a un microcontrolador u otro circuito integrado.


✔ Este tipo de modulo se activa con una señal de 0VDC, es decir, 0 lógico.
✔ Posee LED indicador de accionamiento.
✔ El módulo cuenta con tres pines: Positivo (VCC), Señal, Negativo (GND).
✔ Soporte de corriente en contactos del relé: 10A 250V.
✔ Tamaño compacto.

Principalmente existen dos tipos de relés: los electromecánicos


y los de estado sólido o SSR (de las siglas en inglés Solid State
Relay).

La principal diferencia entre ellos es que los electromecánicos


cuentan internamente con partes móviles, de ahí que sean
mecánicos. Los de estado sólido, por el contrario, están
compuestos por dispositivos semiconductores: diodos, transistores, tiristores y triacs.
Al igual que un interruptor mecánico, un relé cuenta con dos placas de metal que
pueden ser unidas o separadas. La diferencia es que en este caso no se utiliza una
palanca o un pulsador para unirlas o separarlas. En su lugar se utiliza una corriente
eléctrica, de ahí que se le denomine electromecánico.

Módulo Relé 2 Canales Estado Sólido SSR

OBJETIVO: Hacer funcionar dos lampara que puedan ser activadas con una señal
digital por medio de un Arduino activando un relé

MATERIALES:

✔ Arduino Mega
✔ Cable USB para programar
✔ Protoboard
✔ 2 Porta lampara
✔ 2 focos 110V
✔ Fuente 110V
✔ Jumpers (cables) hembra-macho
✔ Relé

PROCEDIMIENTO: Elabore el siguiente circuito, el cual para ser probado en


Tinkercad se utilizó una fuente de 9v, pero se utilizará una fuente de 110V y focos de
110V conectado al Relé.
Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,
seguidamente cópielo en IDE de Arduino y haga el circuito en físico.

byte rele = 3; // declaramos pin 3 como dato tipo byte

void setup() {

// inicializa el pin del rele como salida(modo de trabajo)

pinMode(rele, OUTPUT);

void loop() {

digitalWrite(rele, HIGH); // activar el rele

delay(1000); // esperar un segundo

digitalWrite(rele, LOW); // apagar el rele

delay(1000); // esperar un segundo

}
10. USO DE JOYSTICK
Un joystick es un dispositivo capaz de detectar el movimiento en todas las direcciones,
incluidas las direcciones delantera, trasera, izquierda, derecha y diagonal, utilizando
un eje. El Joystick consta de dos potenciómetros y un pulsador. Los dos
potenciómetros indican en qué dirección se presionaron los potenciómetros. El
interruptor envía un valor BAJO cuando se presiona el eje del joystick.

El Joystick está conectado al Arduino por cinco pines. Tres pines son pines de entrada
a Arduino y los otros dos pines están conectados por VCC(5V) y GND.

Para controlar con el eje del joystick, debe comprender qué dirección es X y qué
dirección es Y. Además, es necesario saber si el eje del joystick se mueve en la
dirección X o en la dirección. Arduino mide la posición del eje del joystick mediante
entrada analógica. La entrada analógica proporciona un valor de rango entre 0 y 1023
como lo muestra la siguiente gráfica.
OBJETIVO: Analizar y verificar el funcionamiento de un Joystick en una placa
Arduino Mega.

MATERIALES:

✔ Placa Arduino Mega


✔ cables puente macho-hembra
✔ Modulo Joystick
✔ Cable USB para programar

PROCEDIMIENTO: Elabore el siguiente circuito.

Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,


seguidamente cópielo en IDE de Arduino y haga el circuito en físico.

const int Xin = A0; //Joystick X coordinate input pin

const int Yin = A1; // Joystick Y coordinate input pin

const int KEYin = 2; // Joystick push button input pin

void setup () {

pinMode (KEYin, INPUT);


Serial.begin (115200);

void loop () {

int xVal = analogRead (Xin);

int yVal = analogRead (Yin);

int buttonVal = digitalRead (KEYin);

Serial.print("X = ");

Serial.println (xVal, DEC);

Serial.print ("Y = ");

Serial.println (yVal, DEC);

Serial.print("Button is ");

if (buttonVal == HIGH) {

Serial.println ("No presionado");

} else {

Serial.println ("Presionado");

delay(5000);

}
La constante Xin es el pin A0 de Arduino y recibe las coordenadas X del Joystick. La
constante Yin es el pin A1 de Arduino y recibe las coordenadas Y del Joystick. La
constante KEYin es de pin 2 y recibe un botón del Joystick. Se llama a la función
analogRead para introducir el valor del pin Xin en la variable xVal y el valor del pin
Yin en la variable yVal. El valor recibido de la función analogRead está entre 0 y 1023.
Llame a la función digitalRead e introduzca el valor del pin KEYin en la variable
buttonVal. Cuando se presiona el botón (Alto), se emite la frase "El botón se presiona",
y cuando no se presiona el botón (BAJO), se emite el mensaje "El botón no se
presiona".

Se comprueba que los valores X e Y cambian moviéndose hacia arriba, hacia abajo,
hacia la izquierda y hacia la derecha con un joystick. Compruebe que el botón está
presionado al presionar el Joystick.

Puedes comprobar el funcionamiento de este programa en monitor en serie de la


interfaz de Arduino.

Una pantalla LED, o pantalla de diodos emisores de luz, es una pantalla plana que
utiliza diodos emisores de luz como pantalla de vídeo. Una pantalla LED puede ser
una pantalla pequeña o parte de una pantalla más grande. Los diodos LED se utilizan
para formar una pantalla LED. Las pantallas de LEDs también se utilizan en las
carteleras y en los carteles de las tiendas. Un panel LED consta de varios LEDs,
mientras que una pantalla LED consta de varios paneles LED. Los LEDs usados para
componer las pantallas de LEDs ofrecen varias ventajas en comparación con otras
fuentes emisoras de luz.

Un diodo emisor de luz está formado por un chip semiconductor rodeado por una
carcasa de plástico transparente. La caja de plástico permite que la luz pase a través de
ella. La emisión de diferentes colores, incluyendo la luz ultravioleta e infrarroja,
depende del material semiconductor que se utilice en el diodo.
11. LED DISPLAY

Una pantalla LED, o pantalla de diodos emisores de luz, es una pantalla plana que
utiliza diodos emisores de luz como pantalla de vídeo. Una pantalla LED puede ser
una pantalla pequeña o parte de una pantalla más grande. Los diodos LED se utilizan
para formar una pantalla LED. Las pantallas de LEDs también se utilizan en las
carteleras y en los carteles de las tiendas. Un panel LED consta de varios LEDs,
mientras que una pantalla LED consta de varios paneles LED. Los LEDs usados para
componer las pantallas de LEDs ofrecen varias ventajas en comparación con otras
fuentes emisoras de luz.

Un diodo emisor de luz está formado por un chip semiconductor rodeado por una
carcasa de plástico transparente. La caja de plástico permite que la luz pase a través de
ella. La emisión de diferentes colores, incluyendo la luz ultravioleta e infrarroja,
depende del material semiconductor que se utilice en el diodo.

11.1 TIPOS DE PANTALLAS LED


Hay muchos tipos diferentes de pantallas LED. En Visual Led se almacenan muchos
tipos comunes categorizados por tipo de pantalla, tamaño de dígito, matriz, color, valor
de terminal común. Los filtros paramétricos en el sitio web pueden ayudar a refinar los
resultados de su búsqueda dependiendo de las especificaciones requeridas.

Los tipos más comunes para el tipo de pantalla son barra de luz, siete segmentos y
matriz de puntos. También tenemos muchos otros tipos diferentes de pantalla. El
tamaño de dígito/matriz puede variar de 0,03 a 0,40 pulgadas, siendo los tamaños más
comunes 0,2, 0,3 y 0,4 pulgadas.

Utilizaremos una función para el Display.


Función display. setBrightness Con esta función puede configurar el brillo con el
siguiente comando configurando el parámetro desde 0 para el más bajo brillo hasta 7
para el más alto.

Ejemplo: Display.setBrigthness(7);

Función display.showNumberDec(number,leading_zeros,length,position)

Ejemplo: display. showNumberDec (millis () /1000);

Esta es la función que más utilizará. El primer argumento es un número que desea
mostrar en la pantalla. El resto de los argumentos son opcionales.

La función millis () permite obtener la cantidad de milisegundos que han pasado desde
que comenzó la ejecución del código, es decir, que toma el registro de pulsos
generados por el contador y los emplea para calcular el tiempo en milisegundos.

La sintaxis de la función es muy simple:

unsigned long tiempo = millis ();

VCC = Referencia positiva de


3.3 V a 5V
GND = Referencia negativa
DIO = Entrada serial de datos
CLK = Entrada de señal de
reloj

OBJETIVO: Analizar y verificar el funcionamiento de un LED display TM1637


usando una placa Arduino Mega.

MATERIALES:

✔ Placa Arduino Mega.


✔ Módulo de Led display 7 segmentos 4 dígitos ánodo común
TM1637.
✔ Cable USB para programar.
✔ Protoboard.
✔ cables Puente macho-hembra.
PROCEDIMIENTO: Elabore el siguiente circuito.

Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,


seguidamente cópielo en IDE de Arduino y haga el circuito en físico.

#include <TM1637Display.h>

#define CLK 2

#define DIO 3

TM1637Display pantalla (CLK, DIO);

void setup() {

pantalla.setBrightness(5); // Sirve para configurar el brillo del


Display

void loop() {

pantalla.showNumberDec(millis() / 1000);

}
12. LCD

Una pantalla de cristal líquido o LCD (acrónimo del inglés liquid crystal display) es
una pantalla delgada y plana formada por un número de píxeles en color o monocromos
colocados delante de una fuente de luz o reflectora. Estos píxeles se ubican entre dos
capas de cristales polarizados y son iluminados por una fuente de luz fija. Las
moléculas de cristal líquido permiten el paso de mayor o menor cantidad de luz según
el estímulo eléctrico que reciben.

Puede decirse, por lo tanto, que una pantalla de LCD muestra las imágenes a partir de
esa retroiluminación que permite la combinación de los colores. Una de las desventajas
de este sistema es que no puede brindar un negro absoluto, una característica que incide
en el contraste y que atenta contra la calidad de la imagen. A menudo se utiliza en
dispositivos electrónicos de pilas, ya que utiliza cantidades muy pequeñas de energía
eléctrica.

Cada píxel de un LCD típicamente consiste de una capa de moléculas alineadas entre
dos electrodos transparentes, y dos filtros de polarización, los ejes de transmisión de
cada uno que están (en la mayoría de los casos) perpendiculares entre sí. Sin cristal
líquido entre el filtro polarizante, la luz que pasa por el primer filtro sería bloqueada
por el segundo (cruzando) polarizador.

Para el manejo de este periférico vamos a instalar en el IDE una librería lcd para
Arduino conocida como: LiquidCrystal.
12.1 TIPOS DE DISPLAY
En el mercado podemos encontrar muchos tipos de displays diferentes, estas
diferencias están marcadas fundamentalmente por el tipo de display, que va a
determinar cómo van a ser mostrados los datos y por la conexión que se usa para
mostrar los datos en el display.

12.2 DISPLAY LCD DE LINEAS


Los displays LCD (liquid crystal display) son pantallas delgadas formadas por una
serie de pixeles de color monocromo que usualmente se colocan delante de una luz
reflectora. Este tipo de displays se utilizan en infinidad de dispositivos debido a a su
bajo consumo y a que tienen una vida útil muy grande. Son los displays más comunes
a la hora de trabajar con Arduino, ya que además de ser unos displays muy sencillos
de usar son muy asequibles. Dentro de los displays LCD de líneas hay un gran número
de variantes, podemos encontrarlos con diferente número de líneas, mayor o menor
número de caracteres por línea, retroiluminados en algún color concreto o incluso sin
retroiluminar. De todas estas variantes, actualmente los más comunes son los displays
de 2x16 (2 líneas y 16 caracteres por línea) y de 4x20 (4 líneas y 20 caracteres por
línea).

12.3 CONECTOR I2C


Los displays mostrados anteriormente son muy usados desde hace bastantes años, pero
tenían el inconveniente de necesitar demasiadas conexiones, lo que en muchas
ocasiones limitaba el poder controlarlos con un microcontrolador de gama baja ya que
requerían que al menos 6 pines del microcontrolador estuvieran dedicados al display.
Para solucionar esto, se desarrolló una interface que acoplado al display hace que este
reciba la información mediante un conector I2C, reduciendo la conexión a 2 hilos (más
otros dos para la alimentación).

12.4 DisplayI2CAdaptador
El poder utilizar displays conectados a Arduino mediante un bus I2C ha simplificado
tanto el trabajo que es muy común ver proyectos sobre esta plataforma que muestren
datos por uno de estos displays.

OBJETIVO: Analizar y verificar el funcionamiento de un LCD usando una placa


Arduino MEGA.

MATERIALES:

✔ Placa Arduino Mega


✔ Módulo LCD 1602A
✔ PC
✔ Cables Puente

PROCEDIMIENTO: Elabore el siguiente circuito.

procederemos a escanear la pantalla lcd para saber el tipo de pantalla, esto servirá a
la hora de codificar. para esto será necesario utilizar el Arduino uno

#include <Wire.h>

void setup()

Wire.begin();
Serial.begin(9600);

Serial.println("\nI2C Scanner");

void loop()

byte error, address;

int nDevices;

Serial.println("Scanning...");

nDevices = 0;

for (address = 1; address < 127; address++ ) {

Wire.beginTransmission(address);

error = Wire.endTransmission();

if (error == 0) {

Serial.print("I2C device found at address 0x");

if (address < 16)

Serial.print("0");

Serial.print(address, HEX);

Serial.println(" !");

nDevices++;

else if (error == 4) {

Serial.print("Unknown error at address 0x");


if (address < 16)

Serial.print("0");

Serial.println(address, HEX);

if (nDevices == 0)

Serial.println("No I2C devices found\n");

else

Serial.println("done\n");

delay(5000);

Este será el resultado

Descargue la siguiente librería:


12.5 EJERCICIO #1
OBJETIVO: Mostrar un mensaje de saludo o de instrucciones por medio de una
pantalla LCD

MATERIALES:

✔ Placa Arduino UNO


✔ Módulo LCD 1602A
✔ Cable usb
✔ Cables Puente
✔ PC

PROCEDIMIENTO: Elabore el siguiente circuito.

Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,


seguidamente cópielo en IDE de Arduino y haga el circuito en físico.

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20, 20, 4);

void setup() {

lcd.init(); // initialize the lcd

// Print a message to the LCD.

lcd.backlight();

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Hola Estudiantes!");

lcd.setCursor(0, 1);

lcd.print("de Robotica!");

}
void loop() {

lcd.display();

delay(500);

Cuando se utiliza la librería LCD_I2C PUEDES usar la


siguiente distribución de pines:
ARDUINO UNO = A4 (SDA), A5 (SCL)
MEGA2560 = 20 (SDA), 21 (SCL)
LEONARDO = 2 (SDA), 3 (SCL)
DUE = 20 (SDA), 21 (SCL), SDA1, SCL1
12.6 EJERCICIO #2 SENSOR DE TEMPERATURA
OBJETIVO: Mostrar un mensaje de saludo o de instrucciones por medio de una
pantalla LCD

MATERIALES:

✔ Placa Arduino UNO


✔ Módulo LCD 1602A
✔ Cable usb
✔ Cables Puente
✔ Sensor de temperature TMP36GZ
✔ PC.

✔ Resistencia 330 Ω

PROCEDIMIENTO: Elabore el siguiente circuito

Escriba el siguiente código en el editor de código de Tinkercad y depúrelo,


seguidamente cópielo en IDE de Arduino y haga el circuito en físico.

#include <LiquidCrystal_I2C.h>

float tempC = 0.0;

int tempPin = 0;

LiquidCrystal_I2C lcd(0x20, 20, 4);

void setup() {
lcd.init(); // initialize the lcd

void loop() {

int tempReading = analogRead(tempPin);

tempC = ( tempReading * (500.0 / 1023.0) ) - 50.0;

lcd.backlight();

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Temp c ");

lcd.setCursor(0, 1);

lcd.print(tempC);

delay(500);

}
13. EVALUACIÓN

1. Es un actuador rotativo que permite un control preciso en términos de posición


angular, aceleración y velocidad y usa la medida de rpm

a) motor DC

b) motor AC

c) Servo

d) NeoPixel

2. Son trozos de código hechos por terceros que usamos en nuestro sketch. Esto
nos facilita mucho la programación y permite la abstracción haciendo que
nuestro programa sea más sencillo de hacer y de entender.

a) Librerías

b) Asistentes

c) Servo

d) Laser

3. Dispositivo electromagnético que funciona como un interruptor controlado por


un circuito eléctrico:

a) Relé

b) Motor CC o DC

c) Servo

d) Laser

4. Dispositivo capaz de detectar movimiento en todas direcciones, consta de dos


potenciómetros y un pulsador.

a) Display

b) Motor CC ó DC

c) Servo

d) Joystick
BIBLIOGRAFÍA:
https://www.arduinolibraries.info

https://www.tinkercad.com/

https://www.arduino.cc/

También podría gustarte