Está en la página 1de 11

"Año de la unidad, la paz y el desarrollo"

DISEÑO METODOLÓGICO PARA EL APRENDIZAJE DE TEMP - 5TO AÑO


UNIDAD I: ECOTURISMO Y TECNOLOGIA
DMpA 07: Aprendemos a programar con Arduino – Parte 3 – Programación de los pines PWM
Pensamiento computacional

I. NOS CONTACTAMOS Y ASUMIMOS LOS RETOS

Bienvenidos estimad@s estudiantes a nuestra sesión, esta semana


desarrollaremos actividades que nos permitirán seguir interactuando con
la plataforma Tinkercad y la programación con Arduino centrándonos en
los pines PWN.

Desde un contexto de turismo sostenible y responsable, ¿En qué medida la simulación


por computadora podría contribuir a sensibilizar y fomentar el respeto por la
biodiversidad y la promoción del ecoturismo?

Al término de la sesión te encontrarás en condiciones de responder a esta interrogante, para lo cual vamos
a realizar los siguientes pasos:

Actividades Criterios de
Propósito Evidencias
evaluación
Actividad 1: Lectura del marco .Crear un circuito electrónico
Conoce los diferentes
Comprender la finalidad de conceptual relacionado al pines que permita girar un Motor CC
componentes de los
los pines PWM haciendo PWM. y encienda los leds de
circuitos digitales
uso de la plataforma Actividad 2: Programar potencia y simular el bombeo
empleados en los
Tinkercad. utilizando placa Arduino y LED. de agua que se utilizará en la
proyectos creados.
Actividad 3: Programar irrigación de un orquideario o
Identifica con precisión
Programar algoritmos utilizando placa Arduino, LED y zona ecoturística de la
los componentes a
utilizando los pines PWM y potenciómetro. localidad de Moyobamba.
utilizar.
otros componentes Actividad 4: Programar
Construye con precisión
electrónicos. utilizando placa Arduino, LED y
el circuito lógico.
motor CC.
Programa las diferentes
Simular posibles Actividad 5: Construir la
acciones que se
soluciones a problemáticas evidencia utilizando la
ejecutaran a través de
reales utilizando Arduino. plataforma de Tinkercad y los
bloques de
componentes propuestos para
programación.
el proyecto.
"Año de la unidad, la paz y el desarrollo"

¡Comenzamos!
II. INVESTIGAMOS Y CONSTRUIMOS EL APRENDIZAJE
¡ESTAMOS LISTO PARA EMPEZA NUESTRA SESIÓN!
Actividad 1: Lee y analiza los contenidos propuestos:

Pines PWM
Para poder comprender en qué consisten los Pines PWM es importante
observar los 02 gráficos siguientes que nos muestran los 02 únicos
estados que puede tener una salida digital, observaremos como la tensión varía en
función del tiempo.

Solo dos únicos valores posibles de tensión: 0 o 5 V (0 - 255)

En el gráfico de la izquierda podemos observar cómo se vería la señal si emplearemos la función


digitalWrite con un valor bajo, la línea azul muerta un valor de tensión de 0 volts constante en el tiempo,
en el gráfico de la derecha podemos observar que tiene un valor de 5 volts al aplicar un nivel alto con
digitalWrite.

Ahora observemos y analicemos el siguiente bloque de código:

Iniciamos invocando digitalWrite con un valor bajo, luego esperamos


20 milisegundos y aplicamos un nivel alto, luego esperamos 20
milisegundos, este último delay al ser la última línea del loop volverá
a ejecutar la primera línea y así continuará el ciclo.

Como se puede observar en el segundo gráfico, hemos posicionado


una línea roja en el momento en el que la señal se repite, en este punto
obtendremos 02 conceptos fundamentales de las señales (El periodo
y la Frecuencia).
"Año de la unidad, la paz y el desarrollo"
El Periodo
Es el tiempo que aparece marcado con la letra T,
este dura unos 40 milisegundos, es el tiempo
desde que inicia la señal y vuelve a repetir el
ciclo, del periodo se desprende el concepto de
frecuencia de una señal, siendo la frecuencia la
inversa del periodo, es decir 1 sobre el Periodo,
en el ejemplo anterior pasamos el periodo a
segundos, de tal forma que 40 milisegundos
equivalen a 0.04 segundos, ahora dividimos 1
sobre 0.04, obtendremos 25 Hertz (Ciclos por
segundos).

Vamos a definir otro concepto ahora que sabemos cómo funciona el Periodo y la Frecuencia, este será el
ciclo de trabajo (Duty cycle), el cual se define como la relación entre el tiempo que la señal esta activa
en el periodo.

Como se puede observar en el grafico anterior es exactamente la misma señal que creamos
anteriormente. T es el periodo de la misma, podemos ver claramente la parte de la señal que tiene un
estado activo, vemos que la mitad del periodo tiene un nivel bajo la otra mitad tiene un nivel alto, es
decir que esta será la zona activa y es un 50% del periodo total. Es decir que esta señal tiene un ciclo de
trabajo que se escribe con la letra D y el igual al 50%, o en otras palabras en 50% de la señal esta activa
o tiene un estado alto.

Ahora veamos el concepto final que ilustraremos en la siguiente imagen con 03 ejemplos distintos donde
se introduce el concepto de PWM.

PWM es Modulación de Ancho de Pulso, Modulación es lo mismo que decir modificar, es decir que
estaremos modificando el ancho del pulso, y como ya vimos en ejemplos anteriores, esto lleva a un
cambio en su ciclo de trabajo.

Si el periodo de nuestra señal es pequeño o lo que es lo mismo la frecuencia es alta, obtendremos una
tensión en la salida de un PIN digital que puede ser menor a 5 volts, es una tensión simulada ya que
como vimos una salida puede tener solo 02 estados, pero si logramos modificar el ciclo de trabajo de una
señal a una frecuencia alta, lograremos obtener una tensión que se aproxima a una analógica.
"Año de la unidad, la paz y el desarrollo"

Para que quede claro el concepto observaremos el primer gráfico de la izquierda.

En todos los casos el periodo T es el mismo, lo que realizaremos es modificar el ancho del pulso, en el
primer ejemplo vemos que, si tenemos un ancho de pulso que es el 20% del periodo, es decir un ciclo de
trabajo del 20% tendremos una tensión en la salida equivalente a 1 volt, colocamos Vef, ya que es una
tensión eficaz, no es una tensión verdadera, la estamos simulando.

Veamos el segundo ejemplo, tenemos la señal con la que comenzamos la explicación anterior, una señal
con el ciclo de trabajo del 50%, es decir que la tensión eficaz que tendremos será de 2.5 vots, es decir un
50% de 5 volts.

Por último, el grafico de la derecha muestra una señal con un ciclo de trabajo del 80%, entonces
tendremos una tensión eficaz de 4 volts, es decir un 80% de 5 volts.

Cabe mencionar que estos son solo unos ejemplos para poder comprender como generamos una tensión
“analógica” a partir de una digital, variando el ciclo de trabajo obtendremos distintas tensiones entre 0
y 5 volts, es importante saber que no todos los pines digitales de Arduino Uno tienen capacidad PWM,
en el caso de Arduino Uno solo los PINES identificados con el símbolo (~) servirán para PWM, que son
los PINES 3, 5, 6, 9, 10 y 11

¿Qué es un Potenciómetro?
Un potenciómetro es un dispositivo que permite variar su resistencia de forma manual, entre un valor
mínimo Rmin, (Normalmente 0 ohmios) y un valor máximo Rmax. Valores habituales de Rmax son 5k,
10k o 20k ohmios.

Internamente un potenciómetro está constituido por un contacto móvil que se desplaza a lo largo de una
pista resistiva. De esta forma, al mover el potenciómetro movemos el contacto a lo largo de la pista, y
"Año de la unidad, la paz y el desarrollo"
variando la longitud del tramo de pista con el que estamos en contacto, y por tanto variando su
resistencia.

Normalmente un potenciómetro tiene tres terminales. Los dos extremos están unidos a ambos lados de
la pista, por lo que siempre registrarán la resistencia máxima Rmax. El terminal restante corresponde
con el contacto móvil. Esta terminal varía su resistencia respecto a los otros dos terminales a medida que
accionamos el potenciómetro, siendo la suma de la resistencia a los otros terminales igual a Rmax.

Respecto a la geometría, podemos encontrar potenciómetros de tipo lineal o rotativo.

¿Qué es un Motor de Corriente Continua?


Los motores de corriente continua (cc) pueden variar en tamaño y
potencia, desde pequeños motores en juguetes y electrodomésticos,
hasta grandes mecanismos que impulsan vehículos, trenes, ascensores
y accionan trenes de laminación de acero.

Son motores cada vez más usados en la industria debido a que son muy
fáciles de regular su velocidad y que simplemente con cambiar su
polaridad cambia su sentido de giro.

Además de estas 2 ventajas también son muy fáciles de controlar su posición, incluyendo la puesta en
marcha y el paro total (frenado).
"Año de la unidad, la paz y el desarrollo"
Actividad 2: Programamos nuestro primer ejercicio.

Diseño y programación de circuito

Componentes a utilizar:
 01 LED de color Rojo
 01 resistencia de 330 Ω (Ohmios)
 Protoboard
 Placa Arduino

Explicación de la Programación:
- Nuestro proyecto inicia declarando una variable LED del tipo int al cual le asignamos el valor de
3 porque es justamente el PIN que emplearemos en la placa Arduino.
- Declaramos una variable llamada BRILLO del tipo int al cual no le asignaremos ningún valor por
el momento.
- Dentro de la función void setup definimos al PIN 3 como salida (output).
- Dentro de la función void loop digitamos la sentencia analogWrite, que al igual que digitalWrite
debemos especificarle en número de PIN, nosotros tenemos para eso la variable LED, además de
ello nos solicita un segundo parámetro el cual es una de las principales diferencias con
digitalWrite, debemos especificar en él un valor de entre 0 y 255, donde 0 es igual a 0 volts y 255
es igual a 5 volts, si por ejemplo queremos tener una tensión simulada de 2.5 volts, colocaremos
el valor de 127, es decir la mitad de 255.
- Ahora realizaremos un interesante efecto visual empleando la sentencia for, el cual pertenece al
grupo de los bucles o ciclos, es decir que repetirá un bloque de código basado en una condición.

La primera línea de código:

for (BRILLO = 0; BRILLO < 256; BRILLO ++)


"Año de la unidad, la paz y el desarrollo"
- Dentro de nuestro bucle for iniciamos nuestro valor inicial con la variable definida BRILLO igual
a cero 0, luego viene la condición a evaluar si esta en verdadera ejecutara el bloque de código
que este dentro de sus llaves, si evalúa falso, sale y se termina el ciclo y finalmente tenemos el
incremento que le asignamos a la variable BRILLO cada vez que se ejecute el bucle también
llamada iteración.

La segunda línea de código:

analogWrite(LED, BRILLO);

- Como pudimos ver analogWrite toma como segundo parámetro un numero entre 0 y 255, eso
es lo que vamos a asignarle mediante la variable BRILLO cada vez que se ejecute el bucle for
BRILLO se incrementara en uno 1.
- Finalmente debemos aplicar una pequeña demora, de lo contrario el bucle se realizara tan rápido
que no se podría observar, por eso colocaremos delay(15); aplicando una demora de 15
milisegundos en cada incremento.
- Todo el primer bloque de código hará que el LED comience apagado, es decir con el BRILLO de
cero 0 y lentamente aumente su brillo hasta llegar al máximo de 255.
- Ahora, una vez que el LED llegue a su brillo máximo volverá a ejecutar la primera línea, haciendo
que el LED se apague de forma brusca, así que empleando la misma lógica haremos que el LED
disminuya su brillo lentamente hasta llegar a cero 0.

Actividad 3: Programamos nuestro segundo ejercicio.

Diseño y programación de circuito

Componentes a utilizar:
 01 LED de color Rojo
 01 resistencia de 330 Ω (Ohmios)
 Protoboard
 Placa Arduino
"Año de la unidad, la paz y el desarrollo"
 Potenciómetro de 10 kΩ (Kilohmios)

Explicación de la Programación:
- Este proyecto toma como base el anterior proyecto, ahora debemos agregar una nueva variable
la cual llamaremos POT y se le asignara el valor de cero 0, ya que se trata de la entrada del PIN 0
de la sección analógica.
- En la parte del void setup no definiremos el PIN 0 como entrada ya que la sección analógica se
puede usar únicamente como entrada, con lo cual no requiere inicialización.
- Dentro de la función loop únicamente serán necesarias 02 líneas de código podremos leer el
valor de la entrada analógica y poder asignarla a la salida para modificar el brillo del LED con el
potenciómetro, para ello escribiremos:

BRILLO = analogRead(POT) / 4;

- En esta primera parte de código a la variable BRILLO se le asigna el valor leído a través de
analogRead que captura el valor de POT que en un primer momento es cero 0.
- Recordemos que analogRead requiere valores entre 0 y 255, ahora cuando trabajamos con una
entrada analógica el valor que nos devuelve la misma usa otro rango de valores que es de 0 a
1023, esto se debe a que Arduino tiene circuitos internos especiales destinado para las entradas
analógicas por eso estas entradas no pueden usarse dualmente como salidas, como en el caso
de los pines digitales, lo positivo es que se tiene una mayor resolución, podemos ver con una
mayor precisión valores de tensiones de entrada, recordemos que cuando hablamos de
analogRead mencionábamos que era como tener una escalera de 255 escalones para ir de 0 a 5
volts, ahora con analogRead tendremos 4 veces más escalones, es decir 1023 para ir de 0 a 5
volts de tensión de entrada.
- En definitiva, no podemos utilizar de forma directa el valor que nos devuelve analogRead para
encender el LED con la función analogRead, ya que el primero tiene un rango de 0 a 1023 y el
segundo tiene un rango de 0 a 255, es por ello que debemos de dividir entre 4 el valor de
analogRead antes de asignarlo a la variable BRILLO.

analogWrite(LED, BRILLO);

- En la última línea de código realizaremos una escritura analógica a la variable LED a la cual se le
asignara el valor de BRILLO.
"Año de la unidad, la paz y el desarrollo"
Actividad 4: Programamos nuestro tercer ejercicio.

Diseño y programación de circuito

Componentes a utilizar
Para el presente circuito emplearemos los siguientes componentes:
 01 motor de CC
 01 potenciómetro de 10 kΩ (Kilohmios)

Explicación de la Programación
- En este proyecto iniciamos declarando la variable PIN_MOTOR que será de tipo entero y se le
asigna el valor de 3 porque es en ese PIN donde se conecta el Motor CC, luego declaramos la
variable MOTOR que será del tipo float debido que puede almacenar números reales y no
únicamente enteros, al igual que en el ejercicio anterior declaramos la variable POT que será del
tipo int y se iguala a 0.

Dentro de la función loop únicamente serán necesarias 02 líneas de código, iniciando con:

MOTOR = analogRead(POT) / 4;

La variable MOTOR toma por valor la lectura analógica del valor del potenciómetro que puede ir variando
según el usuario.

Finalmente tenemos:
analogWrite(PIN_MOTOR, MOTOR);

Mediante una escritura analógica le asignamos a PIN_MOTOR el valor que anteriormente MOTOR
capturo mediante la lectura analógica.
"Año de la unidad, la paz y el desarrollo"

III. TRANSFERIMOS Y NOS AUTOEVALUAMOS


¡Estas list@ para ponerte en acción!
Actividad 5: Crear un circuito electrónico que permita girar
un Motor CC y encienda los leds de potencia según el
siguiente cuadro:
Encendido de los leds de Potencia

LEDS POTENCIA
Led color amarillo 0 - 85
Led color verde 85 - 170
Led color rojo 170 - 255

La finalidad es simular el bombeo de agua que se utilizará


en la irrigación de un orquideario o zona ecoturística de la
localidad de Moyobamba.

Instrumento de evaluación

Competencia: Diseña y construye soluciones tecnológicas para resolver problemas de su entorno.


Capacidad: Diseña la alternativa de solución tecnológica.
Desempeño: Describe las partes o etapas, la secuencia de pasos, características de forma y estructura, y su
función de la solución de forma metódica para el correcto funcionamiento de la TI implementada.
NIVELES DE LOGRO
CRITERIOS LOGRO LOGRO
INICIO PROCESO
ESPERADO DESTACADO
CONOCE los diferentes componentes de los circuitos
digitales empleados en los proyectos creados.
IDENTIFICA con precisión los componentes a utilizar.

CONSTRUYE con precisión el circuito lógico.


PROGRAMA las diferentes acciones que se ejecutaran
a través de bloques de programación.

IV. REFLEXIONAMOS NUESTROS RESULTADOS


Reflexiona sobre lo aprendido:

¿Qué conocimientos previos tenía acerca de la temática tratada? ¿Cómo llegué a conocerlos?
¿Cuáles son los nuevos aprendizajes que adquirí después de realizar el trabajo?
¿Qué tan complicado o difícil te ha parecido, desarrollar el ejercicio?
"Año de la unidad, la paz y el desarrollo"

¿Qué impresión te ha causado la construcción y programación de este circuito digital?

BILIOGRAFÍA Y RECURSOS
BIBLIOGRAFÍA
Chiriboga, F. V. (2016). http://www.arduino.cc/. Obtenido de
http://repositorio.puce.edu.ec/bitstream/handle/22000/13113/Anexo%202%20Arduino%20UNO.pdf?sequ
ence=3&isAllowed=y

RECURSOS DE SOPORTE PARA EL DOCENTE Y EL ESTUDIANTE


● Cuaderno de trabajo ● Laptop o PC ● Laptop o PC
● Cuaderno de apuntes ● Internet ● Cuaderno de apuntes
● Lapiceros ● Cuaderno de apuntes ● Lapiceros

También podría gustarte