Programando en Lenguaje Arduino
Programando en Lenguaje Arduino
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
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
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:
Inicio o Final
Se utilizará para iniciar o finalizar un
diagrama.
Salida impresa
Se utiliza para mostrar datos.
F V
Notación: P ^ Q se lee “P y Q”
P Q PyQ
F V F
F F F
P Q PoQ
F V V
F F F
No Not ¡
Y And &&
O 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
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,
Nota.- Las dos formas de comentar, no son leídas por el programa compilador.
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
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
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.
Se pretende cambiar el
brillo del diodo LED.
Se pretende crear un
semáforo con diodos
LED.
- Verde pase vehículo
(Pin3)
- Amarillo ya cambiara a
rojo (Pin5)
- Rojo detenerse (Pin7)
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:
Figura 4.24, transistor BJT, BC548 Figura 4.25, transistor BJT, 2N2222
tipo NPN. tipo NPN.
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.
1K
1K
1K 1K
10K
10K
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.
Figura 4.41, control de giro de dos motores DC con el circuito integrado L293d.
4.10.8 EXPLICACIÓN DEL FUNCIONAMIENTO
Figura 4.47, esquema electrónico del funcionamiento del sensor de Luz con
Arduino Uno.
Potenciómetro 100K
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
Vcc
Señal de Salida (Vout)
GND
(0V)
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.
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
float tiempo,Distancia; //Se declara las variables tiempo y distancia de tipo Real
void loop()
Figura 4.68, forma física real y forma interna del display de 7 segmentos.
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.
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
- VCC de 4V a 30V
(recomendado 5V DC)
- V(Salida)
- GND (Tierra: 0V)
- Baja impedancia de
salida
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
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
6. 135 grados.
7. 90 grados. Sentido antihorario
8. 45 grados.
9. 0 grados.
Figura 4.101, conexión físico real del servomotor con 2 pulsadores y la placa
Arduino Uno.
Figura 4.104, conociendo estado inicial del pin DO del módulo sensor de sonido.
APÉNDICE
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.
Figura 1d, conexión interna del protoboard mediano blanco sin líneas.
Figura 1f, conexión interna del protoboard mediano con cables de conexión en
el centro y en los extremos.
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.
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.
Figura 1k
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
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/
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