0% encontró este documento útil (0 votos)
78 vistas

Programando en Lenguaje Arduino

Este documento trata sobre la introducción a la programación con Arduino. Explica conceptos básicos como qué es Arduino, para qué sirve, los tipos de Arduino, partes del Arduino Uno y cómo conectar sensores y módulos. También define conceptos clave de programación como algoritmos, lenguajes de programación, diagramas de flujo y operadores aritméticos usados en el lenguaje de programación de Arduino.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
78 vistas

Programando en Lenguaje Arduino

Este documento trata sobre la introducción a la programación con Arduino. Explica conceptos básicos como qué es Arduino, para qué sirve, los tipos de Arduino, partes del Arduino Uno y cómo conectar sensores y módulos. También define conceptos clave de programación como algoritmos, lenguajes de programación, diagramas de flujo y operadores aritméticos usados en el lenguaje de programación de Arduino.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 115

FUENTE: https://www.pngocean.

com/gratis-png-clipart-ccsmv

FUENTE: https://www.pngocean.com/gratis-png-clipart-ccsmv
Autor: Tienda de Componentes de Electrónica y Robótica “Amaru”
Correo electrónico: [email protected]
Contacto al teléfono móvil: 73236579
Diseño, gráficos, figuras y presentación son propiedad del autor.

Primera Edición
------ 2023 ---------
SENAPI (Servicio Nacional de Propiedad Intelectual)
Resolución Administrativa Nro. 1 - 352/2023

Nro. de Depósito Legal: 4 – 1 – 717 – 2023

La presente edición es propiedad del AUTOR, cualquier reproducción y/o


difusión total o parcial de esta obra, por cualquier forma, por medios
mecánicos o electrónicos, inclusive por fotocopias, grabación magnética y
cualquier otro sistema de almacenamiento de información, está prohibido
y penada por la ley de acuerdo a disposiciones legales en vigencia (Ley Nro.
1322 Derecho de Autor del 13 de abril de 1992). Salvo el previo
consentimiento escrito del AUTOR.

Pedidos en la tienda de
Componentes de Electrónica Robótica “Amaru”
Ubicado, en la Plaza Pacajes Caluyo Nro 858, a 5 minutos del
Cruce Villa Adela – El Alto
Contacto al teléfono móvil: 73236579

Impreso en Bolivia – Printed in Bolivia


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

TEMA 1
INTRODUCCIÓN A LA PROGRAMACIÓN CON ARDUINO
1.1CONCEPTO DE ARDUINO
Arduino es un dispositivo electrónico que tiene su propio lenguaje de
programación para interactuar con: componentes electrónicos, sensores,
actuadores, módulos sensores y entre otros dispositivos electrónicos que
cumplen una determinada tarea operativo o de control.
Características del Arduino:
- Está basado en hardware libre.
- Está basado software libre.
- Sus conexiones pueden ser alámbricos e inalámbricos.
- Lenguaje de programación de alto nivel.
- Entorno de programación propio en línea o fuera de línea.
1.2 PARA QUÉ SIRVE ARDUINO
Arduino sirve para crear y desarrollar proyectos electrónicos inteligentes y
autónomos según la necesidad de una persona. También para las conexiones
con otros dispositivos electrónicos.
Con Arduino se podrá controlar componentes o sensores electrónicos, por
ejemplo el control de un motorreductor que suba o baje un objeto, ese proceso
controlado por un sensor de actuación.
1.3 TIPOS DE ARDUINO
Los tipos de Arduino se los puede apreciar en la siguiente tabla 1.1:

Tienda de Componentes de Electrónica Robótica “Amaru” 1


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Arduino Uno Arduino MKR WAN 1300

Arduino Uno r3 Arduino MKR GSM 1400

Arduino DUE Arduino MKR Wifi 1010

Arduino Leonardo Arduino Uno Wifi REV2

Arduino Mega 2560 Arduino MKR NB 1500

Arduino Mega ADK Arduino MKR Vidor 4000

Arduino Micro Arduino MKR 1000 Wifi

Arduino Nano Lilypad Arduino Simple

Arduino YUN Lilypad Arduino Main Board

Arduino FIO Lylipad Arduino USB

Arduino 101 o Genuino 101 Lilypad Arduino Simple Snap

Arduino Esplora Arduino Zero

Arduino MKR Zero Arduino MKR FOX 1200

Arduino Ethernet Arduino Industrial 101

Tabla 1.1, tipos de Arduino.


Como se puede observar en la tabla1.1, existen muchos dispositivos
electrónicos de la placa Arduino, en el presente texto todos los proyectos se lo
desarrollara en el ARDUINO UNO.
Nota.- El código fuente desarrollada para el ARDUINO UNO es válido para la
mayoría de los demás Arduinos, como por ejemplo, el código fuente que

Tienda de Componentes de Electrónica Robótica “Amaru” 2


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
funcione perfectamente en el ARDUINO UNO, se podrá ejecutar en el Arduino
Nano, Arduino Mega y Arduino Leonardo.
1.4 PARTES DEL ARDUINO UNO

Figura 1.1, descripción de las partes del Arduino Uno.


- Puerto USB y Jack de alimentación
Cada placa Arduino necesita una forma de estar alimentado eléctricamente.
Puede ser alimentado desde un cable USB que viene de su ordenador o un
cable de corriente eléctrica con su respectivo adaptador conectado al Jack de
alimentación externa. La conexión USB es también la vía por donde se carga el
código fuente es decir, de la computadora a la placa Arduino. Una vez que el
Arduino Uno este alimentado se habilita los pines de 5V, 3,3V y GND y los
demás pines de entrada y salida de datos. Además GND, es la abreviatura de

Tienda de Componentes de Electrónica Robótica “Amaru” 3


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Módulo de sensor de temperatura Módulo termómetro infrarrojo

Sensor seguidor de línea de 3 vías Módulo de Luz

Módulo detector de luz UV Módulo sensor de detonacion

Módulo controlador de Motor DC Módulo controlador motor paso a


paso

Módulo sensor táctil digital Módulo de conexión I2C

Tabla 1.2, módulos y sensores para Arduino.


En la tabla 1.2, solo están nombrados algunos sensores y módulos, pero el
lector puede encontrar muchos más sensores o módulos en Internet o pude
consultar el texto titulado Robótica Educativa 100% práctica del mismo autor.
También con Arduino se pueden utilizar diferentes componentes electrónicos
pero requieren una configuración de circuitos antes.
1.6 INSTALACIONES Y CONEXIONES PARA ARDUINO
La instalación de módulos, sensores y componentes electrónicos se los realiza
primero en un protoboard para observar su funcionamiento como se observa
en la figura 1.2. Cuando ya funcione el proyecto en su 100% se realiza ya el
quemado de la placa electrónica listo para su uso.

Figura 1.2, instalación y conexión de un diodo LED y su resistencia de


protección.

Tienda de Componentes de Electrónica Robótica “Amaru” 7


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Ejemplo 1.- Lenguajes de programación: Ava, C, C++, C#, Python, PHP,
JavaScript, Visual Basic .NET, Perl y Ruby, PIC C Compiler, Arduino y etc.
1.8.3 PROGRAMADORES
Los programadores son las personas que traducen un algoritmo a un lenguaje
de programación.
1.8.4 DIAGRAMA DE FLUJO
Los diagramas de flujo son representación de los algoritmos de forma gráfica.
Que están relacionados mediante líneas con flechas y conectores para ejecutar
las instrucciones y obtener el resultado. Los símbolos utilizados han sido
reglamentados por el Instituto Nacional de Normalización Estadounidense
(ANSI, American National Standards Institute).
1.8.5 REPRESENTACIÓN DE DIAGRAMA DE FLUJO

Inicio o Final
Se utilizará para iniciar o finalizar un
diagrama.

Entrada o salida general


Se utiliza para entradas y salida de datos.

Acción o proceso general


Se utilizará para realizar procesos o
cálculos.

Salida impresa
Se utiliza para mostrar datos.

Tienda de Componentes de Electrónica Robótica “Amaru” 9


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
1.8.7 PROGRAMA COMPUTACIONAL
Un programa computación es el resultado de un lenguaje de programación
cuando llega a ser compilada.
1.8.8 LA COMPUTADORA
Es una máquina electrónica que recibe y procesa datos para convertirlos en
información más conocido como “PC”.
1.8.9 HARDWARE
Es un elemento físico. El hardware está conformado por un conjunto físico de
dispositivos que conforman un computador.
1.8.10 SOFTWARE
El software es un conjunto de programas, instrucciones y reglas informáticas
que permiten ejecutar distintas tareas de una computadora. Según la Real
Academia Española(RAE). Además el software es intangible en el ordenador.

Tienda de Componentes de Electrónica Robótica “Amaru” 11


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
TEMA 2
LENGUAJE DE PROGRAMACIÓN PARA ARDUINO
Para empezar a entender el lenguaje de programación para Arduino se
requiere asimilar los siguientes conceptos.
2.1 OPERADORES ARITMÉTICOS
Los operadores aritméticos como ser: la suma, resta, multiplicación, y división
son propios de un lenguaje de programación que nos ayudan a incrementar o
disminuir, repartir los diferentes tipos de cantidades numéricas.
Los diferentes lenguajes de programación se aumenta el operador aritmético
llamado modulo o resto entre otros.
Para el lenguaje de programación en Arduino, se usa la siguiente notación de
los operadores aritméticos:
La suma se simboliza “+”. La resta se simboliza “-”.
La multiplicación se simboliza “*”. La división se simboliza “/”.
El modulo o resto se simboliza “%”.

Nota 1.- La división si se la efectúa entre dos valores enteros el resultado de


dicha división será un valor entero aunque la división no sea exacta.
Nota 2.- El módulo o residuo siempre será un número entero mayor o igual a
cero.

Ejemplo 1.- Resolver los siguientes casos:


a) 5+8 b) -6-5 c) 5*5
d) 4/2 e) 5/2 f) 4 modulo 2
e) 5 modulo 2
Solución
a) 5+8=13 b) -6-5=-11 c) 5*5=25

Tienda de Componentes de Electrónica Robótica “Amaru” 12


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
d) 4/2=2 e) 5/2=2 f) 4 modulo 2=0
e) 5 modulo 2=1
2.2 OPERADORES DE ASIGNACIÓN
El operador asignación en el lenguaje de programación de Arduino, se la utiliza
para almacenar el contenido del lado derecho al lado izquierdo, de una variable
asignada. El operador asignación se lo denota como el signo de igualdad:
i) Con el símbolo “ = ”.
Ejemplo 2.- Asignar en cualquier variable las operaciones siguientes utilizando
el inciso i).
a) 5+8 b) -6-5 c) 5*5
d) 4/2 e) 5/2 f) 4 modulo 2
e) 5 modulo 2
Solución
a) z=5+8 b) p=-6-5 c) e=5*5
z=13 p=-11 e=25

Nota.- En el lenguaje de programación de Arduino, cuando se le asigna un


valora una variable, ese valor puede cambiar en el transcurso de su ejecución.

2.2.1 OPERADORES DE ASIGNACIÓN COMPUESTOS


Los operadores de asignación compuesto para el lenguaje de programación de
Arduino, son las variables que cambian de valor en determinadas tareas o
instrucciones a realizar.
Ejemplo 3.- Sean las siguientes expresiones algebraicas:
a) y = y + 1 si tomamos ahora a “y = 0”, la expresión cambia a “y = 1”, es decir
que:
“y = 1 + 0” entonces “y = 1”

Tienda de Componentes de Electrónica Robótica “Amaru” 13


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
2.4 OPERADORES LÓGICOS
Los operadores para el lenguaje de programación de Arduino, son la negación,
conjunción y disyunción.
2.4.1 OPERADOR LÓGICO NEGACIÓN
El operador lógico se lo denota “~”, es decir:
Notación: ~P se lee “no P”
Sea: P= Hoy almorcé; ~P= No almorcé hoy.
Tiene la siguiente tabla de verdad:

P ~P Dónde: ¨V¨ significa Verdad.


V F ¨F¨ significa Falso.

F V

2.4.2 OPERADOR LÓGICO CONJUNCIÓN


El operador lógico se lo denota “^”, es decir:

Notación: P ^ Q se lee “P y Q”

Sea: P= Juan compra; Q= Se prepara algo de comer:

P ^ Q /P y Q: Juan compra y luego se prepara algo de comer.

Tiene la siguiente tabla de verdad:

P Q PyQ

V V V Dónde: ¨V¨ significa Verdad.


¨F¨ significa Falso.
V F F

F V F

F F F

Tienda de Componentes de Electrónica Robótica “Amaru” 16


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
2.4.3 OPERADOR LÓGICO DISYUNCIÓN
El operador lógico se lo denota “v”, es decir:
Notación: P v Q se lee “P o Q”
Sea: P= Juan compra; Q= Juan ira de baile a la fiesta:
P v Q /P o Q: Juan compra o ira de baile a la fiesta.
Tiene la siguiente tabla de verdad:

P Q PoQ

V V V Dónde: ¨V¨ significa Verdad.


¨F¨ significa Falso.
V F V

F V V

F F F

2.5 OPERADORES DE BITS


Los operadores de bits en el lenguaje de programación de Arduino, tienen el
mismo comportamiento que los operadores lógicos, solo que su notación esta
en inglés, y tienen la siguiente notación descrito en la tabla 2.1:

Español Ingles Lenguaje de programación

No Not ¡

Y And &&

O OR ||

Tabla 2.1, operadores de bit.


Los tipos de datos en formato bits son los: cero “0” y uno “1” se los conoce
como números binarios.

Tienda de Componentes de Electrónica Robótica “Amaru” 17


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Al operador “And” también se la conoce como, intersección.
Al operador “Or” también se la conoce como, unión.
Existen otros tipos de operadores como ser: dilema Or-Ex, Nor, Nor-Ex
implicación y Nand.

Not “¡” And ” &&” Or “||”

P Q P && Q P Q P || Q

P ¡P 1 1 1 1 1 1

1 0 1 0 0 1 0 1

0 1 0 1 0 0 1 1

0 0 0 0 0 0

Tabla 2.2, tablas de operadores de bit.


Ejemplo 5.- Aplicando los operadores de bits resolver los siguientes ejercicios:
a) 00100111 And 01101010
b) 11100101 Or 00110100
c) Not(00101110)
d) 01010100 Xor 00001111
Solución
a) 00100111 And 01101010 = 00100010
b) 11100101 Or 00110100 = 11110101
c) Not(00101110) = 11010001
d) 01010100 Xor 00001111 = 01011011

Tienda de Componentes de Electrónica Robótica “Amaru” 18


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
2.6 VARIABLE
Una variable en el lenguaje de programación de Arduino almacena un dato y se
la representa por caracteres (letras del abecedario), una combinación de
caracteres y números (alfa numéricos).
El dato almacenado en una variable puede cambiar de valor al compilar el
código fuente del programa.
Ejemplo 6.- Almacene los siguientes datos en una variable de un solo carácter:
a) 40 b) -60 c) i + 1
Solución
a) z = 40 b) w = -60 c) i = i + 1
Ejemplo 7.- Almacene los siguientes datos en una variable con dos o más
caracteres:
a) pedro b) -60 c) i + 1
Solución
a) pdr = pedro b) ax = -60 c) nacho = i + 1
Ejemplo 8.- Almacene los siguientes datos en una variable de tipo alfanumérico:
a) juan b) 70 - 80 c) 55 / 5
Solución
a) j1 = juan b) a2 = -10 c) n2 = 11

Nota.- Las variables presentadas en los ejemplos anteriores también funcionan


con las letras mayúsculas pero no son aconsejables.

2.6.1 DECLARACIÓN DE VARIABLES EN ARDUINO


Una variable en el lenguaje Arduino tiene un nombre, un valor y un tipo. Todas
las variables deben ser declaradas antes de su uso. Las declaraciones deben

Tienda de Componentes de Electrónica Robótica “Amaru” 19


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
aparecer al principio de cada función o bloque de sentencia y solo se deben
declarar una solo vez.
Ejemplo 9.- Realice la declaración de las siguientes variables de un dato de tipo
entero y un dato de tipo real.
Tipo entero, se utilizará la variable: k que se le asignara un valor de 40 y ese
número es de tipo entero, entonces será:

Tipo real, se utilizará la variable: p que se le asignara un valor de 20.55 y ese


número es de tipo real, entonces será:

Además solo se puede declarar el nombre de la variable, por ejemplo declare la


variable pulsador de tipo entero.

La variable pulsador, en la ejecución del programa adquirirá su valor.

Tienda de Componentes de Electrónica Robótica “Amaru” 20


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
π = 3.14159 26535 89793 23846 26433 83279 50288
Constante de Pitágoras, la raíz cuadrada de los lados de un triángulo rectángulo
de valor de la unidad.

2 = 1.41421 35623 73095 04880 16887 24209 69807

Constante Base del logaritmo natural


e = 2.71828 18284 59045 23536 02874 71352 66249
2.8.1 CONSTANTES FALSE Y TRUE
Para el lenguaje de programación de Arduino existen dos constantes para
representar el estado de Falsedad (false) y Verdad (true).
Dónde: false, falso se define como cero voltios ó 0V.
true, vedad se define como cinco voltios o 5V.
2.8.2 CONSTANTES HIGH Y LOW
Los pines digitales de placa Arduino pueden leer o escribir solo dos estados: un
estado alto (HIGH) y un estado bajo (LOW) y esos estados son constantes.
El estado alto HIGH tiene un nivel de voltaje de 5 Voltios.
El estado bajo LOW tiene un nivel de voltaje de 0 Voltios.
2.8.3 CONSTANTES INPUT y OUTPUT
Las constantes INPUT (entrada) y OUTPUT (salida) para el lenguaje Arduino,
están definidas después de la declaración de las variables. Cualquier pin digital
puede ser declarado como INPUT (recibe 5 Voltios) o como OUTPUT (envía 5
Voltios).
También existe la constante INPUT_PULLUP, en esta configuración el pin digital
puede ser declarado como INPUT (recibe 5 Voltios) y además se activa una
resistencia interna de pull-up, es decir el pin digital tendrá una resistencia en
enserie de protección.

Tienda de Componentes de Electrónica Robótica “Amaru” 22


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Sintaxis de la estructura de Diagrama de Flujo


control if para la
codificación en lenguaje
Arduino.
if(condición??)
{
Operación 1;
Operación 2;
.
.
Operación “N”;
}

2.10.2 ESTRUCTURA DE CONTROL if/else


La estructura de control if/else (si/no) se la utiliza cuando se quiere ejecutar
una operación cuando la condición sea verdadera o si resulta ser falsa se
ejecutará sus propias operaciones.

Sintaxis de la estructura de if/else Diagrama de Flujo


(si/no) para el diagrama de
secuencia:
si (condición??) entonces hacer
Operación 1
Operación 2
.
.
Operación “N”
no (condición??) entonces hacer
Operación 1
Operación 2
.
.
Operación “M”

Tienda de Componentes de Electrónica Robótica “Amaru” 25


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Sintaxis de la estructura de control if/else para la codificación en lenguaje
Arduino.
if(condición ??)
{
Operación 1;
Operación 2;
. Nota.- Solo se ejecuta un solo camino
. ya sea if (si) o else (no).
Operación “N”;
}
else
{
Operación 1;
Operación 2;
.
.
Operación “M”;
}
2.10.3 ESTRUCTURA DE CONTROL switch( )
La estructura de control selectivo múltiple (switch), permite que se bifurque por
los diferentes casos llegando a ejecutar las operaciones correspondientes. Esta
estructura selectiva múltiple, se utiliza para elegir una entre varias opciones.
Sintaxis de la estructura de control selectiva múltiple para el diagrama de flujo.

Tienda de Componentes de Electrónica Robótica “Amaru” 26


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
2.11.4 ESTRUCTURA for (DESDE)
Esta estructura en lenguaje Arduino, es conocida como un contador automático
según su condición, ejecuta “n” veces las instrucciones que están dentro de su
bucle, la variable contador empieza con un primer valor y termina en un
determinado valor. Esta estructura tiene la posibilidad de contar de acuerdo a
un incremento por defecto de uno en uno, de forma ascendente o
descendente.
Sintaxis de la estructura for para el diagrama de flujo:
desde (Inicialización de variable??; Condición ??; Incremento o decremento??)
hacer
Operación 1
Operación 2
.
.
Operación “n”
Fin (desde)
Diagrama de flujo de la estructura for (desde)

Tienda de Componentes de Electrónica Robótica “Amaru” 31


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
La Sintaxis de la estructura for para la codificación en lenguaje Arduino es:
for (Inicialización de variable??; Condición ??; Incremento ó decremento??)
{
Operación 1;
Operación 2;
.
.
.
Operación “n”;
}
2.12 FUNCIONES DEL LENGUAJE ARDUINO
En esta sección se presentaran las funciones más importantes para el desarrollo
de proyectos, además algunas funciones se irán mostrando en cada proyecto
respectivo.
2.12.1 FUNCIÓN setup( )
La función setup(), es la primera función que es llamada para ejecutarse en el
código fuente.
Sintaxis de la función setup();

Esta función tiene dos llaves una de inicio ({) y la otra de final (}) el contenido de
instrucciones que se encuentra dentro de las llaves, se ejecuta una sola vez,

Tienda de Componentes de Electrónica Robótica “Amaru” 32


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
La función pinMode(), termina con un punto y coma no lo olvide.
2.12.4 FUNCIÓN digitalWrite( )
La función digitalWrite(), activa un nivel bajo (0 Voltios o LOW) o un nivel alto
(5 Voltios o HIGH) en el PIN digital del Arduino de forma individual. La función
digitalWrite() pude ir dentro de la función viod setup() o de la funcion void
loop().
Sintaxis de la función digitalWrite();
digitalWrite(Nombre_y_número_del_PIN,Estado);
Datos de entrada:
 Nombre_y_número_del_PIN, es el nombre que se asigna al número del
PIN del Arduino que se quiere configurar.
 Estado puede ser HIGH (5 Voltios) o LOW (0 Voltios).
Ejemplo 13 de la sintaxis de la función digitalWrite();
Active un nivel de 5 Voltios al Pin 9 del Arduino Uno:

La función digitalWrite(), termina con un punto y coma no lo olvide.


2.12.5 FUNCIÓN digitalRead( )
La función digitalRead(), permite leer un estado de nivel bajo (0 Voltios o LOW)
o un nivel alto (5 Voltios o HIGH) en el PIN digital del Arduino de forma
individual. La funcion digitalRead() pude ir dentro de la función viod setup() o
void loop().
Sintaxis de la función digitalRead();

Tienda de Componentes de Electrónica Robótica “Amaru” 35


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
digitalRead(Nombre_y_número_del_PIN_a_leer);
Datos de entrada:
 Nombre_y_número_del_PIN_a_leer, es el nombre que se asigna al
número del PIN del Arduino que se quiere leer su estado.
 Estado puede ser: HIGH (5 Voltios) o LOW (0 Voltios).
Ejemplo 14 de la sintaxis de la función digitalRead();
Leer que estado de Voltaje tiene el pin7 del Arduino Uno:

La función digitalRead(), termina con un punto y coma no lo olvide.


2.12.6 FUNCIÓN analogWrite( )
La función analogWrite(), escribe un valor analógico PWM (modulación por
ancho de pulso) en el PIN digital que tiene un símbolo de ( ͂). La función
analogWrite() pude ir dentro de la función viod setup() o de la funcion void
loop(). Esta función debe ir declarado como PIN de salida (OUTPUT).
Sintaxis de la función analogWrite();
analogWrite(Nombre_y_número_del_PIN, Valor);
Datos de entrada:
 Nombre_y_número_del_PIN, es el nombre que se asigna al número del
PIN digital del Arduino que tiene el símbolo de ( )͂ encima.
 Valor, representa el ciclo del trabajo: entre 0 (apagado) y 255 (siempre
encendido).

Tienda de Componentes de Electrónica Robótica “Amaru” 36


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Ejemplo 15, de la sintaxis de la función analogWrite().

La función analogWrite(), termina con un punto y coma no lo olvide.


2.12.7 FUNCIÓN analogRead( )
La función analogRead(), lee el valor determinado en un PIN analógicos del
Arduino. La función analoRead() pude ir dentro de la función viod setup() o
void loop(). Con esta función la placa Arduino realizará la conversión analógico
a digital de la señal de entrada, es decir convertirá el voltaje de 0 Voltios y 5
Voltios a un número entero entre 0 y 1023. Con una resolución en la lectura de:
5Voltios/1024unidades.
Sintaxis de la función analogRead();
analogRead(Nombre_y_número_del_PIN_a_leer);
Datos de entrada:
 Nombre_y_número_del_PIN_a_leer, es el nombre que se asigna al
número del PIN analógico del Arduino
Ejemplo 16, de la sintaxis de la función analogRead().

La función analogRead(), termina con un punto y coma no lo olvide.

Tienda de Componentes de Electrónica Robótica “Amaru” 37


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Ejemplo 19, de la sintaxis de la función Serial.printf ();
En el Monitor Serie del Programa Arduino IDE se quiere observar el mensaje
“Hola Programador”

La función Serial.print(), termina con un punto y coma no lo olvide.


2.12.9.3 FUNCIÓN Serial.println( )
La función Serial.println() muestra datos a través del Monitor Serie y
automáticamente retorna a la primera línea + un salto de línea. Esta función se
lo escribe dentro de la función void setup() o void loop().
Sintaxis de la función Serial.println();
Serial.println (Dato);
Datos de entrada:
 Dato, valor de una variable.
Ejemplo 20, de la sintaxis de la función Serial.printfln();
En el Monitor Serie del Programa Arduino IDE se quiere observar el valor que
tiene la variable “b”:

La función Serial.print(), termina con un punto y coma no se olvide.


Existen otras funciones para el lenguaje Arduino como se puede apreciar en la
siguiente tabla, el lector puede investigar en internet más sobre esas funciones.

Tienda de Componentes de Electrónica Robótica “Amaru” 40


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
TEMA 3
COMPILADOR Y ENTORNO DE DESARROLLO
INTEGRADO DEL LENGUAJE DE PROGRAMACIÓN
ARDUINO
3.1 COMPILADOR
El compilador o traductor, es el encargado de traducir todas las instrucciones
del código fuente a código objeto. También se conoce al código objeto como
código binario o de máquina. Tiene una ejecución rápida.
3.2 INTERPRETADOR
El interpretador lee cada instrucción y ejecuta dicha instrucción línea en línea.
Tiene una ejecución lenta.
3.3 IDE DE ADUINO
Es el entorno donde se desarrollará el programa o SKETCH de los proyectos a
realizar, este entorno de desarrollo viene con un editor de textos donde se
podrá escribir el código fuente del programa, un compilador para ejecutar
nuestros programas, un depurador que nos ayudará a encontrar problemas de
sintaxis y otras más opciones.
3.3.1 ENTORNO GRAFICO ARDUINO IDE
El instalador de la Versión Arduino IDE 1.8.19, es descargado de página web
oficial de Arduino: https://www.arduino.cc/en/software (fecha: 01/01/2023).

Figura 3.1, instalador del Arduino IDE 1.8.19.

Tienda de Componentes de Electrónica Robótica “Amaru” 42


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

2. Una vez abierto la ventana Preferencia en Ajustes, marcar la casilla Mostrar


Numero de Línea y también puede editar el tamaño de la fuente a 14:

Y finalmente nos mostrara la siguiente pantalla:

Tienda de Componentes de Electrónica Robótica “Amaru” 44


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Figura 3.4, comentarios en lenguaje Arduino.

Nota.- Las dos formas de comentar, no son leídas por el programa compilador.

3.5 IDENTIFICADORES EN LENGUAJE ARDUINO


Los identificadores son nombres de variables o funciones, formados por la
combinación de letras y números, con la condición de que el nombre de la
variable o función empiece con una letra y nunca con un número.
También para los identificadores es válido la barra baja “_” y es considerada
como una letra.
Ejemplo 1.- Identificadores válidos para el lenguaje Arduino:
a) Pin2 b) pin_5 c) Pulsador
d) PinLED4 e) leer_estado d) a1

Tienda de Componentes de Electrónica Robótica “Amaru” 46


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
3.6 CÓMO ENVIAR EL CÓDIGO FUENTE O SKETCH A LA PLACA ARDUINO
Una vez terminado y verificado sin errores el código fuente del programa, se
envía el código fuente del programa con el siguiente procedimiento:
a) Primero se debe elegir el Arduino que se va a utilizar, ir a la opción
“Herramientas” y debe marcar la placa del Arduino que va a utilizar en mi caso
será el “Arduino Uno”

Figura 3.5, se elige la placa Arduino Uno.


b) Segundo la placa Arduino Uno debe estar conectado a la computadora vía el
puerto USB, para que se habilite el puerto COM3 (Arduino Uno), en algún caso
puede variar el número del puerto COM. Ir a “Herramientas” y luego a “Puerto”

Figura 3.6, verificación de la activación del puerto COM3.


c) Finalmente haga clic en el icono (SUBIR) subirá el código fuente a la

Tienda de Componentes de Electrónica Robótica “Amaru” 47


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
placa Arduino Uno. En la parte inferior del código fuente aparecerá lo siguiente:
subir, compilando programa, subiendo y subido. Ya estará listo el Arduino Uno
para su utilización.
3.6 MI PRIMER PROGRAMA CON ARDUINO UNO
En este punto se detallará los paso de sugerencia para realizar un programa en
Arduino Uno y observar cómo controla el circuito electrónico.
1. Se debe tener una idea o necesidad, por ejemplo encender y apagar un
diodo LED de forma automática en intervalos de tiempos diferentes.
2. Se debe realizar un análisis teórico y consultar la hoja de datos del
componente, sensor o módulo a utilizar, por ejemplo del componente
electrónico diodo LED, se requiere conocer el funcionamiento del
diodo, con que voltaje y corriente trabaja.
3. Que materiales serán necesario para poder encender y apagar un diodo
LED de forma automática.
4. Se debe elaborar un diagrama de control de cómo va a trabajar el
diodo LED.
5. El diagrama control elaborado ayudará a realizar la programación en el
Arduino IDE y se desarrollará el código fuente del encendido y apagado
de un diodo LED de forma automática.
6. Se debe elaborar un diagrama esquemático electrónico de la conexión
del Arduino Uno con los componentes, sensores o módulos.
7. Con la ayuda del diagrama esquemático arme de forma físico todas las
conexiones que van de la placa Arduino Uno hacia los componentes
electrónicos.
8. Revise todas las conexiones realizadas.
9. Conecte el cable USB entre la computadora y la placa Arduino Uno y
envié el código fuente.
Esta secuencia de pasos puede variar, solo es una propuesta, pero más adelante
cada lector tendrá su propio método de elaboración de proyectos en la placa
Arduino Uno.

Tienda de Componentes de Electrónica Robótica “Amaru” 48


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

TEMA 4
PROYECTOS CON LA PLACA ARDUINO UNO
PROYECTO 1 ENCENDIDO DE UN DIODO LED
4.1.1 OBJETIVO
- Aprender la conexión y encendido de un diodo LED.
4.1.2 MATERIALES NECESARIOS
 1 Protoboard.
 1 Arduino Uno, o similar.
 1 Resistencia de 470[Ω] de 1/4 Watt.
 1 Un diodo LED (cualquier color).
 Cables de conexión o cables Jumper
 Una computadora donde se programara. Pines del diodo LED
positive (+) y negativo (-)
4.1.3 DIAGRAMA DE FUNCIONAMIENTO

Figura 4.1, secuencia de control del encendido y apagado de un diodo LED.

Tienda de Componentes de Electrónica Robótica “Amaru” 49


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.1.4 CÓDIGO DEL ENCENDIDO Y APAGADO DE UN DIODO LED
int pinLed11=11; // Se Declara al Pin 11 como entero para conectar al LED
void setup()
{

pinMode(pinLed11,OUTPUT); // El Pin 11 trabajara como salida

void loop()
{
digitalWrite(pinLed11,HIGH); // Se enciende el Led del Pin 11
delay(1000); // Se pausa 1 segundo
digitalWrite(pinLed11,LOW); // Se Apague el Led del Pin 11
delay(1000); // Se pausa 1 segundo

}
4.1.5 DIAGRAMA ESQUEMÁTICO A MONTAR

470  

Figura 4.2, diagrama esquemático del encendido y apagado de un diodo LED.

Tienda de Componentes de Electrónica Robótica “Amaru” 50


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.1.6 DIAGRAMA FÍSICO REAL

Figura 4.3, diagrama físico real.


4.1.7 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.2 y 4.3 mostradas anteriormente representan el encendido y


apagado de un diodo LED cada un segundo, todo ese proceso se observará en
el armado físico real donde se está ejecutando el código fuente del programa.
4.1.8 MODIFICACIÓN DEL CIRCUITO (EVALUÉ SU COMPRESIÓN)

Cambie la resistencia de 470[Ω] por la resistencia de protección de 1k[Ω] de


1/4 de Watt o 1/2 Watt. También puede cambiar la resistencia con otros
valores:
 2 [kΩ] Potencia de 1/4 de Watt o de 1/2 de Watt.
 10 [kΩ] Potencia de 1/4 de Watt o de 1/2 de Watt.
 47 [kΩ] Potencia de 1/4 de Watt o de 1/2 de Watt.
 100 [kΩ] Potencia de 1/4 de Watt o de 1/2 de Watt.
 330 [kΩ] Potencia de 1/4 de Watt o de 1/2 de Watt.
Realizando el cambio de resistencia podrá observar que el brillo del diodo LED
disminuye cuando el valor de resistencia va aumentando.

Tienda de Componentes de Electrónica Robótica “Amaru” 51


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Figura 4.4, secuencia de control del encendido y apagado de 3 diodos LED.

Tienda de Componentes de Electrónica Robótica “Amaru” 53


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.2.5 DIAGRAMA ESQUEMÁTICO A MONTAR

470   470   470  

Figura 4.5, diagrama esquemático del encendido y apagado de 3 diodos LED.


4.2.6 DIAGRAMA FÍSICO REAL

Figura 4.6, diagrama físico real.

Tienda de Componentes de Electrónica Robótica “Amaru” 55


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 3

DIODO LED RGB CAMBIO DE COLORES


4.3.1 OBJETIVO
- Aprender a cambiar los colores de un diodo LED RGB.
4.3.2 MATERIALES NECESARIOS
 1 Protoboard.
 1 Arduino Uno, o similar.
 3 Resistencias de 470[Ω] de 1/4 Watt.
 1 Diodos LED RGB Ánodo Común
 Cables de conexión o cables Jumper
 Una computadora donde se programara.
4.3.3 DIODO LED RGB

Las letras “RGB” (Red Green Blue) representan a los colores rojo, verde y azul.
El diodo LED RGB puede trabajar como un solo color o con la combinación de
colores ya establecidos. Son 3 diodos LED empaquetados en un mismo
encapsulado es capaz de producir toda esta gama de colores. Tiene 4 pines algo
diferente a los LEDs convencionales, ya que incluyen 3 pines, uno por cada color
y un Pin común que puede ser de tipo, Ánodo común o Catado común.

Figura 4.7, lado izquierda ánodo común y lado derecho cátodo común.

Tienda de Componentes de Electrónica Robótica “Amaru” 57


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.3.5 CÓDIGO DEL CAMBIO DE COLORES DEL DIODO LED RGB

int PinLed2=2; // Declaramos al Pin 2 a utilizar


int PinLed4=4; // Declaramos al Pin 4 a utilizar
int PinLed6=6; // Declaramos al Pin 6 a utilizar
void setup()
{
pinMode(PinLed2,OUTPUT); // Se declara al Pin 2 como salida
pinMode(PinLed4,OUTPUT); // Se declara al Pin 4 como salida
pinMode(PinLed6,OUTPUT); // Se declara al Pin 6 como salida
}
void loop()
{
digitalWrite(PinLed2,HIGH); // Se habilita el pin 2 a 5 Voltios
delay(1000); // Se pausa 1 segundo
digitalWrite(PinLed2,LOW); // Se habilita el pin 2 a 0 Voltios
delay(1000); // Se pausa 1 segundo
digitalWrite(PinLed4,HIGH); // Se habilita el pin 4 a 5 Voltios
delay(1000); // Se pausa 1 segundo
digitalWrite(PinLed4,LOW); // Se habilita el pin 4 a 0 Voltios
delay(1000); // Se pausa 1 segundo
digitalWrite(PinLed6,HIGH); // Se habilita el pin 6 a 5 Voltios
delay(1000); // Se pausa 1 segundo
digitalWrite(PinLed6,LOW); // Se habilita el pin 6 a 0 Voltios

Tienda de Componentes de Electrónica Robótica “Amaru” 59


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.3.8 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.9 y 4.10 mostradas anteriormente representan el cambio de


colores del diodo LED RGB.
- El Pin rojo del diodo LED RGB conectado al pin 2 se enciende y se apaga por 1
segundo de tiempo.
- Luego el Pin verde del diodo LED RGB conectado al pin 4 se prende y se apaga
por 1 segundo de tiempo.
- Finalmente el Pin azul del diodo LED RGB conectado al pin 6 se prende y se
apaga por 1 segundo de tiempo.
- Todo ese proceso se repite hasta que corte la energía al Arduino.
4.3.9 MODIFICACIÓN DEL CIRCUITO (EVALUÉ SU COMPRESIÓN)

 Modifique el código fuente para que el diodo LED RGB se prende y se


apague de forma secuencial en intervalos de 2 segundos.
 Realice la modificación del código fuente para combinar dos colores por
ejemplo la combinación del color rojo y verde.
 Realice la modificación del código fuente para que combinar dos
colores por ejemplo la combinación del color azul y rojo.
 Realice un análisis de la conexión en paralelo de un diodo LED RGB
adicional del mismo tipo.
 Realice el diagrama de funcionamiento, código fuente, esquema a
montar y diagrama físico real para el diodo LED RGB de tipo Cátodo
Común. La secuencia del encendido y apagado deben estar en
intervalos de 2 segundos.
 Busque información en internet para modificar los colores de los diodos
LED RGB de tipo ánodo y cátodo común.

Tienda de Componentes de Electrónica Robótica “Amaru” 61


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Los pines de conexión de un potenciómetro son:
 Pin 1 va conectado a Vcc (fuente de alimentación).
 Pin 2 es la salida de la señal.
 Pin 3 va conectado a GND (tierra o cero voltios).
4.4.4 DIAGRAMA DE CONTROL

Se pretende cambiar el
brillo del diodo LED.

Figura 4.12, secuencia de control de la variación del brillo de un diodo LED.


4.4.5 CÓDIGO DE LA VARIACIÓN DEL BRILLO DE UN DIODO LED

int PinLed4=4; // Se declara el Pin 4 a utilizar

Tienda de Componentes de Electrónica Robótica “Amaru” 63


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
void setup()
{
pinMode(PinLed4,OUTPUT); // El Pin 4 se utilizara como salida
}
void loop()
{
digitalWrite(PinLed4,HIGH); // Se habilita 5 voltios al Pin 4
delay(10000); // Se espera 10 segundos
digitalWrite(PinLed4,LOW); // Se habilita 0 voltios al Pin 4
delay(2000); // Se espera 2 segundos
}
4.4.6 DIAGRAMA ESQUEMÁTICO A MONTAR

Figura 4.13, diagrama esquemático del variador de luz LED.

Tienda de Componentes de Electrónica Robótica “Amaru” 64


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Los pines de conexión pulsador 4 pines son:
 Pin A y B con los mismo pines.
 Pin C y D son los mismos pines.
 El pulsador del medio activa y desactiva la señal.
4.5.4 DIAGRAMA DE CONTROL

Figura 4.16, secuencia de control del encendido y apagado de 4 LED al presionar


el pulsador.

Tienda de Componentes de Electrónica Robótica “Amaru” 67


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
La secuencia será: verde pase los vehículos, amarillo indica detenerse, porque
está a punto de cambiar a rojo (detenerse).
4.6.4 DIAGRAMA DE CONTROL

Se pretende crear un
semáforo con diodos
LED.
- Verde pase vehículo
(Pin3)
- Amarillo ya cambiara a
rojo (Pin5)
- Rojo detenerse (Pin7)

Figura 4.20, secuencia de control de un semáforo.

Tienda de Componentes de Electrónica Robótica “Amaru” 72


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 7

ENCENDER OCHO DIODOS LED CON


TRANSISTORES
4.7.1 OBJETIVO
- Aprender a encender ochos diodos LED con transistores.
4.7.2 MATERIALES NECESARIOS
 1 Protoboard.
 1 Arduino Uno, o similar.
 2 Resistencias de 150[Ω] de 1/4 Watt o similar.
 2 Resistencias de 12k[Ω] de 1/4 Watt o similar.
 8 Diodo LED de cualquier color.
 2 Transistores 2N2222 o similar.
 Cables de conexión o cables Jumper.
 Una computadora donde se programara.
4.7.3 TRANSISTOR

Un transistor es un dispositivo semiconductor, compuesto por tres terminales


(Base, Colector y Emisor), empleado como amplificador e interruptor, en el que
una corriente o tensión, aplicada en un terminal, controla la corriente que fluirá
a través de los otros terminales.
4.7.3.1 TRANSISTOR BIPOLAR

El transistor bipolar, también conocido como transistor BJT por su sigla en inglés
(Bipolar Junction Transistor) y es controlado por la corriente eléctrica. Estos
transistores se clasifican en transistores NPN y PNP.
El transistor, se lo puede apreciar en las siguientes figuras:

Tienda de Componentes de Electrónica Robótica “Amaru” 76


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Figura 4.24, transistor BJT, BC548 Figura 4.25, transistor BJT, 2N2222
tipo NPN. tipo NPN.

4.7.4 DIAGRAMA DE FUNCIONAMIENTO

Se pretende encender 8
diodos LED con 2 transistores
2N2222

Figura 4.26, secuencia de control del encendido y apagado de 8 diodos LED con
transistores.

Tienda de Componentes de Electrónica Robótica “Amaru” 77


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.7.7 DIAGRAMA FÍSICO REAL

Figura 4.28, encendido de 8 diodos LED con transistores.


4.7.8 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.27 y 4.28 mostradas anteriormente representan la secuencia


del funcionamiento de 2 transistores haciendo encender y apagar 8 diodos
LED: el primer transistor encenderá y apagará los 4 diodos LED (configuración
paralelo) por 5 segundos y el segundo transistor también encenderá y apagará
los 4 diodos LED en intervalos de tiempo de 3 segundos. Este proceso se
repetirá hasta que se desconecte la fuente de alimentación del Arduino.
4.7.9 MODIFICACIÓN DEL CIRCUITO (EVALUÉ SU COMPRESIÓN)

 Realice el diagrama de control, codificación y armado físico real para


transistores de tipo PNP.
 Realice un análisis si se requiere encender 8 diodos LED en cualquier
puerto de salida del Arduino.

Tienda de Componentes de Electrónica Robótica “Amaru” 80


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 8

CONTROL DE VELOCIDAD DE UN MOTOR DC


4.8.1 OBJETIVO
- Aprender a controlar la velocidad de un motor DC (Corriente Directa)
4.8.2 MATERIALES NECESARIOS
 1 Protoboard.
 1 Arduino Uno, o similar.
 1 Resistencias de 470[Ω] de 1/4 Watt o similar.
 1 Motor DC de 3 a 6 Voltios.
 1 Potenciómetro de 1k[Ω].
 2 Transistores 2N2222 o similar.
 1 Diodo 1N4007 o similar.
 Cables de conexión o cables Jumper.
 Una computadora donde se programara.
4.8.3 MOTOR DE CORRIENTE CONTINUA

El motor de corriente continua “Motor DC”, es un componente electrónico que


puede convertir la energía eléctrica a mecánica, realizando un movimiento
rotatorio en sentido de las manecillas del reloj o en sentido contrario.
En la siguiente figura se puede aprecia el motor DC:

Figura 4.29, motor DC de 6[V] Figura 4.30, motor DC de 12[V]


de de
Donde la sigla6000
RPM,RPM.
significa: Revoluciones Por Minuto 4000 RPM.

Tienda de Componentes de Electrónica Robótica “Amaru” 81


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
pinMode(Pin6,OUTPUT); // Se define al Pin 6 como salida
}
void loop()
{
digitalWrite(Pin4,HIGH); // Se habilita 5 voltios al Pin 4 giro horario
delay(5000); // Se espera 5 segundos
digitalWrite(Pin4,LOW); // Se habilita 0 voltios al Pin 4
delay(2000); // Se espera 2 segundos
digitalWrite(Pin6,HIGH); // Se habilita 5 voltios al Pin 6 giro antihorario
delay(5000); // Se espera 5 segundos
digitalWrite(Pin6,LOW); // Se habilita 0 voltios al Pin 6
delay(2000); // Se espera 2 segundos
}

Tienda de Componentes de Electrónica Robótica “Amaru” 87


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.9.6 DIAGRAMA ESQUEMÁTICO A MONTAR

1K 
1K 

1K  1K 

10K 

10K 

Figura 4.35, diagrama esquemático control de giro horario o antihoario de un


motor DC.

Tienda de Componentes de Electrónica Robótica “Amaru” 88


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 10

CONTROL DE GIRO DE 2 MOTORES DC


UTILIZANDO CIRCUITO INTEGRADO L293D
4.10.1 OBJETIVO
- Aprender a controlar el giro de dos motores DC (Corriente Directa).
4.10.2 MATERIALES NECESARIOS
 1 Protoboard.
 1 Arduino Uno, o similar.
 5 Resistencias de 10k[Ω] de 1/4 Watt o similar.
 2 Motor DC o Motorreductor de 3 a 6 Voltios.
 1 L293D Circuito Integrad.
 8 Diodo 1N4007 o similar.
 Cables de conexión o cables Jumper.
 Una computadora donde se programara.
4.10.3 CONTROL DE GIRO DE 2 MOTORES DC

Se lo realizará utilizando el circuito integrado L293D.


4.10.3.1 CIRCUITO INTEGRADO L293D PUENTE “H”

El circuito integrado L293D es un puente “H”, está diseñado para hacer girar dos
motores de corriente directa en sentido horario o antihorario. La corriente
máxima que el L293D puede manejar es de 600 mA con voltajes desde 4.5 volts
a 36 volts.
Las características que tiene el circuito integrado L293d son:
 Alimentación: 4,5 a 36 Voltios
 Corriente de salida: 600 mA.
 Corriente pico de salida: 1 A por canal.

Tienda de Componentes de Electrónica Robótica “Amaru” 90


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.10.5 CÓDIGO DEL CONTROL DE GIRO DE 2 MOTORES DC
int Pin1=1; // Se declara el Pin 1 a utilizar
int Pin3=3; // Se declara el Pin 3 a utilizar
int Pin5=5; // Se declara el Pin 5 a utilizar
int Pin6=6; // Se declara el Pin 5 a utilizar
int Pin7=7; // Se declara el Pin 7 a utilizar
int Pin9=9; // Se declara el Pin 9 a utilizar
void setup()
{
pinMode(Pin1,OUTPUT); // Se declara el Pin 1 como salida y control
pinMode(Pin3,OUTPUT); // Se declara el Pin 3 como salida giro horario
pinMode(Pin5,OUTPUT); // Se declara el Pin 5 como salida giro antihorario
pinMode(Pin6,OUTPUT); // Se declara el Pin 1 como salida y control
pinMode(Pin7,OUTPUT); // Se declara el Pin 7 como salida giro horario
pinMode(Pin9,OUTPUT); // Se declara el Pin 9 como salida giro antihorario
}
void loop()
{
// Motor 1
digitalWrite(Pin1,HIGH); // Se habilita el motor 1
digitalWrite(Pin3,LOW); // Se habilita 0 Voltios se para el motor
digitalWrite(Pin5,HIGH); // Se habilita 5 Voltios para el giro antihorario
delay(5000); // Se espera 5 segundos.
digitalWrite(Pin1,HIGH); // Se habilita el motor 1
digitalWrite(Pin3,HIGH); // Se habilita 0 Voltios se para el motor
digitalWrite(Pin5,LOW); // Se habilita 5 Voltios para el giro antihorario
delay(5000); // Se espera 5 segundos.
digitalWrite(Pin1,LOW); // Se para el motor 1
delay(8000); // Se espera 8 segundos.
// Motor 2
digitalWrite(Pin6,HIGH); // Se habilita el motor 2
digitalWrite(Pin7,LOW); // Se habilita 0 Voltios se para el motor

Tienda de Componentes de Electrónica Robótica “Amaru” 93


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.10.7 DIAGRAMA FÍSICO REAL

Figura 4.41, control de giro de dos motores DC con el circuito integrado L293d.
4.10.8 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.40 y 4.41 mostradas anteriormente representan el control de


giro horario o antihorario de dos motores DC con el puente H L293D. El
primer motor DC gira en sentido horario por 5 segundos y luego girara por 5
segundos en sentido antihorario habrá una pausa de 8 segundos, luego el
segundo motor DC gira en sentido horario por 5 segundos y luego girará
seguido por 5 segundos en sentido antihorario, luego habrá una pausa de 8
segundos. Este proceso se repetirá hasta que se desconecte la fuente de
alimentación del Arduino.

Tienda de Componentes de Electrónica Robótica “Amaru” 95


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.11.7 DIAGRAMA FÍSICO REAL

Figura 4.45, control de giro de dos motorreductores DC con el módulo L298N.


4.11.8 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.44 y 4.45 mostradas anteriormente representan el control de


giro horario o antihorario de dos motorreductores DC con el controlador
L298N. Ambos motorreductores giraran en sentido horario por 5 segundos y
luego giraran en sentido antihorario por 5 segundos. Este proceso se repetirá
hasta que se desconecte la fuente de alimentación del Arduino.

Tienda de Componentes de Electrónica Robótica “Amaru” 101


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 12

DETECTOR DE LUZ U OSCURIDAD


4.12.1 OBJETIVO
- Aprender a realizar un circuito electrónico detector de luz u oscuridad.
4.12.2 MATERIALES NECESARIOS
 1 Protoboard.
 1 Arduino Uno, o similar.
 1 Transistor 2N2222 o similar.
 1 Fotorresistencia o LDR
 2 Resistencias de 10k de 1/2 o 1/4 de Watt.
 1 Potenciómetro de 10 kohm.
 1 Zumbador de 5 Voltios.
 Cables de conexión o cables Jumper.
 Una computadora donde se programara.
4.12.3 SENSOR DE LUZ Y FUNCIONAMIENTO

El sensor de luz es conocido como fotorresistencia o LDR (Light Dependen


Resistor), es un sensor cuya resistencia eléctrica varía en función de la
intensidad de la luz que recibe, de forma que cuando reciben un haz de luz
permiten el paso de la corriente eléctrica por el circuito electrónico.
Aplicación, cuando una persona o algún obstáculo interrumpe el paso de la luz,
la LDR aumenta su resistencia e interrumpe el paso de corriente por el circuito
electrónico.
Una fotorresistencia disminuye su resistencia a medida que aumenta la luz
sobre él. Los valores típicos son de 1 Mohm en total oscuridad, a 50-100 Ohm
bajo luz brillante.
En la siguiente figura se puede aprecia la fotorresistencia o LDR.

Tienda de Componentes de Electrónica Robótica “Amaru” 102


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Figura 1, fotorresistencia ó LDR.


Figura 4.46, aspecto físico del sensor de luz.
Para observar cómo funciona el sensor de luz LDR con el Arduino Uno arme el
siguiente circuito electrónico figura 47 y carga la codificación al Arduino Uno.

Figura 4.47, esquema electrónico del funcionamiento del sensor de Luz con
Arduino Uno.

Tienda de Componentes de Electrónica Robótica “Amaru” 103


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.12.5 DIAGRAMA DE CONTROL

Figura 4.51, secuencia de control del detector.


4.12.6 CÓDIGO DEL DETECTOR DE OSCURIDAD

int ValorInicial; //Se declara la variable ValorInicial


int Pin2=2, Pin12=12; // Se declara los pines a utilizar
void setup()
{
pinMode(Pin12,INPUT); // Se declara al Pin 12 como entrada de datos
pinMode(Pin2,OUTPUT); // Se declara al Pin 2 como salida de datos
}
void loop()
{
int ValorIncial=LOW; // Se asigna 0 Voltios al Valor Inicial tipo Int

Tienda de Componentes de Electrónica Robótica “Amaru” 107


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.12.7 DIAGRAMA FÍSICO REAL

Potenciómetro 100K

Figura 4.52, diagrama físico del sensor de oscuridad.


4.12.8 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.51 y 4.52 mostradas anteriormente representan el detector de


oscuridad, se debe calibrar el sensor de oscuridad con el potenciómetro para
que sea más sensible a la oscuridad. Cuando exista oscuridad total sobre
sensor de luz (LDR) se escuchara un sonido emitido por el Zumbador y se
escuchara por 2 segundos, si el sensor de Luz sigue en oscuridad se oirá el
sonido hasta que encuentre luz natural o artificial. Este proceso se repetirá
hasta que se desconecte la fuente de alimentación del Arduino.

Tienda de Componentes de Electrónica Robótica “Amaru” 109


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 13

ALARMA CASERA
4.13.1 OBJETIVO
- Aprender a realizar una alarma casera con un sensor de movimiento
(PIR) que detecte personas.
4.13.2 MATERIALES NECESARIOS
 1 Protoboard.
 1 Arduino Uno, o similar.
 1 Zumbador de 5 Voltios.
 1 Módulo sensor de Movimiento PIR.
 1 Resistencias de 10k de 1/2 o 1/4 de Watt.
 Cables de conexión o cables Jumper.
 Una computadora donde se programara.
4.13.3 MÓDULO SENSOR DE MOVIMIENTO O SENSOR PIR

El módulo sensor de movimiento contiene un sensor Piroeléctrico, el cual puede


detectar cambios de radiación infrarroja. Todo objeto (o cuerpo humano) emite
cierto nivel de radiación, y entre mayor temperatura tenga, mayor radiación
emitirá. Los sensores PIR se basan en la medición de la radiación infrarroja.
Todos los cuerpos (vivos o no) emiten una cierta cantidad de energía infrarroja,
cuanto mayor es su temperatura. Los dispositivos o módulos PIR disponen de
un sensor piro eléctrico capaz de captar esta radiación y convertirla en una
señal eléctrica.
El modulo sensor PIR son perfectos para detectar cuando una persona ingresa o
abandona un espacio.
Su aplicación en especial en sistemas de seguridad, iluminación automática,
automatización y control industrial, puertas y timbres automáticos.

Tienda de Componentes de Electrónica Robótica “Amaru” 110


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Módulo sensor de detección de Pines de conexión


movimiento

VCC: 3,3 - 5[V]


GND: 0[V]
Salida: Pulso lógico de 3,3[V]
Rango de detección:
3 a 7 metros, ajustable.
Angulo de detección: <100o (cono).

Figura 4.53, módulo sensor de detección de movimiento PIR.

Vcc
Señal de Salida (Vout)
GND
(0V)

Ajuste de tiempo de duración

Ajuste de Sensibilidad
Disparo único

Disparo repetido

Figura 4.54, aspecto físico inferior y descripción del módulo sensor PIR.
El funcionamiento del módulo sensor de movimiento ocurre de la siguiente
forma: si un cuerpo (personas o animales) emite radiación infrarroja se activará
el sensor de movimiento y en la salida de la señal se habilitará 5 Voltios caso
contrario la salida de señal tendrá 0 Voltios.

Tienda de Componentes de Electrónica Robótica “Amaru” 111


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
{
pinMode(Pin4,INPUT); // Se declara al Pin 4 como entrada de datos
pinMode(Pin10,OUTPUT); // Se declara al Pin 10 como salida de datos
}
void loop()
{
ValorInicialPIR=LOW; // La variable inicial del sensor Pir se inicia en
//cero voltios
ValorInicialPIR=digitalRead(Pin4); // Se lee el valor del Pin 4 y ese valor se
//lo guarda en la variable Inicial del sensor PIR
if(ValorInicialPIR==HIGH) // Condicion de falsedad o verdad
{
digitalWrite(Pin10,HIGH); // Si la condicion resulta ser verdadera se
//habilita el Pin 10, 5 Voltios
delay(5000); // Se espera 5 segundos
}
else
{
digitalWrite(Pin10,LOW); // Si la condicion resulta ser falsa se
//habilita al Pin 10, 0 Voltios
}
}

Tienda de Componentes de Electrónica Robótica “Amaru” 113


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.14.5 FUNCIÓN TONE ()

La función tone() genera un tono a una frecuencia determinada en Hertz (Hz)


en un pin específico con una duración especifica. El comando tone usa recursos
como timers para generar el tono de forma precisa. Use un número negativo
para una duración infinita.
Sintaxis de la función tone():
tone(pin, frecuencia, duración)
Donde:
pin: el pin Arduino en el que generar el tono.
frecuencia: la frecuencia del tono en hercios. Tipos de datos permitidos:
unsigned int.
duración: la duración del tono en milisegundos (opcional).
4.14.6 DIAGRAMA DE CONTROL DE LA MELODÍA MUSICAL
NAVIDEÑA

Secuencia rítmica de las notas musicales para la melodía musical navideña que
es la siguiente:
1) Do-Do-La-Sol-Fa-Do
2) Do-Do-La-Sol-Fa-Re
3) Re-Re-La#-La-Sol-Do#-Do#-Do#
4) Do#-Re#-Do#-La#-Sol-Fa
5) Do#-La-La-La-La-La-La-La-Do#-Fa-Sol-La
6) La#-La#-La#
7) La#-La#-La-La-La-La-Sol-Sol-La-Sol

Tienda de Componentes de Electrónica Robótica “Amaru” 118


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
int frecuencia6=1046.5; //Se declara la nota Do
int frecuencia7=1046.5; //Se declara la nota Do
int frecuencia8=1046.5; //Se declara la nota Do
int frecuencia9=1760; //Se declara la nota La
int frecuencia10=1567.98; //Se declara la nota Sol
int frecuencia11=1396.91; //Se declara la nota Fa
int frecuencia12=1174.66; //Se declara la nota Re
int frecuencia13=1174.66; //Se declara la nota Re
int frecuencia14=1864.66; //Se declara la nota La#
int frecuencia15=1760; //Se declara la nota La
int frecuencia16=1567.98; //Se declara la nota Sol
int frecuencia17=1108.73; //Se declara la nota Do#
int frecuencia18=1108.73; //Se declara la nota Do#
int frecuencia19=1108.73; //Se declara la nota Do#
int frecuencia20=1108.73; //Se declara la nota Do#
int frecuencia21=1244.51; //Se declara la nota Re#
int frecuencia22=1108.73; //Se declara la nota Do#
int frecuencia23=1864.66; //Se declara la nota La#
int frecuencia24=1567.98; //Se declara la nota Sol
int frecuencia25=1396.91; //Se declara la nota Fa
int frecuencia26=1108.73; //Se declara la nota Do#
int frecuencia27=1760; //Se declara la nota La
int frecuencia28=1760; //Se declara la nota La

Tienda de Componentes de Electrónica Robótica “Amaru” 120


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
int frecuencia29=1760; //Se declara la nota La
int frecuencia30=1760; //Se declara la nota La
int frecuencia31=1760; //Se declara la nota La
int frecuencia32=1760; //Se declara la nota La
int frecuencia33=1760; //Se declara la nota La
int frecuencia34=1108.73; //Se declara la nota Do#
int frecuencia35=1396.91; //Se declara la nota Fa
int frecuencia36=1567.98; //Se declara la nota Sol
int frecuencia37=1760; //Se declara la nota La
int frecuencia38=1864.66; //Se declara la nota La#
int frecuencia39=1864.66; //Se declara la nota La#
int frecuencia40=1864.66; //Se declara la nota La#
int frecuencia41=1864.66; //Se declara la nota La#
int frecuencia42=1864.66; //Se declara la nota La#
int frecuencia43=1760; //Se declara la nota La
int frecuencia44=1760; //Se declara la nota La
int frecuencia45=1760; //Se declara la nota La
int frecuencia46=1760; //Se declara la nota La
int frecuencia47=1567.98; //Se declara la nota Sol
int frecuencia48=1567.98; //Se declara la nota Sol
int frecuencia49=1760; //Se declara la nota La
int frecuencia50=1567.98; //Se declara la nota Sol
long duracion=1500; // Se declara la duración del tono

Tienda de Componentes de Electrónica Robótica “Amaru” 121


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
void setup()
{
pinMode(pin11,OUTPUT); // Se declra al pin 11 como salida
}
void loop()
{
tone(pin11,frecuencia1,duracion); // Se asigna pin11, frecuencia1 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia2,duracion);// Se asigna pin11, frecuencia2 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia3,duracion); // Se asigna pin11, frecuencia3 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia4,duracion);// Se asigna pin11, frecuencia4 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia5,duracion);// Se asigna pin11, frecuencia5 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia6,duracion); // Se asigna pin11, frecuencia6 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia7,duracion); // Se asigna pin11, frecuencia7 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia8,duracion); // Se asigna pin11, frecuencia8 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia9,duracion);// Se asigna pin11, frecuencia9 y duración

Tienda de Componentes de Electrónica Robótica “Amaru” 122


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia10,duracion);// Se asigna pin11, frecuencia10 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia11,duracion); // Se asigna pin11, frecuencia11 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia12,duracion); // Se asigna pin11, frecuencia12 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia13,duracion); // Se asigna pin11, frecuencia13 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia14,duracion); // Se asigna pin11, frecuencia14 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia15,duracion); // Se asigna pin11, frecuencia15 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia16,duracion); // Se asigna pin11, frecuencia16 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia17,duracion); // Se asigna pin11, frecuencia17 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia18,duracion); // Se asigna pin11, frecuencia18 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia19,duracion); // Se asigna pin11, frecuencia19 y duración
delay(300); //Se espera 300 milisegundos
tone(pin11,frecuencia20,duracion); // Se asigna pin11, frecuencia20 y duración
delay(400); //Se espera 400 milisegundos

Tienda de Componentes de Electrónica Robótica “Amaru” 123


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
tone(pin11,frecuencia21,duracion); // Se asigna pin11, frecuencia21 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia22,duracion); // Se asigna pin11, frecuencia22 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia23,duracion); // Se asigna pin11, frecuencia23 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia24,duracion); // Se asigna pin11, frecuencia24 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia25,duracion); // Se asigna pin11, frecuencia25 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia26,duracion); // Se asigna pin11, frecuencia26 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia27,duracion); // Se asigna pin11, frecuencia27 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia28,duracion); // Se asigna pin11, frecuencia28 y duración
delay(300); //Se espera 300 milisegundos
tone(pin11,frecuencia29,duracion); // Se asigna pin11, frecuencia29 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia30,duracion); // Se asigna pin11, frecuencia30 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia31,duracion); // Se asigna pin11, frecuencia31 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia32,duracion); // Se asigna pin11, frecuencia32 y duración

Tienda de Componentes de Electrónica Robótica “Amaru” 124


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia33,duracion); // Se asigna pin11, frecuencia33 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia34,duracion); // Se asigna pin11, frecuencia34 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia35,duracion); // Se asigna pin11, frecuencia35 y duración
delay(500); //Se espera 500 milisegundos
tone(pin11,frecuencia36,duracion); // Se asigna pin11, frecuencia36 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia37,duracion); // Se asigna pin11, frecuencia37 y duración
delay(300); //Se espera 300 milisegundos
tone(pin11,frecuencia38,duracion); // Se asigna pin11, frecuencia38 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia39,duracion); // Se asigna pin11, frecuencia39 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia40,duracion); // Se asigna pin11, frecuencia40 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia41,duracion); // Se asigna pin11, frecuencia41 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia42,duracion); // Se asigna pin11, frecuencia42 y duración
delay(400); //Se espera 400 milisegundos
tone(pin11,frecuencia43,duracion); // Se asigna pin11, frecuencia43 y duración
delay(500); //Se espera 500 milisegundos

Tienda de Componentes de Electrónica Robótica “Amaru” 125


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.14.8 DIAGRAMA ESQUEMÁTICO A MONTAR

Figura 4.60, diagrama esquemático electrónico de la melodía musical navideña.


4.14.9 DIAGRAMA FÍSICO REAL

Figura 4.61, aspecto físico del armado de la melodía musical navideña.

Tienda de Componentes de Electrónica Robótica “Amaru” 127


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
pin: el número del pin del Arduino en el que desea leer el pulso. Tipos de datos
permitidos: int.
estado: tipo de pulso a leer: ALTO (HIGH) o BAJO (LOW) . Tipos de datos
permitidos: int.
4.15.6 DIAGRAMA DE CONTROL DEL MEDIDOR DE DISTANCIA

Secuencia de funcionamiento del medidor de distancia a un objeto es la


siguiente:

Figura 4.64, diagrama de control de la medición de la distancia a un objeto.

Tienda de Componentes de Electrónica Robótica “Amaru” 132


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.15.7 CÓDIGO DE LA MEDICIÓN DE UN OBJETO

int PinEcho=7; // Se declara al Pin 7 como dato entero se conecta a Echo

int PinTrig=8; // Se declara al Pin 8 como dato entero se conecta a Trig

float tiempo,Distancia; //Se declara las variables tiempo y distancia de tipo Real

void setup() // Asignacion de puertos de entrada y salida

pinMode(PinEcho,INPUT); //Se declara al PinEcho como Entrada

pinMode(PinTrig,OUTPUT); //Se declara al PinTrig como Salida

Serial.begin(9600); //Se habilita el Monitor Serie

void loop()

digitalWrite(PinTrig,LOW); //Se declara al PinEcho estado Bajo

digitalWrite(PinTrig,HIGH); //Dispara del pulso a nivel Alto

delayMicroseconds(10); // Se espera 10 microsegundos

digitalWrite(PinTrig,LOW); // El pulso pasa nivel bajo

tiempo=pulseIn(PinEcho,HIGH); // Calculo del tiempo de viaje en microsegundos

Distancia=tiempo*0.01715; // calculo de la distancia medido centimetros

if(Distancia>0) //Condicion Verdadera, si la distancia en mayor a 0 hacer

Serial.print(Distancia); // Mostrar el valor de la variable distancia

Serial.print("cm"); // Solo muestra cm

Serial.print("\n"); // Salto de linea

delay (200); // Se espera 200 milisegundos

Tienda de Componentes de Electrónica Robótica “Amaru” 133


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
else

Serial.print("No existe objeto"); // Condicion falsa

Serial.print("\n"); // Salto de linea

delay (200); // Se espera 200 milisegundos

4.15.8 DIAGRAMA ESQUEMÁTICO A MONTAR

Figura 4.65, diagrama esquemático electrónico de la medición de distancia que


se encuentra un objeto.

Tienda de Componentes de Electrónica Robótica “Amaru” 134


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.15.10 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.65 y 4.66 mostradas anteriormente representan como medir la


distancia de un objeto con el Arduino Uno. Se aplica un pulso de 10
microsegundos en el PinTrig para comenzar la medición, luego en sensor envía
8 pulsos de 40 KHz y se pone el alto al PinEcho y el PinEcho permanecerá en
nivel alto hasta que reciba el sonido de reflejo de los pulsos de 40 KHz. Este
proceso se repetirá hasta que se desconecte la fuente de alimentación del
Arduino.
4.15.11 EVALÚE SU COMPRENSIÓN

- Realice el análisis y la programación para el cálculo de la distancia en metros.


- Investigue en internet otros códigos fuente de cálculos de distancia de un
objeto con el mismo módulo y realice un análisis de precisión y error respecto a
un instrumento de medición común.
- Realice el análisis y la programación para que cuando el modulo sensor
Ultrasonido detecte una distancia de 50, 100 y 150 centímetros un objeto emita
una señal de alarma (Zumbador) caso contrario no emita sonido.

Tienda de Componentes de Electrónica Robótica “Amaru” 136


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 16

MANEJO DEL DISPLAY DE 7 SEGMENTOS


4.16.1 OBJETIVO
- Aprender el manejo del display de 7 segmentos mostrando los números
decimales desde el número cero hasta el número nueve.
4.16.2 MATERIALES NECESARIOS
 1 Protoboard
 1 Arduino Uno, o similar.
 1 Pulsador de 2 pines.
 7 Resistencias de 220 ohm de 1/2 Watt o similar.
 1 Resistencia de 10Kohm de 1/2 Watt o similar.
 1 Display de 7 segmentos Catado Común.
 Cables de conexión o cables Jumper.
 Una computadora donde se programara.
4.16.3 DISPLAY DE 7 SEGMENTOS

El display de 7 segmentos en un componente electrónico que se utilizara para


representar números decimales y algunos caracteres. Se llaman display de
segmentos porque están compuestos por varios diodos Led internamente y
cada uno de ellos se enciende y apaga para dar la apariencia de los números
decimales o la forma de algunos caracteres.
El display de 7 segmentos muestra los siguientes números: 0, 1, 2, 3, 4, 5, 6, 7,
8, 9.
El display de 7 segmentos muestra los siguientes caracteres: A, b, C, d, E, F y
entre otros caracteres.
Existen 2 tipos de display de 7 segmentos Ánodo Común y Catado Común:

Tienda de Componentes de Electrónica Robótica “Amaru” 137


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Display Ánodo Común, Se llama así porque todos los diodos Led (internos)
están unidos en su terminal positiva (ánodo), para encenderlos tenemos que
poner tierra (o a cero Voltios) en la terminal de la letra que se desee.
Display Cátodo Común, los diodos led (internos) están unidos en la terminal
negativa (cátodo). Para encender los led se tiene que enviar el voltaje de 5
Voltios en las terminales de las letras.

Display de 7 Segmentos aspecto físico Display de 7 Segmentos aspecto


real interno

Figura 4.68, forma física real y forma interna del display de 7 segmentos.

Display de 7 Segmentos Ánodo Display de 7 Segmentos Catado Común


común

Figura 4.69, forma interna de los diodos del display de 7 segmentos.

Tienda de Componentes de Electrónica Robótica “Amaru” 138


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Ejemplo 1, si utilizamos el display de 7 segmentos tipo Cátodo Común y
queremos que se observe el número 3, se habilitara 5 Voltios a: “A”, “B”, “G”,
“C”, “D” y “E”, “F” se pone a 0 Voltios.

Figura 4.70, se aprecia el número 3 en el display de 7 segmentos.


Ejemplo 2, si utilizamos el display de 7 segmentos tipo Cátodo Común y
queremos que se observe el número 9, se habilitara 5 Voltios a: “F”, “A”, “B”,
“G”, “C” y “D”, “E” se coloca a 0 Voltios.

Figura 4.71, se aprecia el número 9 en el display de 7 segmentos.


Se desarrollara el proyecto secuencia de números desde el cero hasta el
número nueve en el display de 7 segmentos Catado Común.

Tienda de Componentes de Electrónica Robótica “Amaru” 139


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
digitalWrite(Pin4,HIGH);
digitalWrite(Pin5,HIGH);
digitalWrite(Pin6,LOW);
digitalWrite(Pin7,HIGH);
delay(1000);
// Representación del número TRES "3"
digitalWrite(Pin1,HIGH);
digitalWrite(Pin2,HIGH);
digitalWrite(Pin3,HIGH);
digitalWrite(Pin4,HIGH);
digitalWrite(Pin5,LOW);
digitalWrite(Pin6,LOW);
digitalWrite(Pin7,HIGH);
delay(1000);
// Representación del número CUATRO "4"
digitalWrite(Pin1,LOW);
digitalWrite(Pin2,HIGH);
digitalWrite(Pin3,HIGH);
digitalWrite(Pin4,LOW);
digitalWrite(Pin5,LOW);
digitalWrite(Pin6,HIGH);
digitalWrite(Pin7,HIGH);
delay(1000);

Tienda de Componentes de Electrónica Robótica “Amaru” 143


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
// Representación del número CINCO "5"
digitalWrite(Pin1,HIGH);
digitalWrite(Pin2,LOW);
digitalWrite(Pin3,HIGH);
digitalWrite(Pin4,HIGH);
digitalWrite(Pin5,LOW);
digitalWrite(Pin6,HIGH);
digitalWrite(Pin7,HIGH);
delay(1000);
// Representación del número SAIES "6"
digitalWrite(Pin1,HIGH);
digitalWrite(Pin2,LOW);
digitalWrite(Pin3,HIGH);
digitalWrite(Pin4,HIGH);
digitalWrite(Pin5,HIGH);
digitalWrite(Pin6,HIGH);
digitalWrite(Pin7,HIGH);
delay(1000);
// Representación del número SIETE "7"
digitalWrite(Pin1,HIGH);
digitalWrite(Pin2,HIGH);
digitalWrite(Pin3,HIGH);
digitalWrite(Pin4,LOW);

Tienda de Componentes de Electrónica Robótica “Amaru” 144


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
digitalWrite(Pin5,LOW);
digitalWrite(Pin6,LOW);
digitalWrite(Pin7,LOW);
delay(1000);
// Representación del número ocho "8"
digitalWrite(Pin1,HIGH);
digitalWrite(Pin2,HIGH);
digitalWrite(Pin3,HIGH);
digitalWrite(Pin4,HIGH);
digitalWrite(Pin5,HIGH);
digitalWrite(Pin6,HIGH);
digitalWrite(Pin7,HIGH);
delay(1000);
// Representación del número nueve "9"
digitalWrite(Pin1,HIGH);
digitalWrite(Pin2,HIGH);
digitalWrite(Pin3,HIGH);
digitalWrite(Pin4,LOW);
digitalWrite(Pin5,LOW);
digitalWrite(Pin6,HIGH);
digitalWrite(Pin7,HIGH);
delay(1000);
}

Tienda de Componentes de Electrónica Robótica “Amaru” 145


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.16.9 EVALÚE SU COMPRENSIÓN

- Realice el análisis y la programación para el display Ánodo común desde el


cero (0) hasta el nueve (9).
- Investigue en internet otros códigos fuente del conteo del cero (0) al nueve
(9) y realice un análisis.
- Realice el análisis y la programación para que se cuente del cero (0) hasta el
nueve (9) de forma ascendente con un pulsador y también con otro pulsador
que cuente desde 9 hasta el cero (0) de forma descendente para los display de
tipo Ánodo y Cátodo común.
- Realice el análisis y la programación para que se cuente del cero (0) hasta el
nueve (9) de en el número cinco (5) se encienda una alarma (Zumdador) por 5
segundos y se reinicie la cuenta a cero (0).

Tienda de Componentes de Electrónica Robótica “Amaru” 148


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Módulo Display de 7 Segmentos de 4 Dígitos Pines de conexión

- VCC (+5V DC)


- DIO
- CLK
- GND (Tierra: 0V)

Figura 4.75, Módulo Display de 7 Segmentos de 4 Dígitos.


4.17.4 FUNCIÓN SHOWNUMBERDEC ( )

La función showNumberDec (), nos permite interactuar con los dígitos del
módulo display de 7 segmentos de 4 digitos.
Sintaxis
showNumberDec(números, ceros, longitud, posición)
Dónde: Número, sirve para mostrar el número del cero (0) al nueve (9).
Ceros: muestra u oculta los ceros precedentes al número, se activa o se
desactiva con true o false.
Longitud: Longitud del número a mostrar (1 a 4) es decir si se habilitara
un display de 7 segmentos o dos display de 7 segmentos y los 4 a la vez.
Posición, inicio de ubicación del digito a utilizar posición 0 (1er digito),
posición 1 (2do digito), posición 2 (3er digito) y posición 3 (4to digito).
Por ejemplo, si escribimos:
showNumberDec(2, false, 1, 3) se interpreta así:
2: se mostrara el número dos.
False: no habrá ceros prendidos.
1: longitud de cero al nueve.

Tienda de Componentes de Electrónica Robótica “Amaru” 150


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.17.6 LIBRERÍA EN ARDUINO

Las librerías en Arduino, son códigos fuentes hechos por otras personas que
facilitan el uso y manejo de diferentes módulos para Arduino además facilita la
programación y reduce el código fuente para que sea más entendible. Las
librerías se las utilizan en el Sketch o programa principal.
En el programa Arduino se puede añadir las librerías necesarias siempre y
cuando esté conectado a Internet.
4.17.6.1 AÑADIR UNA LIBRERÍA AL CÓDIGO FUENTE O SKETCH

Como ejemplo se añadirá la librería para utilizar el Módulo Display de 7


Segmentos de 4 Dígitos que sigue el siguiente procedimiento:
1. Abrir la ventana principal de Arduino y hacer clic en “Programas”
2. Ubicar la opción “Incluir Libreria”
3. Hacer clic en la opción “Gestionar Librerias”

Tienda de Componentes de Electrónica Robótica “Amaru” 152


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4. Aparecerá la siguiente ventana de Gestor de Librerías

5. Donde indica “Filtre su búsqueda”, escriba el siguiente texto “TM1637”


aparecerá varias librerías de varios autores, pero busque el que tiene
nombre de “TM1637 by Avishay Orpaz”.

6. Haga clic en la librería le aparecerá la opción de “instalar” espere un


tiempo y la librería ya estará instalado.
7. Si toda la operación le salió bien le parecerá la siguiente ventana
“Installed” que significa que se instalado la librería correctamente.

Tienda de Componentes de Electrónica Robótica “Amaru” 153


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
j++; // Incrementar la variable "j" en 1 unidad
display.showNumberDec(j, false, 2, 4); // Muestra los minutos
i=0; // La variable i se inicia en cero
}
if(j==100)
{
display.clear(); // Limpia la pantalla
i=0; // La variable i se inicia en cero
j=0; // La variable j se inicia en cero
}
}
}

Tienda de Componentes de Electrónica Robótica “Amaru” 155


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.17.10 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.76 y 4.78 mostradas anteriormente representan la secuencia


de un minutero que cuenta hasta 99 minutos y un segundero de 60 segundos.
Cuando se inicia el en display de 7 segmentos de 4 dígitos, en los 2 primeros
dígitos de la izquierda se podrá observar los minutos y en los 2 últimos dígitos
del lado derecha cuanta los segundos. Cuando llegue el minutero a los 99
minutos se volverá al conteo inicial. Este proceso se repetirá hasta que se
desconecte la fuente de alimentación del Arduino.
4.17.11 EVALÚE SU COMPRENSIÓN

- Realice el análisis y la programación para el display de 7 segmentos y 4 dígitos


se observe el cambio de horas y minutos.
- Investigue en cómo puede realizar un cronometro con el display de 7
segmentos de 4 dígitos.
- Investigue cómo puede habilitar los “:” en dicho display.

Tienda de Componentes de Electrónica Robótica “Amaru” 157


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Figura 4.79, medición de la temperatura ambiente con el multímetro o tester.


Las aplicaciones del sensor de temperatura pueden ser: termómetros,
termostatos, sistemas de monitoreo y entre otras aplicación.
 Termostato.
 Sistemas de monitoreo.
 Termómetro, entre otras aplicaciones.

Sensor de Temperatura LM35 Pines de conexión

- VCC de 4V a 30V
(recomendado 5V DC)
- V(Salida)
- GND (Tierra: 0V)
- Baja impedancia de
salida

Figura 4.80, sensor de temperatura LM35.

Tienda de Componentes de Electrónica Robótica “Amaru” 159


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.18.4 DIAGRAMA DE CONTROL DE LA MEDICIÓN DE LA
TEMPERATURA AMBIENTE

La secuencia de funcionamiento de la medición de temperatura es la siguiente:

Figura 4.81, diagrama de control de la medicación de la temperatura ambiente.


4.18.5 CÓDIGO DE LA MEDICIÓN DE LA TEMPERATURA
AMBIENTE

int PinSensor = A0; //Se declara al Pin A0, para leer el Voltaje Salida del LM35
float Temperatura; //Se declara la variable Temperatura de tipo Real

Tienda de Componentes de Electrónica Robótica “Amaru” 160


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
En la ventana del Monitor Serie del programa Arduino, se puede observar la
medicación aproximada de la temperatura ambiente medido en grados
centígrados (oC) como, 14,66 oC este valor puede variar según las condiciones
climatológicas locales donde se encuentre.
4.18.6 DIAGRAMA ESQUEMÁTICO A MONTAR

Figura 4.83, diagrama esquemático electrónico minutero y segundero.


Importante.- Si se desea utilizar otro voltaje (Vcc) para el sensor de
temperatura LM35 como por ejemplo de 12 Voltios, la fórmula del cálculo de la
temperatura “Temperatura = (ValorSensor * 500)/1023” cambiara, más
información revise ecuación de la resolución del ADC Arduino.

Tienda de Componentes de Electrónica Robótica “Amaru” 162


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.18.7 DIAGRAMA FÍSICO REAL

Figura 4.84, conexión físico real de la medición de la temperatura ambiente.


4.18.9 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.83 y 4.84 mostradas anteriormente representan la secuencia


de la medición de la temperatura ambiente actual con una fuente de 5 Voltios
fijo. Cuando Arduino lee el valor en el Pin A0, convierte los mV en números de
0 a 1023 a través de la función analogRead (conversión de Analógico a
Digital), ese número mostrado en el monitor serie representa la temperatura
actual medido en grados centígrados. Este proceso se repetirá hasta que se
desconecte la fuente de alimentación del Arduino.
4.18.10 EVALÚE SU COMPRENSIÓN

- Realice el análisis y la programación para el siguiente caso: cuando la


temperatura se encuentre entre los 20 a 25 grados centígrados se encienda un
diodo Led de color verde y cuando se encuentre entre los 26 o más se encienda
un diodo Led de color rojo y suene un sonido de alarma de advertencia.
- Según su criterio cómo realizaría la programación para crear un termostato
funcional según su necesidad.

Tienda de Componentes de Electrónica Robótica “Amaru” 163


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 19

ENCENDER UN FOCO DE 220V CON UN MÓDULO


RELÉ
[Se debe tener mucho cuidado al realizar este proyecto porque se utilizara la
electricidad domestica que tiene el voltaje alterno de 220 Voltios]
4.19.1 OBJETIVO
- Aprender a encender un foco de 220V con un módulo Relé de un canal.
4.19.2 MATERIALES NECESARIOS
 1 Protoboard (opcional).
 1 Arduino Uno, o similar.
 1 Modulo Relé de un canal de 5V.
 1 Foco de 220 V o Foco
 1 Socket para el foco.
 2 metros de cable # 14 y su enchufe para corriente alterna o similar.
 Cables de conexión o cables Jumper.
 Una computadora donde se programara.
4.19.3 MODULO RELÉ DE UN CANAL

El módulo Relé de un canal es especial para prototipo rápido con Arduino u


otros controladores, con capacidad de manejar cargas de voltaje y corriente
alterno de 250V y 10A, solo se necesita un voltaje de salida de un pin 5 Voltios
de una placa Arduino o similar para controlar su funcionamiento.
El módulo Relé tiene indicadores de estado a través de los diodos LED que se
encuentran en su placa.
Existen otros módulos Relés que tienen indicadores de estado y son módulos
Relés con optoacopladores.

Tienda de Componentes de Electrónica Robótica “Amaru” 164


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Módulo Relé de un Canal Características

Voltaje de Operación: 5[V]


Señal de Control: 3.3 ó 5[V]
Nº de Relé (canales): 1 CH
Capacidad máx: 10[A]/250[VAC]

Figura 4.85, módulo Relé de un canal.


Las aplicaciones del Relé son las siguientes: control de carga que requiere
voltaje y corriente de alterno, control de motores de tipo AC, inversor de giro
de motores DC y entre otras aplicaciones.
4.19.4 DIAGRAMA DE CONTROL DE LA ENCENDIDA DE UN FOCO
DE 220V

Secuencia de control del encendido de un foco de 220 Voltios es la siguiente:

Figura 4.86, diagrama de control del encendido de un foco de 220 V.

Tienda de Componentes de Electrónica Robótica “Amaru” 165


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.19.5 CÓDIGO DEL ENCENDIDO DE UN FOCO DE 220V

int Pin2=2; //Se declara el pin 2 a utilizar del Arduino


void setup()
{
pinMode(Pin2,OUTPUT); //Se declara al pin 2 como salida
}
void loop()
{
digitalWrite(Pin2,HIGH); //Se asigna 5 Voltios al Pin 2
delay(2000); //Se espera 2 segundos
digitalWrite(Pin2,LOW); //Se asigna 0 Voltios al Pin 2
delay(2000); //Se espera 2 segundos
}

Tener cuidado con el manejo de la electricidad


domiciliaria: El contacto con el voltaje
eléctrico puede ocasionar que la corriente
fluya a través del cuerpo, lo cual resulta en
descargas eléctricas y quemaduras. Esto puede
provocar lesiones graves e incluso la muerte.
Recibirá una descarga eléctrica si toca al
mismo tiempo dos cables. Ese cuidado solo debe
tener al manejar los cables con corriente
alterna. Con los cables que llevan la
corriente continua no son peligros.

Tienda de Componentes de Electrónica Robótica “Amaru” 166


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 20

ALARMA DE INCENDIO
4.20.1 OBJETIVO
- Aprender a realizar una alarma de incendio que detecte el fuego y
emita un sonido de alerta.
4.20.2 MATERIALES NECESARIOS
 1 Protoboard.
 1 Arduino Uno, o similar.
 1 Modulo Sensor de Fuego.
 1 Zumbador activo de 5 Voltios o similar.
 Cables de conexión o cables Jumper.
 Una computadora donde se programara.
4.20.3 MODULO SENSOR DE FUEGO

El modulo sensor de fuego se lo utiliza para detectar el fuego producido de


forma natural o por algún accidente o caso fortuito. Detecta longitudes de onda
de luz de 760 nm [nanómetros] a 1100 nm [nanómetros] a una distancia
máxima de detección es de 80 cm aproximadamente.
Aplicación del módulo sensor de fuego, se lo suele utilizar como los ojos de
robots para encontrar la fuente de fuego entre otras aplicaciones.
El modulo sensor de fuego se puede encontrar de varios tipos y marcar pero en
la figura 4.89 se presentan los tienen el mismo funcionamiento.
El funcionamiento de dicho modulo utilizando el pin digital (DO) es el siguiente:

 Cuando módulo detecta el fuego, se habilita un nivel alto (5 Voltios) en


el pin digital (DO) y cuando no se detecta el fuego el pin digital (DO) se
mantiene en un nivel bajo (LOW).
 Investigue el funcionamiento del pin analógico para dicho modulo.

Tienda de Componentes de Electrónica Robótica “Amaru” 169


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.20.4 DIAGRAMA DE CONTROL DE LA ALARMA DE INCENDIO

El diagrama de control es el siguiente:

Figura 4.90, diagrama de control de la alarma de incendio.

Tienda de Componentes de Electrónica Robótica “Amaru” 171


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.20.5 DIAGRAMA ESQUEMÁTICO A MONTAR

Figura 4.91, diagrama esquemático de la alarma de incendio.


4.20.6 DIAGRAMA FÍSICO REAL

Figura 4.92, conexión físico real de la alarma de incendio.

Tienda de Componentes de Electrónica Robótica “Amaru” 172


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Recomendación.- Si se van a utilizar más de 2 servomotores utilice una fuente
de energía externar por ejemplo, un porta pila de 4 pilas y sus pilas de tamaño
AA. Con dicha fuente de energía externa el servo se moverá de forma óptima.
4.21.5 LIBRERÍA PARA EL MANEJO DEL SERVOMOTOR

La librería que se utilizará para controlar el servomotor SG 90, ya está incluida


en el entorno de desarrollo de Arduino, con la cual se puede controlar hasta 12
servomotores. Para poder acceder a la librería que controlará el servo motor se
debe seguir el siguiente procedimiento:
1) En el código fuente se debe incluir en la primera línea del código fuente:
#include<Servo.h>
Esa primera línea de código nos permitirá utilizar las funciones que permitirán
el manejo del servomotor.
2) Se debe nombrar una variable para el servomotor:
Por ejemplo: servo1
En la segunda línea del código fuente se debe escribir lo siguiente:
Servo servo1;
Dónde: Servo es una palabra reservada de la librería “Servo.h”.
3) Dentro de la función setup() se debe escribir lo siguiente:
servo1.attach(3)
La función attach(), permite elegir el número de Pin de la placa Arduino a
utilizar:

Tienda de Componentes de Electrónica Robótica “Amaru” 177


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4) Dentro de la función loop() se debe escribir lo siguiente:
servo1.write()
La función write(), permite elegir el ángulo de giro.

Con todo el procedimiento 1), 2), 3) y 4) podremos mover el servomotor desde


0 grados hasta los 180 grados.
4.21.6 DIAGRAMA DE CONTROL DEL SERVOMOTOR

Se realizara un diagrama de control para que el servomotor se desplace de un


ángulo de 0 grados hasta los 180 grados pasando de 45 grados cada 3 segundos.
Es decir el servo se desplazara en sentido horario y antihorario:
1. 0 grados.
2. 45 grados.
3. 90 grados. Sentido horario
4. 135 grados.
5. 180 grados.

6. 135 grados.
7. 90 grados. Sentido antihorario
8. 45 grados.
9. 0 grados.

Tienda de Componentes de Electrónica Robótica “Amaru” 178


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.21.8 DIAGRAMA FÍSICO REAL

Figura 4.97, conexión físico real servomotor y el Arduino Uno.


4.21.9 CÓDIGO FUENTE DEL MANEJO DEL SERVOMOTOR

#include<Servo.h> //Se incluye la libreria Servo.h


Servo servo1; //Se declara la variable servo1
void setup()
{
servo1.attach(4); //Se declara el Pin4 a utilizar
}
void loop()
{
servo1.write(0); //El servo iniciara en 0 grados

Tienda de Componentes de Electrónica Robótica “Amaru” 180


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
PROYECTO 22

MANEJO DEL SERVOMOTOR CON 2 PULSADORES


4.22.1 OBJETIVO
- Aprender a manejar un servomotor con 2 pulsadores.
4.22.2 MATERIALES NECESARIOS
 1 Protoboard.
 1 Arduino Uno, o similar.
 1 Servomotor SG90 o similar.
 2 Pulsadores de 2 pines.
 2 Resistencia de 10K de 1/2 o 1/4 de watt.
 Cables de conexión o cables Jumper.
 Una computadora donde se programara.
4.22.3 SERVOMOTOR

Un servomotor, también conocido como “Servo”, es un dispositivo que permite


controlar con precisión la posición y movimiento de su eje, es decir se puede
controlar el ángulo de giro, la posición y la velocidad angular para cualquier
instante de tiempo.

Servomotor Pines de conexión

- El cable en el Rojo Alimentación (+)


o 5 Voltios.
- El cable café = Alimentación (-) o
tierra (0 Voltios).
- El cable naranja = Señal PWM.

Figura 4.98, servomotor SG90 y pines de conexión.

Tienda de Componentes de Electrónica Robótica “Amaru” 183


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.22.5 DIAGRAMA ESQUEMÁTICO A MONTAR

Figura 4.100, conexión del servomotor, 2 pulsadores y el Arduino Uno.


4.22.6 DIAGRAMA FÍSICO REAL

Figura 4.101, conexión físico real del servomotor con 2 pulsadores y la placa
Arduino Uno.

Tienda de Componentes de Electrónica Robótica “Amaru” 186


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
delay(15); //Pausa de 15 milisengundos
}
4.22.8 EXPLICACIÓN DEL FUNCIONAMIENTO

En las figuras 4.100 y 4.101 mostradas anteriormente representan la secuencia


del funcionamiento del movimiento del servomotor en sentido horario al
presionar el pulsador 1 y en sentido antihorario al presionar el pulsador 2.
Este proceso se sucederá hasta que se desconecte la fuente de alimentación
del Arduino.
4.22.9 EVALÚE SU COMPRENSIÓN

- Realice el análisis y la programación para realizar un brazo robótico.

Figura 4.102, brazo robótico.

Tienda de Componentes de Electrónica Robótica “Amaru” 188


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Módulo sensor de sonido 1 Pines de conexión

Pin 1: Salida Analógica (AO)


Pin 2: GND(G)
Pin 3: Vcc(+)
Pin 4: Salida Digital (DO)

Figura 4.103, módulo sensor de sonido.

Para conocer el funcionamiento del módulo sensor de sonido de la figura 103 se


sigue el siguiente procedimiento:
1) Se debe conocer inicialmente que voltaje de salida tiene el pin de salida
digital (DO) puede que tenga un voltaje alto (5 Voltios) o un voltaje bajo
(0 Voltios). Para esa situación utilice un multímetro en la escala de
medición voltios y observe que voltaje viene de fábrica.

Figura 4.104, conociendo estado inicial del pin DO del módulo sensor de sonido.

Tienda de Componentes de Electrónica Robótica “Amaru” 190


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
2) Ya conociendo el voltaje en el pin DO, Se debe ajustar el Trimpot
(potenciómetro) en sentido horario u antihorario para calibrar la
sensibilidad del sonido hasta que:
Diodo LED 1 quede prendido constantemente y el diodo LED 2 este
apagado o tenga 0 Voltios. Con un sonido fuerte con las 2 palmas de la
mano verifique que se prenda el diodo LED2 de forma instantánea,
activando un instante de tiempo un nivel alto de 5 Voltios. Además
cuando ocurra esa situación se debe verificar con el multímetro que en
el pin DO este en un nivel bajo de 0 Voltios.
Con la configuración del punto 1) y 2) se trabajara para encender el
diodo LED externo con el sonido de las 2 palmas.
Investigue el funcionamiento del pin analógico AO para módulo sensor de
sonido 1.

Módulo sensor de sonido 2 Pines de conexión

Pin 1: Salida Digital (OUT)


Pin 2: GND(G)
Pin 3: Vcc(+)

Figura 4.105, módulo sensor de sonido.


El funcionamiento del módulo sensor de sonido 2, es similar al módulo sensor
de sonido 1 solo que lleva un solo diodo LED y que representa al diodo LED 2 del
módulo sensor sonido 1. Se le recomienda al lector verificar dicho
funcionamiento para no tener complicaciones de uso.
4.23.4 DIAGRAMA DE CONTROL

El diagrama de control se lo realizara para el modulo sensor sonido 1, es el


siguiente: con un sonido de las dos manos (aplauso) se prende el diodo LED y
con otro sonido de las dos manos (aplauso) se apaga el diodo LED.

Tienda de Componentes de Electrónica Robótica “Amaru” 191


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

Figura 4.106, diagrama de control de encender y apagar el diodo LED con 2


sonidos producidos con las palmas.

Tienda de Componentes de Electrónica Robótica “Amaru” 192


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
4.23.7 CÓDIGO DEL ENCENDIDO Y APAGADO DE UN DIODO LED
CON 2 SONIDOS PRODUCIDOS CON LAS 2 PALMAS DE LA MANO.
int pin4=4; //Se declara el pin4 a utilizar
int pin6=6; //Se declara el pin6 a utilizar
int sonido_inicial; //Se declara la variable sonido inicial
int p=0; //Se declara la variable p=0 para el conteo del sonido
void setup()
{
pinMode(pin4,INPUT); //Se declara el pin4 como entrada
pinMode(pin6,OUTPUT); //Se declara el pin6 como salida
}
void loop()
{
sonido_inicial=digitalRead(pin4); //Se realiza la lectura del pin4
if(sonido_inicial==HIGH) //Si el sonido inicial esta en 0 Voltios hacer
{
p=p+1; //Se incrementa la variable p en una unidad
if(p==1) //Si p es igual a 1 hacer
{
digitalWrite(pin6,HIGH); //Se activa 5 Voltios al pin 6
delay(500); //se pausa de medio segundo
}
}

if(p==2) //Si la variable p es igual a 2 hacer


{
digitalWrite(pin6,LOW); //Se activa 0 Voltios al pin 6
delay (500); //se pausa de medio segundo
p=0; //Se inicia la variable p en 0 nuevamente
}
}

Tienda de Componentes de Electrónica Robótica “Amaru” 194


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0

APÉNDICE

A. Manejo del Protoboard (Extraído del


libro de Robótica Educativa 100%
Practica del mismo autor)

Tienda de Componentes de Electrónica Robótica “Amaru” 196


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
APÉNDICE A

MANEJO DEL PROTOBOARD


El Protoboard es un tablero de entrenamiento de circuitos electrónicos, que
tiene la forma de un tablero rectangular con orificios que se encuentran
conectados entre sí de manera interna siguiendo un patrón horizontal o
vertical. Es empleado para realizar pruebas de circuitos electrónicos, utilizando
componentes electrónicos y cables de conexión.
Este tablero de entrenamiento sirve para desarrollar experimento de circuitos
electrónicos y ver su funcionamiento antes de diseñar el circuito impreso o
soldar los componentes electrónicos.
En la siguiente figura se puede aprecia el Protoboard:
Figura 1a y 1b

Figura 1a, Protoboard con línea de Figura 1b, conexión interna del
color rojo y azul de 800 puntos. Protoboard.
También existen Protoboard de diferentes tamaños cono ser:
 Ultra Mini Protoboard de 25 puntos.
 Mini Protoboard de 170 puntos.
 Pequeño Protoboard de 400 puntos.
 Mediano Protoboard de 800 puntos.
 Grande Protoboard de 1660 puntos.

Tienda de Componentes de Electrónica Robótica “Amaru” 197


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
0.1 DESCRIPCIÓN DEL PROTOBOARD

Existen diferentes fabricantes de protoboard el siguiente protoboard blanco sin


líneas rojas y azules tiene la siguiente conexión interna horizontal o vertical:
Figura 1c

Figura 1c, protoboard mediano de color blanco sin líneas.


Figura 1d

Figura 1d, conexión interna del protoboard mediano blanco sin líneas.

El protoboard mediano blanco sin líneas de la imagen 1c y 1d, tiene una


separación en el medio del protoboard, se recomienda utilizar cables de

Tienda de Componentes de Electrónica Robótica “Amaru” 198


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
conexión en el medio del protoboard y en el extremo para que el protoboard
funcione como una sola pieza.
Figura 1e

Figura 1e, protoboard mediano de color blanco con cables de conexión en el


centro y en el extremo conexión recomendada.
Figura 1f

Figura 1f, conexión interna del protoboard mediano con cables de conexión en
el centro y en los extremos.

Tienda de Componentes de Electrónica Robótica “Amaru” 199


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
El protoboard mediano blanco con líneas de color rojo y azul, igual tiene una
separación en el medio del protoboard, se recomienda utilizar cables de
conexión en el medio del protoboard y en los extremos para que funcione
como una sola pieza.
Además este protoboard ya viene definido que el color rojo es la línea positivo
(+) y el color azul es la línea negativo (-).
Figura 1g

Figura 1g, protoboard mediano de color blanco con línea de color rojo y azul.
Figura 1h

Figura 1h, conexión interna del protoboard mediano con línea de color rojo y
azul.

Tienda de Componentes de Electrónica Robótica “Amaru” 200


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Figura 1i

Figura 1i, protoboard mediano de color blanco con líneas roja y azul con cables
de conexión en los extremos conexión recomendada.
Figura 1j

Figura 1j, conexión interna del protoboard mediano con linea de color rojo y
azul.

Tienda de Componentes de Electrónica Robótica “Amaru” 201


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Importante 1: se debe seguir la forma de conexión sugerida porque todos los
proyectos siguientes en el protoboard tendrán esas conexiones.
Importante 2: El cable de color rojo es el positivo y que el cable de color negro
es el negativo.
0.2 EJEMPLO DE CONEXIÓN DE COMPONENTES ELECTRÓNICOS

Figura 1k

Figura 1k, ejemplo de conexión de componentes electrónicos.


En el presente texto también se mostrará algunos proyectos la conexión de
soldar cada componente electrónico, así lo podrá aplicar a diferentes proyectos
relacionados.
0.3 COMO SOLDAR LOS COMPONENTES DE ELECTRÓNICA

Para realizar el soldado de componentes de electrónica se necesita los


siguientes materiales:
 Cautín de soldar o pistola de soldar.

Tienda de Componentes de Electrónica Robótica “Amaru” 202


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
 Estaño de soldar.
 Pomada de soldar o Flux de soldar.
0.3.1 PROCEDIMIENTO PARA SOLDAR COMPONENTES
ELECTRÓNICOS

Para realizar el soldado de componentes electrónicos ya se tiene que tener el


circuito electrónico funcionando de forma correcta, además se debe preguntar
si lo soldara:
 Componente a componente electrónico.
 En una placa perforada o baquelita.
 En una placa de circuito impreso.
 Otros.
Una vez definido lo anterior se debe seguir el siguiente procedimiento para
realizar la soldadura de componentes electrónicos:
Primero, se debe calentar el cautín de soldar hasta que sea capaz de derretir el
estaño en la punta del cautín, el estaño se debe mantener en la punta del
cautín.
Segundo, el componente electrónico o cables de conexión a soldar se debe
mojar o sopar a la pasta de soldar, una de las terminales a unir con otro
componente o cable de conexión.
El procedimiento segundo se repite hasta terminar de soldar todo el circuito
electrónico o proyecto electrónico.

Tienda de Componentes de Electrónica Robótica “Amaru” 203


APRENDE A PROGRAMAR EN
ARDUINO DESDE CER0
Figura 1l, 1m y 1n

Figura 1l, soldadura en una placa de


circuito impreso. Figura 1m, soldadura en una
placa perforada.

Figura 1n, soldadura de componente a componente electrónico y


cables de conexión.

Tienda de Componentes de Electrónica Robótica “Amaru” 204


APRENDE A PROGRAMAR EN
ARDUINO DESDE CERO

Referencia Bibliográfica:
Libros Impresos y Digitales
Aprende Arduino en un fin de semana Por: Alfredo Moreno y Sheila Corcoles
Arduino Curso práctico de formación Por: Óscar Torrente Artero
Electrónica Digital Por: Victor Rossano
Enciclopedia de Electrónica Básica Por: Ing. Horacio D. Vallejos
Fundamentos para Arduino Por: Javier Garrido Pedraza
Electrónica Por: Marcos, Pablo H., Carlos y Pablo T.
Arduino sin conocimientos previos Por: Benjamin Spahic
Introducción a la Robótica Por: Rafael Barea
Robótica Guía Teórica y Practica Por: USERS
Principios de Electrónica Por: Albert Malvino y David J. Bates
Pro Arduino Por: Jonathan Oxer
Diseño de Proyectos Básicos con Arduino Ing. Mg. Santiago Manzano

Páginas WEB Consultadas:


https://aprendiendoarduino.wordpress.com/2016/12/11/hardware-arduino/
https://www.arduino.cc/en/software
https://www.qbprofe.com/automatizacion-instrumentacion-industrial/que-es-un-
diodo-led/
https://www.mundoprimaria.com/lecturas-para-ninos-primaria/que-es-un-
semaforo
https://rambal.com/componentes/484-transistor-2n2222a-npn-to-92.html
https://electronilab.co/tienda/micro-motor-dc-3v-6v-130-16500-rpm/
https://marboltec.com/producto/controlador-de-motor-circuito-integrado-l293d/
http://i2celectronica.com/movimiento/23-sensor-pir.html
https://arduino.micro-log.com/sensor-ultrasonido/4.15.4 Calculo de la Distancia
https://arduinofacil.com/tienda/display-7-segmentos-catodo-comun/
https://www.electromania.pe/producto/modulo-display-7-segmentos-4-digitos/
http://i2celectronica.com/temperatura-y-humedad/12-lm35-sensor-de-
temperatura.html
https://provesi.com.co/senales/776-senal-riesgo-electrico-30x15.html

Tienda de Componentes de Electronica y Robotica “Amaru” 205


APRENDE A PROGRAMAR EN
ARDUINO DESDE CERO

https://moviltronics.com/tienda/modulo-rele-5v-1-canal/
https://www.arcaelectronica.com/products/modulo-detector-de-fuego-sensor-de-
llama-arduino-pic
https://leantec.es/tienda/modulo-sensor-llama-fuego-yg1006-ir-flame-regulable-
760nm-1100nm-arduino-flame/
https://www.aranacorp.com/es/controla-un-servomotor-con-raspberry-pi/
https://www.aranacorp.com/es/controla-un-servomotor-con-raspberry-pi/
http://www.szks-kuongshun.com/uno/uno-sensor/small-microphone-sound-
sensor-module.html
https://orellanaelec.com/producto/modulo-sensor-de-sonido/
https://descubrearduino.com/protoboard/
https://www.ritsasv.com/2016/04/02/aprender_a_soldar_con_cauitn/
https://arduino.cl/arduino-uno/
https://www.xataka.com/basics/que-arduino-como-funciona-que-puedes-hacer-
uno
https://proyectoarduino.com/arduino-uno-r3/
https://proyectosconarduino.com/modulos/
https://robots-argentina.com.ar/didactica/modulos-de-rele-y-arduino-domotica-1/
https://www.geekfactory.mx/tienda/sensores/kit-37-sensores-y-modulos-para-
arduino/
https://electronicastore.mx/producto/bornera-de-2-pines-conector-de-bloque-de-
5-08-mm-10-piezas/
https://www.electrogeekshop.com/los-10-modulos-y-sensores-mas-populares-
para-arduino-uno-todo-en-una-placa/
https://programarfacil.com/blog/arduino-blog/display-7-segmentos-dado/
https://techmake.com/blogs/tutoriales/empezando-con-arduino-1g-display-de-7-
segmentos
http://kio4.com/arduino/14display7.htm
https://www.electrodaddy.com/arduino-estructura-de-codigo-y-sintaxis/
https://ikerlandajuela.wordpress.com/2016/12/20/arduino-sintaxis-basica-del-
lenguaje-de-programacion/

Tienda de Componentes de Electronica y Robotica “Amaru” 206


APRENDE A PROGRAMAR EN
ARDUINO DESDE CERO

https://blog.330ohms.com/2019/09/10/mejora-tu-programacion-en-arduino-
conceptos-previos/
https://proyectosconarduino.com/curso/programacion-basica-en-arduino/
https://programarfacil.com/blog/arduino-blog/if-else-arduino/
https://eloctavobit.com/lenguaje-programacion-arduino/mas-de-sintaxis/
https://www.ediciones-
eni.com/open/mediabook.aspx?idR=ba95189503c0c6fb2bf423b70e8f9175
https://hetpro-store.com/TUTORIALES/cny70-sensor-optico/
https://hardwarehackingmx.wordpress.com/2014/01/15/leccion-20-arduino-
sensor-infrarrojo-basico/
https://www.ingmecafenix.com/automatizacion/sensor-optico/
https://hetpro-store.com/TUTORIALES/lm35/
https://blog.gruponovelec.com/electricidad/finales-de-carrera-que-son-y-
caracteristicas-principales/
http://roboticaenconce.cl/posts/RO101-modulo2/
http://upnelectronic.blogspot.com/2014/11/el-presente-blog-tiene-como-
objetivo.html
https://www.shoptronica.com/curiosidades-tutoriales-y-gadgets/3981-que-son-los-
interruptor-magnetico-reed-switch-0689593949974.html
https://electrocrea.com/products/sensor-piezoelectrico-27mm
https://www.ingmecafenix.com/automatizacion/sensores/sensor-piezoelectrico/
https://www.luisllamas.es/medir-inclinacion-con-arduino-y-sensor-tilt-sw-520d/
https://teslabem.com/tienda/sensor-de-alcohol-mq3/
https://www.elprocus.com/mq-135-alcohol-sensor-circuit-and-working/
https://tienda.tdrobotica.co/categoria/139-sensor-de-gas-glp-mq-6.html
https://spanish.alibaba.com/product-detail/security-alarm-use-dual-element-
motion-pir-sensor-d204b-pir-motion-detector-sensor-60488958450.html
https://www.proyectoelectronico.com/alarmas/pir-re200b-biss001-lhi778-
kc778b.html
https://electronica.com.ve/new/catalog/product_info.php?products_id=3506
http://www.tecnopura.com/producto/sensor-de-llama-detector-de-fuego-flama-
tipo-led-5mm-compatible-arduino/
Tienda de Componentes de Electronica y Robotica “Amaru” 207
APRENDE A PROGRAMAR EN
ARDUINO DESDE CERO

https://es.omega.com/prodinfo/galgas-extensiometricas.html
https://www.electronicaestudio.com/tienda/sensores/modulo-sensor-de-tension-
y3/
https://www.arduino.cc/reference/es/
https://arduino-spain.site/instruccion-define/
https://aprendiendoarduino.wordpress.com/2016/11/16/funciones-definidas-por-
usuario-2/
https://dorcu.com/sintaxis-de-programacion-del-lenguaje-arduino/
https://play.google.com/store/books/details/Programa_tu_Arduino_Sintaxis_Uso_
de_Variables_Cont?id=61QlEAAAQBAJ&hl=en_US&gl=US
https://www.e-ika.com/modulo-sensor-de-inclinacion-sw-520d
https://www.clasf.mx/m%C3%B3dulo-sensor-fotosensible-luz-ldr-fotorresistencia-
lm393-en-m%C3%A9xico-8812457/
https://programarenarduino.com/tipos-de-datos-en-la-programacion-de-arduino/
http://manueldelgadocrespo.blogspot.com/p/ifelse.html
https://electrocrea.com/products/sensor-de-temperatura-y-humedad-dht11
https://proyectoarduino.com/arduino-ide/
https://www.cdmxelectronica.com/producto/sensor-ultrasonico-hc-sr04/
https://robots-argentina.com.ar/didactica/arduino-usando-la-funcion-millis-en-
lugar-de-delay/
https://www.taloselectronics.com/products/modulo-sensor-de-temperatura-lm35
https://es.bitdegree.org/tutoriales/que-es-arduino/
https://www.programoergosum.es/tutoriales/entradas-digitales-con-arduino
https://internetpasoapaso.com/lenguaje-programacion-arduino/
http://www.yahikoelectronica.com/cb/modulos-arduino/41-modulo-grabador-de-
sonido-isd1820.html
https://www.luisllamas.es/arduino-buzzer-activo/
https://leantec.es/tienda/modulo-de-zumbador-pasivo-ky-006-passive-buzzer/
https://www.cdmxelectronica.com/producto/modulo-ky-006-zumbador-buzzer-
pasivo/
https://arduinogetstarted.com/es/reference/arduino-include

Tienda de Componentes de Electronica y Robotica “Amaru” 208

También podría gustarte