0% encontró este documento útil (0 votos)
192 vistas88 páginas

Entorno de Desarrollo Arduino - Semana 15

El documento presenta una breve historia de Arduino desde sus orígenes en el 2005 en Ivrea, Italia. Explica que Arduino es una plataforma de desarrollo de hardware y software de código abierto que permite el desarrollo de prototipos electrónicos. Finalmente, menciona algunas aplicaciones comunes de Arduino como el control de motores, lectura de sensores y la interacción con dispositivos mediante comunicación serial.

Cargado por

junior
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
192 vistas88 páginas

Entorno de Desarrollo Arduino - Semana 15

El documento presenta una breve historia de Arduino desde sus orígenes en el 2005 en Ivrea, Italia. Explica que Arduino es una plataforma de desarrollo de hardware y software de código abierto que permite el desarrollo de prototipos electrónicos. Finalmente, menciona algunas aplicaciones comunes de Arduino como el control de motores, lectura de sensores y la interacción con dispositivos mediante comunicación serial.

Cargado por

junior
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Entorno de Desarrollo

Arduino
Jorge Sifuentes López
Semana 09 – Historia de Arduino
Disco Duro Memoria
RAM

Microprocesador Comercial
Verde 1971
Ámbar
Tubo de vacío Transistor ¿? Rojo
1907 1947 45 Instrucciones
Contador 50KHz

Circuitos Integrados
1958
Microcontrolador
1976 (Z80)

add rd0 1
outb 1

Compilador

010101101010
011010101001
101001010101
Plataforma de Desarrollo Arduino
• Ivrea – Italia (Massimo Banzi) - 2005
Semana 09 – Hardware de Arduino
¿Qué es Arduino?
Ejm. Bat 18650
2000mAh
42mA
¿Qué podemos hacer con Arduino?
Semana 09 – Software

TinkerCAD

Proteus
Semana 09 - Primer Ejemplo
• “Hola mundo” – Encender un led con arduino
• https://www.tinkercad.com/
• https://www.arduino.cc/
• Estructura básica de un programa en arduino
• Funciones:
• pinMode: Configures the specified pin to behave either as an INPUT or an
OUTPUT.
• digitalWrite: Write a HIGH or a LOW value to a digital pin.
• delay: Pausa en el programa
Semana 09 - Ejercicios
Ejercicio: Encender dos leds de manera
secuencial.
Ejercicio: Realizar un semáforo.
Funciones
Estructuras
Estructuras

Estructuras de control
for
If

Switch … case
Ejercicios (60 minutos)
• Desarrollar un • Desarrollar un
Programa que contador del 0 al
9 con un display
encienda 8 leds de (cátodo común)
manera secuencial. de 7 segmentos

• Desarrollar un
semáforo con 2 leds
para el peatón y y 3
para el vehículo.
Además deberá tener
un contador
descendente del 9 al
0.
Semana 10
digitalRead()
Reads the value from a specified digital pin, either HIGH or LOW.

1) Ingresar al tinkercad
2) Crear un nuevo circuto
3) Compartir el enlace del tinkerCAD
Ejercicio:
• Encienda un led por medio de un pulsador.
Ejercicio: Encender y apagar un led con dos
pulsadores.
Ejercicio: Encender y apagar un led con un
pulsador:
IISI - 26/10/2021

https://play.google.com/books/reader?id=0HOLDwAAQBAJ&pg=GBS.PA110&hl=es
analogWrite() -- PWM
Writes an analog value (PWM wave) to a pin. Can be used to light a LED at varying brightnesses or drive a
motor at various speeds. After a call to analogWrite(), the pin will generate a steady rectangular wave of
the specified duty cycle until the next call to analogWrite() (or a call to digitalRead() or digitalWrite()) on
the same pin.
analogRead()
Reads the value from the specified analog pin. Arduino boards contain a multichannel, 10-bit analog to digital
converter. This means that it will map input voltages between 0 and the operating voltage(5V or 3.3V) into integer
values between 0 and 1023. On an Arduino UNO, for example, this yields a resolution between readings of: 5
volts / 1024 units or, 0.0049 volts (4.9 mV) per unit. See the table below for the usable pins, operating voltage and
maximum resolution for some Arduino boards.

The input range can be changed using analogReference(), while the resolution can be changed (only for Zero, Due
and MKR boards) using analogReadResolution().

On ATmega based boards (UNO, Nano, Mini, Mega), it takes about 100 microseconds (0.0001 s) to read an analog
input, so the maximum reading rate is about 10,000 times a second.
Miniproyecto: Temporizador (10 Puntos para
el Producto Académico 03)
Minutos

5:40PM – Revisión de Avance


Seg

Buzzer 1) Pulsar programar


2) (+) y (-) Aumenta y reduce los
+ - minutos.
Inicio Programar 3) Pulsar programar para finalizar
configuración.
4) Pulsar inicio para iniciar
temporizador.
Detener 5) Pulsar detener para apagar el
buzzer.
Semana 11a
• Millis()
• Serial Monitor
Ejemplo: Crear un programa
que encienda y apague un led
cada segundo. Sin usar delay.
Ejercicio: Leds secuenciales con control de
velocidad.
Semana 11B: Sensores básicos
Resistor dependiente de la luz (LDR)

Resistor
Ejercicio: Encender un led por medio de un
LDR

330R

Divisor de
10K tensión
Ejercicio: Implementar un circuito que muestre el nivel de
iluminación de un ambiente por medio de tres led (bajo, medio,
alto).
Sensor PIR
Relay
2A

4,7K

1K
Miniproyecto: Luz Programable (10 Puntos
para el Producto Académico 03)
LEDs
Pulsadores

Configurar ON/OFF Manual Automática


(Manual)

Sensor PIR

Arduino LDR

Transistor Relay

Bombilla
Miércoles 3 Nov. Exposición de los 2 miniproyectos de forma individual
12V
(Por sorteo).
Semana 12: Exposición de Miniproyectos
Semana 13A: Sensores Avanzados
• Sensor Infrarrojo
• https://www.youtube.com/watch?v=FRNlpMJTrEw
• Sensor de Ultrasonido
• https://www.youtube.com/watch?v=mlw3APOUt8U&t=9s
IMPLEMENTAR UN SENSOR DE DISTANCIA DE UN AUTOMOVIL QUE
DEBERÁ ENCENDER TRES LEDS:
Semana 13 B VERDE -> > 2m | AMBAR -> ENTRE 1 Y 2 m | ROJO -> < 1m
ROJO PARPADEA -> < 50cm
SE DEBERÁ ACTIVAR EL CIRCUITO POR MEDIO DE UN PULSADOR
• Pantalla LCD
• https://www.youtube.com/watch?v=9Mk_S58UX9w
Teclado https://www.youtube.com/watch?v=CM40fx1EzQM
Miniproyecto: Sistema de Control de temperatura

Sensor de
Temperatura

CONTROL TEMP:
CONF(1) INI(2)

CONF:
INGRESE T MAX:
Relay Motor
XX ACEP(*)

INI:
TA: XX TM: XX
VENT: A o D SAL(#)
• Semana 14A - Motores

Miércoles: 17 Exposición de proyectos en proteus,


tinkercad o protoboard físico (ideal).
Exposición en 3 minutos.
Motores:
https://www.youtube.com/watch?v=MgI7cJgjXPM

MOTODORES DC SERVOMOTOR MOTOR PASO A PASO


MOTOR DC - TRANSISTOR
Ejercicio
Agregar dos pulsadores al ejercicio anterior.
Pulsador A: Incrementa la velocidad del
motor en un 10%.
Pulsador B: Reduce la velocidad de un motor
en un 10 %.
Mostrar en el Monitor Serial, el porcentaje
de velocidad del motor.
Servomotor
https://www.youtube.com/watch?v=HQqwLuJ1pbo
EJERCICIO

PULSADOR A: Incrementa en 10 grados


la ubicación del servomotor.

PULSADOR B: Reduce en 10 grados la


ubicación del servomotor.

El servomotor debe girar entre 0 y 180


grados.

Mostrar la posición en el Monitor Serial.


L293D: PUENTE H
https://www.youtube.com/watch?v=myeHs-
5riGU&t=64s
Miniproyecto 02: Sistema de Riego Automático

Riego por
goteo
PulsaA PulsaB PulsaC
Motor
PulsaA – Configurar
- Hora Actual Tanque
Mostrar Hora
- Hora Riego
- Tiempo de Riego
PulsaB – Mas(+)
PulsaC – Menos(-)

Depósito de Agua
Semana 15A – Comunicación Bluetooh
• https://appinventor.mit.edu/
Código para configurar el Bluetooth – En modo AT2

#include <SoftwareSerial.h> // Incluimos la librería SoftwareSerial


SoftwareSerial BT(10,11); // Definimos los pines RX y TX del Arduino conectados al Bluetooth

void setup()
{
BT.begin(38400); // Inicializamos el puerto serie BT (Para Modo AT 2)
Serial.begin(38400); // Inicializamos el puerto serie
}

void loop()
{
if(BT.available()) // Si llega un dato por el puerto BT se envía al monitor serial
{
Serial.write(BT.read());
}

if(Serial.available()) // Si llega un dato por el monitor serial se envía al puerto BT


{
BT.write(Serial.read());
}
}
TEST DE COMUNICACIÓN

AT – Verificar si el HC-05 responde a los comandos.


AT+NAME – Cambiar el nombre del módulo.
AT+PSWD – Cambiar la contraseña del módulo.
AT+UART – Cambiar la velocidad de comunicación.
AT+ROLE – Cambiar el rol del módulo (0 Esclavo, 1 Maestro)
Encender y apagar un led por el celular
#include <SoftwareSerial.h> // Incluimos la librería SoftwareSerial
SoftwareSerial BT1(10,11); // Definimos los pines RX y TX del Arduino conectados al Bluetooth

char val; //Declaramos una variable para almacenar un caracter


int led = 13; //Declaramos al pin dentro de una variable llamada led
void setup() {
BT1.begin(9600); //Lo que sería seríal se reemplaza con BT1
pinMode(led, OUTPUT); //Declaramos al pin 13 como salida
}

void loop() {

//Declaramos un if para ver los datos almacenados en BT1


if (BT1.available()) {
val = BT1.read(); //Se lee la información
//Declaramos la condiciones. La app envía un caracter distinto
//depeniendo del botón que presiones y se alamcena en la variable val.
if ( val == 'A' )
{
digitalWrite(led, LOW); //Si presionas Off enviará un 0.
//Por lo que pondrá el pin en LOW.
}

if ( val == 'E' )
{
digitalWrite(led, HIGH); //Si presionas On enviará un 1.
//Por lo que pondrá el pin en HIGH.
}
}
}
Simulación en Proteus:
http://blogembarcado.blogspot.com/2013/06/simulino-v20-biblioteca-
para-proteus.html
Semana 15B: Producto Académico 04
• Exposición
• Semana 16 – Exposición de Proyectos Finales

También podría gustarte