Ma Miv-S1 Magv 2023
Ma Miv-S1 Magv 2023
Ma Miv-S1 Magv 2023
2
ÍNDICE
BIENVENIDA 4
PRESENTACIÓN DE LA ASIGNATURA 4
EXPLICACIÓN DE LA METODOLOGÍA 5
PACTO EDUCATIVO 5
PRIMER PARCIAL 6
ENCUADRE 6
PLAN DE EVALUACIÓN 7
INICIO 7
LO QUE SABES DE 7
PARA EMPEZAR 8
RECORDEMOS 8
DESARROLLO 9
CONSIDEREMOS LO SIGUIENTE 9
MANOS A LA OBRA 9
CIERRE 10
PRÁCTICA AUTÓNOMA 10
EN RESUMEN 10
PROYECTO TRANSVERSAL 10
GLOSARIO 11
RECURSOS DE APOYO 11
SEGUNDO PARCIAL 12
ENCUADRE 12
PLAN DE EVALUACIÓN 13
INICIO 13
LO QUE SABES DE 13
PARA EMPEZAR 14
RECORDEMOS 14
DESARROLLO 15
3
CONSIDEREMOS LO SIGUIENTE 15
MANOS A LA OBRA 15
CIERRE 16
PRÁCTICA AUTÓNOMA 16
EN RESUMEN 16
PROYECTO TRANSVERSAL 16
GLOSARIO 17
RECURSOS DE APOYO 17
TERCER PARCIAL 18
ENCUADRE 18
PLAN DE EVALUACIÓN 19
INICIO 19
LO QUE SABES DE 19
PARA EMPEZAR 20
RECORDEMOS 20
DESARROLLO 21
CONSIDEREMOS LO SIGUIENTE 21
MANOS A LA OBRA 21
CIERRE 22
PRÁCTICA AUTÓNOMA 22
EN RESUMEN 22
PROYECTO TRANSVERSAL 22
GLOSARIO 23
RECURSOS DE APOYO 23
4
5
BIENVENIDA
PRESENTACIÓN DE LA ASIGNATURA
6
EXPLICACIÓN DE LA METODOLOGÍA
PACTO EDUCATIVO
Asistencia y puntualidad
7
• Las tareas serán notificadas bajo la plataforma Classroom y entregadas de manera
presencial con el docente.
• Las actividades de clase se realizarán y evaluarán durante la misma y se colocara una
firma por parte del docente para tener evidencia y ponderación de su elaboración.
Prácticas de laboratorio
Comportamiento en clase
• Estar forrada de color blanco y con plástico, si se reutiliza una libreta del semestre
pasado se aceptará forrada de color negro y plástico.
• La primera página de cada parcial debe tener una portada con los datos: Nombre de la
escuela, Nombre de la carrera, Nombre del Módulo de aprendizaje, Nombre del
submódulo aprendizaje, Nombre del o la aprendiente, Nombre del docente, semestre
y grupo.
• La segunda página debe contener las competencias genéricas, disciplinares y
profesionales, así también los criterios y ponderaciones del parcial.
8
• La tercera página debe contener el impreso el presente pacto educativo con las firmas
correspondientes.
• A partir de la cuarta página en adelante se deberá colocará fecha y numero de sesión
demostrando un orden en los apuntes del o la aprendiente.
• De no cumplir los requisitos de la libreta, no se tomarán en cuenta las actividades que
el docente haya firmado.
_________________________ ________________________________
______________________
PRIMER PARCIAL
ENCUADRE
9
COMPETENCIA PROFESIONAL
SITUACIÓN DE APRENDIZAJE
10
Con el anterior ejemplo no preguntamos:¿Qué tipo de circuito se debería usar para
detectar si las tres ruedas del tren de aterrizaje están escondidas después de despegar?
11
PLAN DE EVALUACIÓN
PRACTICA 1 25%
PRACTICA 2 30%
PRACTICA 3 30%
INICIO
Aprendizajes claves
LO QUE SABES DE
12
CIRCUITOS DIGITALES COMBINACIONALES
Se quiere realizar un circuito para activar la alarma de incendios (A) para la evacuación de un edificio. Para
ello se tiene un sensor de gases (G), un sensor de humos (H), y dos señales procedentes de un termómetro
que indican si la temperatura es mayor de 45ºC (T45) y si la temperatura es mayor de 60ºC (T60).
Debido a que a veces los sensores detectan humos y gases que no siempre proceden de incendios (por
ejemplo, de los cigarrillos o las cocinas), para evitar falsas alarmas, la señal A se activará cuando se cumplan
las siguientes condiciones:
Se pide
a) Realizar la tabla de verdad de la señal de alarma (A) a partir de las señales de entrada (G, H, T45,
T60) .
b) Explicarla brevemente.
c) Obtener la expresión reducida en suma de productos y producto de sumas
d) Reduce la anterior función por teoremas de Morgan
e) Reduce las funciones del incicos C por mapas de karnaugh
f) Dibujar el esquema en puertas de estas expresiones
g) Realiza una simulación en Proteus y Tinkercad
PARA EMPEZAR
ENTRADAS Y SALIDAS DIGITAL
Lo que sabemos Lo que queremos saber Lo que hemos aprendido
13
Tabla 1 Cuadro SQA
RECORDEMOS
El crecimiento explosivo de la electrónica digital ha penetrado todos los campos de la actividad humana,
desde los ambientes especializados del campo militar, la industria, y las ciencias, hasta las aplicaciones
cotidianas del hogar.
Tal vez la computadora es el aparato electrónico que más dramáticamente ilustra el fenomenal desarrollo de
la electrónica digital.
Las primeras computadoras de tipo digital se construyeron con switches y relevos constituyéndose en
verdaderos monstruos electromecánicos, los cuales posteriormente evolucionaron a sus versiones
electrónicas construidas con tubos de vacío, de las cuales la primera fue el ENIAC.
En contraste, las computadoras modernas, aparte de su reducido tamaño y bajo consumo de potencia, como
lo evidencian los lap-tops o computadoras portátiles, han adquirido características de tipo genérico que las
ha llevado casi que a convenirse en un electrodoméstico más en el hogar, desempeñando funciones tan
variadas como las de procesador de texto, juegos, terminal de comunicaciones en Internet, herramienta de
diseño en ingeniería, controlador de procesos industriales y un sinnúmero de aplicaciones en todos los
campos de la ciencia y la ingeniería.
Una mirada a nuestro alrededor, nos muestra manifestaciones de la electrónica digital en la forma de relojes
digitales con precisiones de segundos al año; en el hogar, los hornos microondas, la lavadora de ropa, de
platos, la video grabadora, entre otros, incorporan micro- computadoras dedicados que desempeñan
funciones de control de manera transparente para el usuario que no se percata de la existencia de la
computadora dentro de su electrodoméstico.
• Conceptos Básicos
La electrónica digital puede definirse como la parte de la electrónica que estudia los dispositivos, circuitos y
sistemas digitales, binarios o lógicos.
A diferencia de la electrónica lineal o análoga, que trabaja con señales que pueden adoptar una amplia gama
de valores de voltaje, los voltajes en electrónica digital están restringidos a adoptar uno de dos valores,
llamados niveles lógicos alto y bajo o estados 1 y 0.
14
Generalmente, un nivel lógico alto ó 1, corresponde a la presencia de voltaje y un nivel lógico bajo ó 0
corresponde a la ausencia del mismo.
Para entender los circuitos digitales y su funcionamiento, es preciso conocer la lógica digital. El propósito de
este manual es demostrar que la lógica digital no es sólo “lógica” sino que también es directa y de fácil
comprensión. Se incluyen muchos problemas que ejemplifican los métodos y principios del diseño.
La Lógica Digital es una ciencia de razonamiento numérico aplicada a circuitos electrónicos que realizaran
decisiones del tipo “si…entonces…”, es decir, si una serie de circunstancias particulares ocurren, entonces
una acción particular resulta. El resultado es siempre el mismo para una serie dada de circunstancias.
Esa posibilidad de predecir el resultado final permite el diseño de sistemas digitales a partir de circuitos
básicos llamados compuertas, que se describen posteriormente.
En el vocabulario de la electrónica actual se vienen manejando dos términos bastantes relacionados y que a
la vez representan dos técnicas distintas; estos términos son ANALOGICO y DIGITAL. La primera
denominación tiene su origen en el vocablo griego “análogos” que puede traducirse como “una relación
exacta”, la segunda acepción se basa en la palabra latina “digitus”(dedo).
Una de las acepciones de la palabra analógico indica que se trata de una forma de medida o de
representación de un fenómeno, en la que el indicador que representa la salida puede variar de manera
continua, reflejando con sus movimientos los cambios en la entrada; esto significa que puede variar en un
intervalo continuo de posibilidades o valores.
Por otra parte, cuando se alude al término digital, dicha representación únicamente puede adoptar uno de
dos valores posibles; por ejemplo, falso- verdadero, alto-bajo, abierto-cerrado, etc.. En este caso no pueden
existir valores intermedios entre 0 y 1.
• Importancia
1. Los sistemas digitales generalmente son más fáciles de diseñar. Esto se debe a que los circuitos que
se usan son circuitos de conmutación, donde los valores exactos del voltaje o la corriente no son
importantes, sólo el intervalo o rango (ALTO o BAJO) en el que se encuentran.
15
almacenamiento en masa que pueden reunir millones de millones de bits de información en un espacio físico
relativamente pequeño. En contraste, las capacidades analógicas son extremadamente limitadas.
3. Mayor exactitud y precisión. Los sistemas digitales pueden manejar el número de dígitos de
precisión necesario con sólo agregar más circuitos de conmutación. Por lo general, en los sistemas
analógicos la precisión se limita a tres o cuatro dígitos, ya que los valores de los voltajes y de las corrientes
dependen en forma directa de los valores que tienen los componentes de los circuitos y son afectados por
fluctuaciones aleatorias del voltaje (ruido).
4. La operación se puede programar. Es muy fácil diseñar sistemas digitales cuya operación se controla
mediante un conjunto de instrucciones almacenadas llamado programa. Los sistemas analógicos también se
pueden programar, pero la variedad y complejidad de las operaciones son muy limitadas.
5. Los circuitos digitales son menos susceptibles al ruido. Las fluctuaciones involuntarias en el voltaje
(ruido) no son tan críticas en los sistemas digitales, puesto que el valor exacto de un voltaje no es
importante, siempre y cuando el ruido no sea tan intenso como para impedirnos distinguir entre un valor
ALTO y uno BAJO.
6. Se puede fabricar más circuitería digital en los chips de los circuitos integrados. Es cierto que la
circuitería analógica también se ha beneficiado del tremendo desarrollo de la tecnología de los circuitos
integrados, pero su complejidad relativa y el uso de dispositivos que no pueden ser integrados
económicamente (capacitores de alto valor, resistencias de precisión,inductores, transformadores) han
impedido que los sistemas analógicos alcancen el mismo grado de integración que los digitales.
En resumen, la electrónica digital tiene una enorme importancia porque permite realizar operaciones que
serían muy costosas de hacer empleando métodos analógicos. Las aplicaciones de electrónica digital para
desarrollar mecanismos automáticos, así como su papel central para el diseño de los ordenadores o
computadoras, confirman sus ventajas en la práctica y su importancia en el mundo actual.
Actualmente la mayor parte de los aparatos y circuitos electrónicos están conformados por lo menos por
una sección digital que controla, procesa y ordena funciones específicas complementadas por la electrónica
analógica.
-televisores, videocaseteras, videocámaras, etc.-, así como en procesos de control industrial. Y por supuesto,
en la computadora, que depende ciento por ciento de la electrónica digital.
En el campo de la música, los discos compactos (CD’s) han invadido el ambiente dado su reducido costo de
producción; sintetizadores musicales de todo tipo, instrumentos tan tradicionales y acústicos como los
tambores, las guitarras y los violines han sido reemplazados por versiones completamente electrónicas en
donde ni el cuero, ni la madera, ni las cuerdas tienen ya nada que ver con la música.
16
En el campo militar, las últimas guerras han mostrado con lujo de detalle la potencia mortífera de armas tan
sofisticadas como los misiles de crucero que almacenan en su interior mapas digitalizados del terreno sobre
el cual vuelan y que reciben información de su posición vía localizadores GPS, o bombas inteligentes, entre
otras.
La medicina, por supuesto, también se ha visto beneficiada por la electrónica digital mediante el diseño de
poderosas máquinas de diagnóstico no invasivo que gracias al poder de cálculo de las computadoras digitales,
permiten generar imágenes asombrosas del interior del cuerpo humano.
Por supuesto, las aplicaciones a nivel industrial son incontables. Baste mencionar cómo trenes de engranajes
para reducción y control de velocidad de procesos están siendo reemplazados por motores digitales; cómo
los variadores de velocidad - otrora complejos mecanismos repletos de piñones- dejan su lugar a variadores
electrónicos de velocidad, o cómo el control de inventarios y las bodegas están completamente
automatizados gracias a los sistemas basados en códigos de barras.
Actualmente ya no es extraño encontrar robots en las fábricas de tecnología avanzada, e incluso ver en
operación fábricas en las que todo el proceso productivo ha sido automatizado y prácticamente ya no hay
trabajadores.
17
DESARROLLO
Aprendizajes clave
CONSIDEREMOS LO SIGUIENTE
1. ESTRUCTURAS DE CONTROL
Dentro de las estructuras de control se engloban todos los estamentos que sirven para
guiar al programa en una u en otra dirección en función de si se cumplen o no las
condiciones que le marquemos al programa. Dentro de estas estructuras podemos
encontrar condicionales, bucles o elementos de control de flujo.
1.1CONDICIONALES
Los condicionales son elementos que chequean un estado o condición y si esta condición
se cumple se pasa a ejecutar las sentencias englobadas dentro de la condición.
1.1.1 If (si...)
If es un estamento que se utiliza para comprobar si una determinada condición se
cumple. Si la condición se cumple, se pasará a ejecutar las sentencias encerradas dentro
del bloque if, si no se cumple la condición, el programa saltará este bloque sin ejecutar
ninguna instrucción.
ejecuta instrucciones;
18
1.1.2 If... else (si... si no...)
If... else funciona de igual forma que if, pero añade la posibilidad de que la condición no
se cumpla, pasando a ejecutar las instrucciones encerradas dentro de else.
ejecuta instrucciones;
ejecuta instrucciones;
Este condicional puede ir precedido de otras estructuras condicionales del mismo tipo,
anidando unas dentro de otras y haciendo que sean mutuamente excluyentes.
ejecuta instrucciones;
else if (valor >=500) // Si valor es mayor o igual que 500 ejecuta la instrucción
ejecuta instrucciones;
ejecuta instrucciones
19
}
Antes de empezar a trabajar con Arduino, deben de ser configurados los pines de la
placa que vayan a ser usados, asignándolos como entradas o como salidas. En ningún
caso un mismo pin podrá hacer de entrada y de salida al mismo tiempo.
void setup()
20
{
Los pines de Arduino están configurados por defecto como entradas, por lo que no es
necesario indicarles el modo de trabajo si vamos a trabajar con ellos como entradas.
La razón de tener los pines configurados por defecto como entradas, es que las entradas
se encuentran en un estado de alta impedancia, lo que va a evitar en muchos casos que
dañemos la placa al realizar una mala conexión. Si establecemos un pin como salida y
por error entra corriente por dicho pin lo más seguro es que dañemos el
microcontrolador de manera irreversible.
Los pines que tengamos configurados como salida (OUTPUT) van a suministrar una
corriente máxima de 40mA por separado, sin que la corriente total de las salidas pueda
superar los 200mA. Esta corriente es suficiente para hacer brillar un led, pero
insuficiente para activar elementos de mayor potencia.
2.1E/S DIGITALES
Los pines asignados a E/S digitales, son pines que trabajan con dos estados HIGH (alto)
o LOW (BAJO). Según el modelo de Arduino que estemos usando, va a tomar el estado
HIGH (alto) como 5v o como 3.3v, el estado LOW (bajo) está asociado a un nivel de
voltaje 0.
2.1.1 Lectura de entradas digitales (digitalRead)
Al hacer una lectura digital, vamos a leer el valor de un pin almacenando el resultado
como HIGH (alto o 1) o como LOW (bajo o 0).
valor = digitalRead (pin); //la variable valor toma el nivel del pin analógico
Podemos especificar el pin asignándole directamente la numeración del pin digital que
queremos leer o con una variable o constante previamente definida.
Cuando hacemos una escritura digital vamos a mandar al pin definido previamente como
salida el valor HIGH o LOW. El valor HIGH se va a traducir (en función del tipo de
Arduino) por una señal de 5 o 3.3 voltios.
21
Ejemplo E/S digital
void setup()
void loop()
MOMENTO DE ACTIVIDAD
Lee los siguientes enunciados y resuelve lo que se pide ,después de ellos realiza un código
en texto estructurado utilizando las funciones :IF, IF-ELSE, IF-ELSEIF,SWICTH.
22
2. Aplicando las leyes de De Morgan, obtener el complemento de las siguientes
funciones
23
7. Obtener la tabla de verdad que corresponde a las siguientes funciones de
conmutación expresadas algebraicamente:
8. Para cada una de las funciones dadas a continuación, dibujar un circuito con
puertas AND, OR Y NOT que la sintetice:
12. Obtener los mismos puntos del apartado anterior para el siguiente circuito:
MANOS A LA OBRA
Nombre de la práctica:
Practica 1 Guiada :
Duración: 6 Horas
25
Objetivos: (general y específico)
General
Específicos
Materiales y equipo:
● Placa Arduino
● Placa de pruebas
● Cable para protoboard.
● Resistencias de 1kohm
● DipSwitch
● Diodos LED´S
● Fuente de alimentación de voltaje de CD
● Multímetro
● Osciloscopio
Procedimiento:
26
1. Determina cuántas variables de entrada y salida existen en el sistema digital, recuerda
que una variable es un símbolo que se utiliza para determinar cuántas magnitudes
lógicas existen.
#Entradas #salidas
2. Al saber el número de entradas se debe calcular las posibles combinaciones entre ellas,
escribir las combinaciones:
3. Al saber todas las combinaciones posibles es necesario establecer que efecto tendrá
cada una de ellas en la variable de salida, para ello se establece una tabla de verdad.
4. Al tener la tabla de verdad construida se determina los productos de sumas y suma de
productos de las variables de salida
5. Una vez determinadas las funciones booleanas se procede a generar un código en
texto estructurado con un circuito digital por medio de plataforma Arduino utilizando
las funciones IF,IF-ELSE,IF-ELSEIF.
6. La comprobación del circuito se realiza mediante su elaboración en el software
proteus y plataforma en línea Tinkercad, utilizando los circuitos integrados antes
mencionados y sus símbolos según corresponda.
7. Posterior a ello, se realiza el circuito diseñado en una placa de pruebas, utilizando los
circuitos correspondientes a lo programado.
Nombre de la práctica:
Practica 2 Guiada :
27
Nomenclatura: MA- Implementa circuitos en plataformas modulares con
microcontroladores-Practica 002
Duración: 6 Horas
General
● Aplicar álgebra de Boole a sistemas de control digital con placa Arduino mediante la
utilización de circuitos microcontroladores en entornos de simulación y placas de
pruebas.
Específicos
Materiales y equipo:
● Placa Arduino
● Placa de pruebas
● Cable para protoboard.
● Resistencias de 1kohm
● DipSwitch
● Diodos LED´S
● Fuente de alimentación de voltaje de CD
● Multímetro
● Osciloscopio
Procedimiento:
Se desea realizar un circuito de control para el toldo de una terraza de una vivienda. El
toldo tiene la función tanto de dar sombra como de proteger del viento y de la lluvia. Así
que es un toldo resistente al viento y a la lluvia, manteniendo la terraza seca en los días de
lluvia. Para el circuito de control tenemos las siguientes entradas:
28
● Señal S: Indica si hay sol
● Señal L: Indica si llueve
● Señal V: Indica si hay mucho viento
● Señal F: Indica si hace frío en el interior de la casa.
El circuito que acciona el toldo que debe funcionar según las siguientes características:
Si hace viento se debe extender el toldo para evitar que el viento moleste. Sin embargo,
hay una excepción: aún cuando haya viento, si el día está soleado y hace frío en la casa, se
recogerá el toldo para que el sol caliente la casa. Por último, si no hace viento ni llueve,
sólo se bajará el toldo en los días de sol y cuando haga calor en el interior, para evitar que
se caliente mucho la casa.
Se solicita
#Entradas #salidas
INSTRUMENTO DE EVALUACIÓN
5.
Criterio 5 7 8 9 10
ptos ptos ptos ptos ptos
30
el funcionamiento de la practica mediante su
implementación con sensores y actuadores
Total
A LO QUE LLEGAMOS
31
8. ¿Cuál es la tabla de verdad de un sistema de tres entradas?
9. ¿Qué es lógica positiva y negativa?
10. ¿Puerta Lógica que niega un voltaje digital?
CIERRE
Aprendizaje clave:
PRÁCTICA AUTÓNOMA
Nombre de la práctica:
Practica 3
Duración: 12 Horas
General
● Aplicar Mapas de Karnaugh a sistemas de control digital con plataformas modulares
mediante la utilización de placas Arduino en entornos de simulación y placas de
pruebas.
32
Específicos
● Integrar algoritmos para el diseño de circuitos digitales mediante álgebra de Boole
● Simular la funcionalidad circuitos digitales para la comprobación de sistemas
digitales, mediante programas en línea y de escritorio.
Materiales y equipo:
● Placa Arduino
● Placa de pruebas
● Cable para protoboard.
● Resistencias de 1kohm
● DipSwitch
● Diodos LED´S
● Fuente de alimentación de voltaje de CD
● Multímetro
● Osciloscopio
Procedimiento:
33
indica mediante la activación de los dos sensores a un mismo tiempo. La Figura 5.48
muestra el sistema de control del tanque..Señal S: Indica si hay sol
Se solicita
#Entradas #salidas
INSTRUMENTO DE EVALUACIÓN
INSTRUMENTO DE EVALUACIÓN
6.
Criterio 5 7 8 9 10
ptos ptos ptos ptos ptos
Total
A LO QUE LLEGAMOS
EN RESUMEN
36
Establecer en una cuartilla un resumen con base a lo aprendido en el parcial.
PROYECTO TRANSVERSAL
Domótica en el Hogar
2. Problema:
4. Disciplinas o asignaturas
● Cálculo
● Ingles
● Implementa circuitos con microcontroladores
● Implementa circuitos en plataformas modulares con microcontroladores.
6. Tema transversal
Automatización en el hogar
37
7. Tiempo
Durante el parcial
● Rúbrica holística
● Los y las aprendientes implementan el uso de circuitos analógicos y digitales para el
control de temperatura.
9. Producto de aprendizaje:
Un hogar es un lugar cerrado, estático y accesible a pie que se destina al confort de las
personas , en ciertas todas las épocas del año. Es importante mantener una temperatura
calidad o fresca en el interior del hogar, tomando en consideración la temperatura que
varía según el clima fuera del hogar , por lo cual se realizan lazos de control para
mantenerlas.
El comportamiento del sistema, tendrá que cumplir con las condiciones siguientes:
Ya que los sensores arrojan valores en binario natural de 3 bits se puede interpretar que
las variables de entrada son tres, en este caso se llamarán S1, S2 y S3. Cada código
comenzando desde 0 hasta 7 son un rango de temperatura.
38
Como salidas a controlar se tienen tres, Ventilador, Calefacción y Aire Acondicionado, es
importante resaltar los valores binarios de encendido y apagado de cada una de estas
salidas o actuadores.
Determine el programa y circuito lógico en plataforma modular Arduino que cumpla con
las condiciones antes mencionadas , compruebe el funcionamiento del circuito en un
ambiente virtual y real.
INSTRUMENTO DE EVALUACIÓN
39
funcionamiento de un sistema térmico (2 puntos)
4. Las y los aprendientes utilizan el software adecuado para la
elaboración del programa
(1 punto)
5. Durante el proyecto supo resolver problemas derivados del armado
o estado de los materiales utilizados (1 punto)
Escala
0 1 2
GLOSARIO
40
RECURSOS DE APOYO
● General Semiconductor.
● Hewlett-Packard Co.
● National Semiconductor Corporation
● Agilent Technologies, Inc.
● Motorola, Inc.: Motorola Small–Signal Transistors, FETs and Diodes Device Data; FAST AND LS
TTL DATA
● ISOCOM COMPONENTS LTD
● Fairchild Semiconductor Corporation: Discrete POWER & Signal Technologies Texas Instruments Inc..
41
●
42
SEGUNDO PARCIAL
ENCUADRE
COMPETENCIA PROFESIONAL
SITUACIÓN DE APRENDIZAJE
Depósitos de agua comunicados
Enunciado
En una industria de la región se tienen dos depósitos de agua comunicados por una tubería que tiene una
electroválvula (ver figura). El nivel de agua de cada depósito se mide con 15 sensores distribuidos
43
uniformemente a lo alto de cada depósito. Cada sensor dará un '1' lógico si está cubierto de agua, y un '0'
lógico si está al aire. Como se tienen 15 sensores para conocer el nivel, el rango de valores va desde 0 a 15.
Se supone que ningún sensor va a fallar, por lo tanto, si un sensor indica un '1' lógico, todos los sensores que
estén debajo de él darán un '1' lógico (pues el agua los cubrirá también).
Se quiere realizar un circuito que accione la electroválvula cuando uno de los depósitos contenga el doble o
más de agua que el otro, en este caso la salida EV será '1'. Mientras que EV será '0' cuando la diferencia del
contenido de agua entre los depósitos sea menor del doble. Al accionar la válvula el depósito de mayor
cantidad de agua se vaciará y el de menor cantidad de agua se llenará por ser un sistema de vasos
comunicantes.
Para realizar el circuito se pueden usar una plataforma modular Arduino. Con el anterior problema nos
preguntamos:
¿Como es la transmisión de información en el sistema?
¿Qué tipo de instrucción se ocupan?
¿Qué es mejor un circuito combinación a base de puertas lógicas o una plataforma modular?
PLAN DE EVALUACIÓN
44
PORCENTAJE FIRMA DEL PADRE O
PRODUCTO PONDERACIÓN
OBTENIDO TUTOR
Practica 4 25%
Practica 5 30%
Practica 6 30%
15%
Proyecto de asignatura
INICIO
Aprendizajes claves
LO QUE SABES DE
Se quiere realizar un circuito para activar la alarma de incendios (A) para la evacuación de un edificio. Para
ello se tiene un sensor de gases (G), un sensor de humos (H), y dos señales procedentes de un termómetro
que indican si la temperatura es mayor de 45ºC (T45) y si la temperatura es mayor de 60ºC (T60).
Debido a que a veces los sensores detectan humos y gases que no siempre proceden de incendios (por
ejemplo, de los cigarrillos o las cocinas), para evitar falsas alarmas, la señal A se activará cuando se cumplan
las siguientes condiciones:
45
Resumiendo, las 4 señales binarias de entrada y la salida:
Se pide
h) Realizar la tabla de verdad de la señal de alarma (A) a partir de las señales de entrada (G, H, T45,
T60) .
i) Explicarla brevemente.
j) Obtener la expresión reducida en suma de productos y producto de sumas
k) Dibujar el esquema en puertas de estas expresiones
PARA EMPEZAR
46
47
RECORDEMOS
Para poder realizar un código Arduino debemos tener las herramientas con las que decirle
a nuestro microcontrolador que es lo que debe hacer en cada momento. Estas
herramientas son las sentencias y funciones. Arduino usa una serie de sentencias y
comandos básicos muy sencillitos pero a la vez muy potentes. Combinándolos crearemos
programas para decirle a nuestra placa que haga prácticamente cualquier cosa que
queramos. Las sentencias se dividen por su manera de funcionar dentro del programa,
pudiendo dividirlas en 3 grades grupos:
● Estructurales: Nos dan la forma computacional del código y las operaciones lógicas
a ejecutar. Con éstos son con los que le marcamos al programa qué camino debe
seguir el código al ejecutarse y qué operaciones debe hacer. Algún ejemplo de las
más usadas son if, for, while, +, -, =, *, /, ==, >, < …
● Variables: Con éstas definiremos qué tipo y qué características tendrán los valores
que vamos a usar en el código. Pueden ser números, caracteres o estados.
Podemos encontrarnos aquí las sentencias int, float, HIGH, LOW, char, string, true,
false…
● ●Funciones: Nos permiten realizar una serie de operaciones concretas y volver a la
zona del código en la que se ejecutó. Existen funciones que están propiamente
definidas ya por Arduino como tales y también podemos crearnos nuestras propias
funciones para que sean llamadas en las zonas de setup o loop cuando lo
necesitemos. Son muy útiles cuando necesitamos realizar un grupo de acciones
varias veces en distintas zonas del código. También es una buena forma de ahorrar
líneas y de organizarse. Ejemplo de funciones tenemos pinMode, digitalWrite,
delay, max, sin, cos, analogWrite
Por último nombraremos un par de pequeños detalles necesarios para poder programar
nuestro código. Para que cada sentencia o función se ejecute debe llevar al final de cada
orden el signo de puntuación punto y coma “ ; “ y al utilizar la doble barra “ // ” le
48
decimos al código que lo que se escriba a la derecha es un comentario y que no debe
ejecutarlo (Arduino lo coloreará en gris). Esto veréis que es muy útil para explicar que
estamos haciendo en cada momento.
49
DESARROLLO
Aprendizajes clave
CONSIDEREMOS LO SIGUIENTE
Para crear un programa que el computador interprete y ejecute las instrucciones escritas
en él, debe usarse un Lenguaje de programación. En sus inicios los computadores
interpretaban sólo instrucciones en un lenguaje específico, del más bajo nivel conocido
como código máquina, siendo éste excesivamente complicado para programar. De hecho
sólo consiste en cadenas de números 1 y 0 (Sistema binario).
Para facilitar el trabajo de programación, los primeros científicos que trabajaban en el área
decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras
50
provenientes del inglés, codificándolas así y creando un lenguaje de mayor nivel, que se
conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A
de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es
básicamente lo mismo que hacerlo en lenguaje máquina, pero las letras y palabras son
bastante más fáciles de recordar y entender que secuencias de números binarios.
A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se
hizo necesario disponer de un método sencillo para programar. Entonces, se crearon los
lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos números
puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de
alto nivel bastará con sólo una
● Estructuras
● Variables
● Operadores matemáticos, lógicos y booleanos
● Estructuras de control (Condicionales y ciclos)
● Funciones
1.2.1. ESTRUCTURAS
Son dos funciones principales que debe tener todo programa en Arduino:
1.1.1. VARIABLES
Es un dato o conjunto de datos que cambia su valor con la ejecución del programa.
51
1.1.2. Operadores matemáticos, lógicos y booleanos
Son instrucciones que nos permiten tomar decisiones y hacer diversas repeticiones de
acuerdo a unos parámetros, dentro de las más importantes podemos destacar:
1.1.4. Funciones
52
Orientas a revisar el estado y la configuración de las entradas y salidas digitales
MOMENTO DE ACTIVIDAD
ACTIVIDAD 1
Señal digital
53
Materiales
Esquema de conexión
54
1. Escribe el código de programación que cumpla con temporizar una señal de
salida digital
2. A partir del código de programación explicado anteriormente, queremos que
un LED prenda de manera intermitente de la siguiente manera: 3 segundos
prendido y 3 segundos apagado, 200 milisegundos prendido y 500 milisegundos
apagado Tip: 1s = 1000ms.
3. La empresa de automatización NRJ Inc. te contrata para hacer un montaje de
un LED Intermitente en una placa Arduino UNO, con el único requisito de que
el LED debe estar ubicado en el Pin 5, ellos muy amablemente te han facilitado
el esquema, tu tarea es:
4. Un Strober es un bombillo que prende y apaga muy rápido, muy usado en las
fiestas, tu misión es realizar tu strober casero con un LED, con el mismo
esquema montado en esta actividad.
ACTIVIDAD 2
55
Encender un LED con un pulsador
Materiales
Esquema de conexión
56
1. Escribe el código en IDE Arduino que realice la lectura de una entrada digital y escribir
una salida digital
2. Lee detenidamente y resuelve :La multinacional francesa Flante experta en maquinaria
industrial te ha contratado para que automatices una máquina cortadora de papel. La
condición principal es que el operario de la máquina cuando vaya a realizar el corte
siempre mantenga las dos manos ocupadas, esta es una regla de seguridad industrial
para evitar accidentes. El operario debe oprimir los dos pulsadores uno con cada
mano y la cuchilla cortadora debe bajar y hacer el corte. El siguiente montaje simula el
control de la máquina, los dos pulsadores (S1 y S2) y el LED rojo simula la cuchilla
cortadora
3. Tu padre quiere que realices un sistema de iluminación LED para las escaleras de la
casa. La condición es que si estás arriba y pulsas a S1 o si estás abajo y pulsas S2 el
LED Rojo se enciende y al dejar de pulsar se apaga. Como guía de montaje toma la
imagen anterior.
ACTIVIDAD 3
Lectura serial de una entrada digital
57
Materiales
Esquema de conexión
58
colocada (se debe activar S2 y mostrar por consola ―Gaseosa tapada‖), al finalizar el
proceso se debe encender un LED que indica que el proceso terminó bien y además se
debe mostrar un mensaje por la consola ―Gaseosa bien empacada‖. Recuerda que
primero se debe activar S1 y luego S2 para que le proceso sea válido.
3. Unas luces navideñas modernas son las siguientes: mientras se mantenga pulsado S1
una variable entera inicializa- da en 0 se comienza a incrementar de 20 en 20, al soltar
S1 la variable para de incrementarse, cuando se pulse S2 el valor de la variable se debe
cargar a un ―Hola Mundo‖ del LED, esto quiere decir que el LED va estar
intermitente en intervalos de tiempo iguales al valor de la variable. Por consola serial
debes ir mostrando el valor de la variable. Para que puedas volver la variable a 0 y
puedas hacer otra rutina de intermitencia, coloca la condición de que S1 y S2 se
opriman al tiempo, con ello la variable entera debe volver a 0.
ACTIVIDAD 4
Materiales
59
Esquema de conexión
ACTIVIDAD 5
Encender un LED por PWM
60
Materiales
Esquema
61
por ella. Tu tarea es realizar el programa que al leer una entrada análoga de un
potenciómetro (0—1023) se ajuste el valor de PWM (0-255) de un LED.
MANOS A LA OBRA
Nombre de la práctica:
Practica 4
Duración: 6 Horas
General
● Aplicar función Booleana a sistemas de control digital con plataformas modulares
mediante la utilización de placas Arduino en entornos de simulación y placas de
pruebas.
Específicos
● Integrar algoritmos para el diseño de circuitos digitales mediante álgebra de Boole
● Simular la funcionalidad circuitos digitales para la comprobación de sistemas
digitales, mediante programas en línea y de escritorio.
Materiales y equipo:
● Placa Arduino
● Placa de pruebas
62
● Cable para protoboard.
● Resistencias de 1kohm
● DipSwitch
● Diodos LED´S
● Fuente de alimentación de voltaje de CD
● Multímetro
● Osciloscopio
Procedimiento:
M4: vale '1' si son más de las 4am, si no M4='0'; M6: vale '1' si son más de las 6am, si no
M6='0'; La señal de salida A (alarma) se activará a nivel alto.
Determina
El programa en IDE de Arduino con instrucción For que cumpla con las condiciones antes
señaladas
63
Implementa el diagrama con ayuda de la placa de Arduino, protoboard, resistencias,
dipswitch y diodos led y expón tus resultados al docente.
Nombre de la práctica:
Practica 5
Duración: 6 Horas
General
● Aplicar función Booleana con instrucciones cíclicas a sistemas de control digital con
plataformas modulares mediante la utilización de placas Arduino en entornos de
simulación y placas de pruebas.
Específicos
● Integrar algoritmos para el diseño de circuitos digitales mediante álgebra de Boole
● Simular la funcionalidad circuitos digitales para la comprobación de sistemas
digitales, mediante programas en línea y de escritorio.
Materiales y equipo:
● Placa Arduino
● Placa de pruebas
● Cable para protoboard.
● Resistencias de 1kohm
● DipSwitch
● Diodos LED´S
● Fuente de alimentación de voltaje de CD
● Multímetro
● Osciloscopio
64
Procedimiento:
Se quiere realizar un circuito para activar la alarma de incendios (A) para la evacuación de
un edificio. Para ello se tiene un sensor de gases (G), un sensor de humos (H), y dos
señales procedentes de un termómetro que indican si la temperatura es mayor de 45ºC
(T45) y si la temperatura es mayor de 60ºC (T60). Debido a que a veces los sensores
detectan humos y gases que no siempre proceden de incendios (por ejemplo de los
cigarrillos o las cocinas), para evitar falsas alarmas, la señal A se activará cuando se
cumplan las siguientes condiciones: Si la temperatura es mayor de 60ºC siempre se
activará la alarma Si la temperatura está entre 45ºC y 60ºC se activará la alarma sólo si
han detectado gases o humos (o ambos). Si la temperatura es menor de 45ºC se activará
la alarma sólo si se detectan gases y humos Resumiendo, las 4 señales binarias de entrada
y la salida: G: vale '1' si se detecta GAS resultante de la combustión. H: vale '1' si se
detecta HUMO. T45: vale '1' si la temperatura es superior a 45ºC T60: vale '1' si la
temperatura es superior a 60ºC La señal de salida A (alarma) se activará a nivel alto
● El programa en IDE de Arduino que cumpla con las condiciones antes señaladas
utilizando estructuras de control WHILE,DO-WHILE
● Realiza la simulación en los ambientes de proteus y Tinkercad
● Implementa el diagrama con ayuda de la placa de Arduino, protoboard, resistencias,
dipswitch y diodos led y expón tus resultados al docente..
INSTRUMENTO DE EVALUACIÓN
65
NOMBRE DE LA DOCENTE: PORCENTAJE:
ING. MAURO ARTURO
GUTIÉRREZ VÁZQUEZ
Criterio 5 7 8 9 10
ptos ptos ptos ptos ptos
Total
66
A LO QUE LLEGAMOS
CIERRE
Aprendizaje clave:
PRÁCTICA AUTÓNOMA
Nombre de la práctica:
Practica 6
Duración: 12 Horas
67
Objetivos: (general y específico)
General
● Aplicar función Booleana con instrucciones cíclicas a sistemas de control digital con
plataformas modulares mediante la utilización de placas Arduino en entornos de
simulación y placas de pruebas.
Específicos
● Integrar algoritmos para el diseño de circuitos digitales mediante álgebra de Boole
● Simular la funcionalidad circuitos digitales para la comprobación de sistemas
digitales, mediante programas en línea y de escritorio.
Materiales y equipo:
● Placa Arduino
● Placa de pruebas
● Cable para protoboard.
● Resistencias de 1kohm
● DipSwitch
● Diodos LED´S
● Fuente de alimentación de voltaje de CD
● Multímetro
● Osciloscopio
Procedimiento:
El circuito accionará la bomba solamente cuando la tierra esté seca, pero antes debe
comprobar las siguientes condiciones:
Para evitar que la bomba se estropee por funcionar en vacío, nunca se accionará la bomba
cuando el depósito de agua esté vacío.
En el resto del año (si no hay restricciones) se podrá regar de día y de noche (si la tierra
está seca).
68
S: Señal que indica si la tierra está seca. Tierra seca: S=1 ; Tierra húmeda: S=0
R: Señal que indica si hay restricciones en el riego (es verano): Hay restricciones: R=1 No
hay restricciones: R=0
V: Señal que indica si el depósito de agua está vacío: Vacío: V=1 ; Hay agua: V=0 Y la salida
B, que accionará la bomba para regar: Bomba funcionando: B=1 ; Bomba apagada B=0
El programa en IDE de Arduino que cumpla con las condiciones antes señaladas utilizando
estructuras de control FOR,WHILE,DO-WHILE con vectores
INSTRUMENTO DE EVALUACIÓN
Criterio 5 7 8 9 10
ptos ptos ptos ptos ptos
69
Presenta completo el procedimiento de la práctica,
comprobando en un entorno de simulación simbólica en
línea.
A LO QUE LLEGAMOS
70
4. Que tipos de incrementos de una variable se pueden establecer en una instrucción
While
EN RESUMEN
PROYECTO TRANSVERSAL
Domótica en el Hogar
2. Problema:
4. Disciplinas o asignaturas
● Cálculo
● Ingles
● Implementa circuitos con microcontroladores
● Implementa circuitos en plataformas modulares con microcontroladores.
71
6. Tema transversal
Automatización en el hogar
7. Tiempo
Durante el parcial
● Escala estimativa
● Los y las aprendientes implementan el uso de circuitos analógicos y digitales para el
control de temperatura.
9. Producto de aprendizaje:
Un Hogar es un lugar cerrado, estático y accesible a pie que se destina al confort de las
personas , en todas las épocas del año. Es importante mantener suministros de gau
potable para cubrir las actividades de limpieza y preparación de alimentos del hogar,
tomando en consideración la cantidad de agua que se almacene , por lo cual se realizan
lazos de control para medir el nivel de agua y el abasto de la misma.
El comportamiento del sistema tendrá que cumplir con las condiciones siguientes:
Ya que los sensores arrojan valores en binario natural de 3 bits se puede interpretar que
72
Determine el programa y circuito lógico en plataforma modular Arduino que cumpla con
las condiciones antes mencionadas , compruebe el funcionamiento del circuito en un
ambiente virtual y real.
INSTRUMENTO DE EVALUACIÓN
INFOGRAFIA DE UN SISTEMA DE FECHA:
MONITOREO DE NIVEL DE AGUA
NOMBRE DE LAS Y LOS TIPO DE EVALUACIÓN: HETEROEVALUACIÓN
APRENDIENTES:
1.
NOMBRE DE LAS Y LOS EDUCADORES:
2.
3. Lic. Adrián Romero Martínez (MII –
4. S2) Y (MIV –S1)
5. Ing. Mauro Arturo Gutierrez Vázquez
6. (MII – S1) Y (MIV –S2)
73
Escala
0 1 2
GLOSARIO
RECURSOS DE APOYO
74
● J. R. Cogdell; Fundamentos de Circuitos Eléctricos; Prentice Hall,
Pearson Educación; México, 2000.
● Timothy J. Maloney; Electrónica Industrial Moderna, 3ª. Ed; Prentice Hall, Pearson Educación; México,
1999.
● Floyd, Thomas. L.; Dispositivos electrónicos, Volúmenes, I, II, III, 1ª. Ed., México, Limusa - Conalep
1993.
● Grob, Bernard. Electrónica Básica, México, Editorial Mc. Graw-Hill 1999.
● Hubsche, Klave, Pfluger y Appelt. Electrotecnia. Curso Elemental. Editorial
Rerverté, México, 1995.
● Ruiz. Enciclopedia Básica de Electrónica. Editorial CEAC. México, 1994.
● Rashid, Muhammad H.; Electrónica de potencia: Circuitos,
dispositivos y aplicaciones; 2a edición; Pearson Educación; México, 1995.
● Boylestad - Nashelsky: “Electrónica Teoría de circuitos”, 4ta edición, Prentice-Hall hispanoamericana
S.A. México, 2003.
● General Semiconductor.
● Hewlett-Packard Co.
● National Semiconductor Corporation
● Agilent Technologies, Inc.
● Motorola, Inc.: Motorola Small–Signal Transistors, FETs and Diodes Device Data; FAST AND LS
TTL DATA
● ISOCOM COMPONENTS LTD
● Fairchild Semiconductor Corporation: Discrete POWER & Signal Technologies Texas Instruments Inc..
75
TERCER PARCIAL
ENCUADRE
COMPETENCIA PROFESIONAL
76
SITUACIÓN DE APRENDIZAJE
Enunciado
Una báscula industrial utiliza dos sensores. Estos sensores son idénticos y están midiendo
la misma pieza, aunque su medida puede diferir. Las dos medidas se entregan a un sistema
digital codificadas cada una con 2 bits (A1A0 para el sensor 1 y B1B0 para el sensor 2).
Para visualizar la medida se dispone de dos displays de 7 segmentos. En uno de ellos se
visualizará la diferencia entre los sensores y en el otro la menor de las medidas en el caso
de que no coincidan las lecturas de los dos sensores, toda la anterior información se
requiere monitoria a distancia mediante un dispositivo móvil.
Para realizar el circuito se pueden usar una plataforma modular Arduino. Con el anterior
problema nos preguntamos:
¿Como es la transmisión de información en el sistema?
¿Qué tipo de instrucción se ocupan?
¿Qué es mejor un circuito combinación a base de puertas lógicas o una plataforma
modular?
PLAN DE EVALUACIÓN
77
PORCENTAJE FIRMA DEL PADRE O
PRODUCTO PONDERACIÓN
OBTENIDO TUTOR
Practica 7 25%
Practica 8 30%
Practica 9 30%
15%
Proyecto Transversal
INICIO
Aprendizajes claves
LO QUE SABES DE
78
Del anterior código se requiere determinar el circuito que involucra la plataforma modular.
PARA EMPEZAR
79
RECORDEMOS
BUCLES
Los bucles son elementos que hacen que el programa entre en un ciclo de repetición
mientras se cumplan las condiciones del bucle.
For
El bucle for se usa para repetir un bloque de sentencias un número determinado de veces.
Cada vez que se terminan de ejecutar las sentencias encerradas dentro del bucle, se
comprobará la condición inicial, repitiéndose el buche mientras se cumpla dicha
condición.
ejecuta instrucciones;
El buche for está formado por 3 partes, la inicialización, la condición del bucle y una
expresión (la expresión no es necesaria o puede ponerse dentro de las sentencias del
bucle).
Ejemplo de bucle for:
80
digitalWrite (13, LOW); //envía un 0 al pin
13 delay (500); //espera 500ms
While
El bucle while es un bucle que se repetirá constantemente mientras se cumpla la
expresión del bucle. Dentro de la expresión del bucle se pueden usar variables que
cambien dentro del propio bucle o que tomen el valor de alguna de las entradas de
Arduino que podemos tener asociadas a sensores u otros elementos.
while (sensor < 150) //ejecuta el bucle mientras "sensor" sea menor a 150
ejecuta instrucciones;
Do... while
El bucle do... while funciona de la misma manera que while, con la única diferencia de
que va a ejecutar al menos 1 vez el bucle, ya que la condición del mismo se comprueba
al final.
do
}while (sensor < 150) //repite el bucle mientras "sensor" sea menor que 150
DESARROLLO
Aprendizajes clave
81
Manejando los ambientes de programación para plataformas modulares con microcontroladores
CONSIDEREMOS LO SIGUIENTE
Arduino es una plataforma de desarrollo Hardware que cuenta con pines E/S para
comunicarse con el exterior. Estos pines E/S tienen características especiales que los
hacen propicios para una u otra tarea en función del tipo de pin. Estas E/S pueden
englobarse en 3 tipos básicos, E/S analógicas, E/S digitales y E/S para la comunicación
serie. Existen también pines de propósito especiales como salidas de reloj u osciladores
y pines de alimentación con los que podemos suministrar diferentes tensiones a placas
externas
Antes de empezar a trabajar con Arduino, deben de ser configurados los pines de la
placa que vayan a ser usados, asignándolos como entradas o como salidas. En ningún
caso un mismo pin podrá hacer de entrada y de salida al mismo tiempo.
82
La instrucción que se utiliza para realizar la configuración de los pines es pinMode,
donde habrá que asignarle el pin que queremos configurar y si queremos que actúe como
entrada (INPUT) o como salida (OUTPUT).
void setup()
Los pines de Arduino están configurados por defecto como entradas, por lo que no es
necesario indicarles el modo de trabajo si vamos a trabajar con ellos como entradas.
La razón de tener los pines configurados por defecto como entradas, es que las entradas
se encuentran en un estado de alta impedancia, lo que va a evitar en muchos casos que
dañemos la placa al realizar una mala conexión. Si establecemos un pin como salida y
por error entra corriente por dicho pin lo más seguro es que dañemos el
microcontrolador de manera irreversible.
Los pines que tengamos configurados como salida (OUTPUT) van a suministrar una
corriente máxima de 40mA por separado, sin que la corriente total de las salidas pueda
superar los 200mA. Esta corriente es suficiente para hacer brillar un led, pero
insuficiente para activar elementos de mayor potencia.
1.1E/S DIGITALES
Los pines asignados a E/S digitales, son pines que trabajan con dos estados HIGH (alto)
o LOW (BAJO). Según el modelo de Arduino que estemos usando, va a tomar el estado
HIGH (alto) como 5v o como 3.3v, el estado LOW (bajo) está asociado a un nivel de
voltaje 0.
Al hacer una lectura digital, vamos a leer el valor de un pin almacenando el resultado
como HIGH (alto o 1) o como LOW (bajo o 0).
valor = analoRead (pin); //la variable valor toma el nivel del pin analógico
Podemos especificar el pin asignándole directamente la numeración del pin digital que
queremos leer o con una variable o constante previamente definida.
83
1.1.2 Escritura de salidas digitales (digitalWrite)
Cuando hacemos una escritura digital vamos a mandar al pin definido previamente como
salida el valor HIGH o LOW. El valor HIGH se va a traducir (en función del tipo de
Arduino) por una señal de 5 o 3.3 voltios.
void setup()
void loop()
1.2E/S ANALÓGICAS
Vivimos en un mundo analógico, y en muchas ocasiones, para poder interactuar con el
entono no nos es suficiente con detectar o no una señal o poder activar o desactivar
cosas, sino que necesitamos cuantificar el valor de magnitudes reales y responder en
proporción.
Para poder leer y escribir valores analógicos, Arduino cuenta con una serie de E/S
84
destinadas a este fin, con las que podremos leer y escribir niveles de tensión que irán de
0 a 5 o 3.3v (dependiendo del modelo de Arduino que estemos usando).
La función analogRead realizará una lectura del pin analógico que se le indique,
almacenando el valor leído en un registro de 10bit's. Almacenar este valor en un registro
de 10 bit's va a implicar que tengamos un rango de valores que va de 0 a 1023,
asignándole el 0 a un nivel de 0 voltios y el 1024 a un nivel de 5 voltios, lo que va a
determinar la resolución que podemos obtener al hacer lecturas analógicas.
valor = analoRead (pin); //la variable valor toma el nivel del pin analógico
Los pines de entrada analógicos no necesitan ser declarados como entrada (INPUT), ya
que son siempre entradas.
El nivel de tensión que tendremos a la salida del pin, va a ser igual al nivel de tensión
promedio proporcional al ancho de los pulsos.
Como se observa en la imagen superior, variando en ancho del pulso, podemos obtener
una señal promedio equivalente. Para la primera señal, cuyo ancho de pulso es del 10%,
nos daría una señal analógica de 0.5v (el 10% de 5V), para la segunda una señal de 2.5v
y para la tercera señal obtendríamos una señal equivalente de 4.5v.
Las salidas analógicas trabajan con registros de 8bit's, o lo que es lo mismo, pueden
85
tomar valores comprendidos entre 0 y 255, correspondiendo el 0 a un nivel de 0 voltios y
el 255 al máximo voltaje (5 o 3.3 voltios dependiendo de la placa que estemos usando).
analogWrite (pin, valor); //saca por el pin el nivel de tensión equivalente a valor
Cuando trabajemos con entradas y salidas analógicas hay que tener en cuenta que al
realizar una lectura analógica el resultado se guarda en una variable de 10 bit's, pero la
escritura se hace con una variable de 8 bit's, por lo que si queremos usar el valor leído
para escribir en algún pin, primero deberemos de adaptar la variable de 10 a 8 bit's, si no
hacemos esto, el valor que escribamos va a estar fuera de rango y no va a mostrar el
nivel de tensión correcto.
2. PUERTO SERIE
Arduino cuenta con una serie de pines que tienen la capacidad de comunicarse con otros
dispositivos usando la comunicación serie para ello. Con esta comunicación serie se
puede realizar también una comunicación con el ordenador a través del USB gracias al
chip FDTI que incorpora la placa y que realiza la conversión USB-serie.
Un valor típico para realizar la conexión es 9600 baudios, aunque se pueden asignar
otros muchos valores.
void setup()
} //baudios
86
Según el modelo de Arduino que estemos usando, puede tener 1 o más puertos para la
comunicación serie, estos puertos estarán numerados y deberán de abrirse de manera
independiente según los que queramos usar.
void setup()
Serial.begin(960
0);
Serial1.begin(96
00);
Serial2.begin(96
00);
Serial3.begin(96
00);
Debe de tenerse en cuenta que, si se inicializa la comunicación serie, los pines asociados
al puerto serie que estemos utilizando no podrán ser usados para otro propósito.
Para imprimir estos datos se usa el comando Serial.print, que mandará a través del puerto
serie el dato o la cadena de caracteres que le indiquemos. Esta instrucción tiene algunas
variantes, que veremos a continuación.
Serial.print(dato, tipo de
dato)
Esta es la instrucción más común a la hora de enviar datos a través del puerto serie, tan
solo hay que indicar el dato que queremos enviar y el formato en el que queremos que
muestre dicho dato.
Cuando mandamos datos a través del puerto serie y queremos visualizar estos datos en
pantalla, es recomendable introducir espacios y saltos de línea, ya que si no lo hacemos
los datos nos van a aparecer de manera continua y no vamos a poder diferenciar unos de
otros. Para ordenar estos datos, podemos introducir tabulaciones o saltos de línea con los
siguientes comandos:
Si queremos crear datos en líneas diferentes, se puede optar por una variante del
Serial.print que introduce automáticamente un salto de línea, haciendo que el siguiente
dato que se vaya a escribir aparezca en la siguiente línea.
Serial.println(dato, tipo de
dato)
Como en el caso anterior, el tipo de dato será un campo opcional, si no se rellena este
campo, el dato aparecerán en formato decimal.
88
Serial.print(valor); //"imprime" el dato valor
Esta instrucción se usa para comprobar si hay caracteres disponibles para leer en el
puerto serie. Serial.available va a tomar un valor entero con el número de bytes
disponibles para leer que están almacenados en el buffer del puerto serie. Si no hay
ningún dato disponible Serial.avaible va a valer 0, por lo que es muy fácil el uso de esta
función combinada con el condicional if.
Arduino tiene un buffer que puede almacenar como máximo 64 bytes, una vez
sobrepasada esta capacidad se empezaran a escribir los datos uno encima de otro,
perdiendo la información.
MOMENTO DE
ACTIVIDAD 1
Como la luminosidad del led va a ser variable, conectaremos su ánodo a un pin digital tipo
PWM~ , por ejemplo el pin 11. Recordemos que si queremos escribir un voltaje en el pin
89
PWM~ 11, primero lo declararemos como pin de salida en el setup() y después
escribiremos:
analogWrite(11,brillo);
Ya sabemos que los pines analógicos son A0, A1, …, A5 y que todos los pines analógicos
son de lectura, por lo que no hace falta declararlos en el setup(). Lo que vamos a aprender
ahora es cómo leer el voltaje de un pin analógico. Para ello usaremos la función
analogRead. La sentencia:
analogRead(A0);
lee el voltaje del pin analógico A0 con la siguiente salvedad; el valor de analogRead(A0) es
0 si A0 está a 0 V y es 1023 si A0 está a 5 V. Si A0 está a 2,5 voltios, entonces valdrá
512,5. Por tanto, analogRead(A0); nos va a dar un valor entre 0 y 1023.
Así, si queremos pasar el voltaje del pin analógico (de lectura) A0 al pin digital PWM~ (de
escritura) 11 de manera sencilla, escribiremos:
brillo=analogRead(A0)/4;
analogWrite(11,brillo);
Para poder usar la pantalla del serial, en el void setup() debemos escribir la sentencia:
Serial.begin(9600);
90
Aquí, el 9600 significa que la velocidad de transferencia es de 9600 baudios, esto es, 9600
bit/s, que es la velocidad adecuada entre Arduino y el serial o monitor serie. Para ver por
el serial el valor de la variable brillo seguido de un salto de línea escribiremos:
Serial.println(brillo);
Serial.print(brillo);
Si queremos que en el serial ponga: “El valor de la variable brillo es: “ seguido del valor de
la variable brillo y luego un salto de línea, escribiremos:
Serial.println(brillo);
Actividad 2
Esta práctica es parecida a la anterior, pero multiplicada por tres. Usaremos un led RGB, lo
que nos permitirá obtener cualquier color en el led. Así, lo que pretendemos es poner en
el led RGB el color que queramos, controlado mediante tres potenciómetros.
Un led RGB, en realidad, son tres leds: uno rojo (R), uno verde (G) y uno azul (B), que son
los tres colores primarios luz. Mezclando estos tres colores primarios, podemos obtener
cualquier otro color. El modelo de led RGB con el que se ha hecho esta práctica tiene 4
patas en este orden: ánodo R (rojo), cátodo común, ánodo B (azul) y ánodo G (verde).
Esto puede variar de unos modelos a otros.
Se pretende controlar el color global del led. Por ejemplo, el rojo puro tiene un valor
RGB: R=255, G=0; B=0.
El verde puro: R=0, G=255, B=0. El logo de Oikos Matematikón: R=103, G=22, B=116.
Debemos conseguir controlar el led para conseguir los siguientes colores: rojo, verde, azul
y logo Oikos Matematikón y logo Arduino.
91
Como pistas, en cuanto al led, debemos conectar cada ánodo a un pin digital tipo PWM~;
por ejemplo, la pata R al pin 11, la pata G al 9 y la pata B al 10. En cuanto a los
potenciómetros debemos conectar cada terminal medio a un pin analógico; por ejemplo,
el potenciómetro que controle el color rojo al pin A2, el que controle el verde al A1 y el
que controle el azul al A0.
MANOS A LA OBRA
Nombre de la práctica:
Duración: 6 Hrs.
General
Específicos
Materiales y equipo:
● Placa Arduino
● Transductor Térmico
● Placa de pruebas
● Cable para protoboard.
● Resistencias de 1kohm
● DipSwitch
92
● Diodos LED´S
● Fuente de alimentación de voltaje de CD
● Multímetro
● Osciloscopio
Procedimiento:
2. Realiza un primer código en IDE Arduino que lea los voltajes que genera un sensor
TMP36 y los muestre en el monitor serie de TINKERCAD, expón tus resultados al
docente.
3. Determina la fórmula de la Temperatura del sensor dependiente del voltaje
___________________
4. Determina la formula del muestreo que realiza Arduino dependiente del voltaje
que ingresa a la placa_______________
93
5. Realiza un segundo código en el IDE de Arduino que empate las anteriores
formulas y muestre en el monitor serial de TINKERCAD la temperatura del
sensor.
6. Realiza la siguiente conexión del sensor TPM36 y Arduino y verifica el
funcionamiento de los códigos del paso 2 y 5.
Nombre de la práctica:
Duración: 6 Hrs.
General
Específicos
Materiales y equipo:
● Placa Arduino
● Transductor Térmico
● Placa de pruebas
● Cable para protoboard.
● Resistencias de 1kohm
● DipSwitch
94
● Diodos LED´S
Procedimiento:
Explicación.
Un led RGB, en realidad, son tres leds: uno rojo (R), uno verde (G) y uno azul (B), que son
los tres colores primarios luz. Mezclando estos tres colores primarios, podemos obtener
cualquier otro color. El modelo de led RGB tiene 4 patas en este orden: ánodo R (rojo),
cátodo común, ánodo B (azul) y ánodo G (verde). Esto puede variar de unos modelos a
otros. Se pretende controlar el color global del led. Por ejemplo, el rojo puro tiene un
valor RGB: R=255, G=0; B=0. El verde puro: R=0, G=255, B=0.
Se pretende que según el calor que desprenda tu mano se enciendan el LED RGB tome un
color en referencia a la cantidad de temperatura, esto significa que a mayor temperatura
se aproxima a rojo y a menor a azul . Para ello contamos con el sensor de temperatura
TMP36. De donde se percibe la temperatura
2. Realiza un primer código en IDE Arduino que lea los voltajes que genera un sensor
TMP36 y los muestre en el monitor serie de TINKERCAD, expón tus resultados al
docente.
3. Determina la formula de la Temperatura del sensor dependiente del voltaje
___________________
95
4. Determina la formula del muestreo que realiza Arduino dependiente del voltaje que
ingresa a la placa_______________
5. Realiza un segundo código en el IDE de Arduino que empate las anteriores formulas y
muestre en el monitor serial de TINKERCAD la temperatura del sensor.
6. Realiza la siguiente conexión del sensor TPM36 y Arduino y verifica el funcionamiento
de los códigos del paso 2 y 5.
7. Realiza el control analógico del diodo RGB utilizando primeramente potenciómetros
como se muestra en la imagen , para ello debes escribir y leer de manera analógica con
Arduino
96
INSTRUMENTO DE EVALUACIÓN
Criterio 5 7 8 9 10
ptos ptos ptos ptos ptos
97
Los y las aprendientes presentan el 100% apuntes de
clase bajo los requisitos del docente (Libreta forradas,
enumeración de sesiones, fecha, criterios y
ponderaciones).
Total
A LO QUE LLEGAMOS
98
CIERRE
Aprendizaje clave: Manejando los ambientes de programación para plataformas modulares con
microcontroladores
PRÁCTICA AUTÓNOMA
Nombre de la práctica:
Trasmisión Inalámbrica
Duración: 6Hrs
General
Específicos
Materiales y equipo:
● Placa Arduino
● Servomotor
● Movil Android
● Driver Bluetooth
● Placa de pruebas
● Cable para protoboard.
● Resistencias de 1kohm
99
● DipSwitch
● Diodos LED´S
Procedimiento:
Explicación.
Pretendemos controlar dos leds y un servo mediante el móvil gracias a una App y al
módulo Bluetooth HC-06.
Uno de los leds tendrá su ánodo en el pin 13, de manera que solo controlaremos que se
encienda o se apague. Hasta ahora no lo hemos dicho, pero podemos conectar el ánodo
de un led al pin 13 y el cátodo directamente a GND, pues el pin 13 da menos de 5 V, por
lo que no corremos el riesgo de perjudicar al led. Para encender este led presionaremos
instantáneamente el botón D de la App. Para apagarlo una vez que esté encendido,
volveremos a presionar instantáneamente el botón D de la App.
El segundo led tendrá su ánodo en el pin 11, que es PWM~, de manera que además de
encenderlo o apagarlo podremos variar su intensidad. La intensidad la controlaremos con
los botones flecha arriba ↑ y flecha abajo ↓.
Veamos cómo funciona el módulo Bluetooth HC-06. Este módulo tiene cuatro patas. La
pata RX debe ir al pin TX de Arduino (pin digital 1). La pata TX debe ir al pin RX de
Arduino (pin digital 0). Así, estas patas van intercambiadas con el Arduino para poder
establecer la conexión. La pata GND va a 0 V y la pata VCC va a 5
100
Es importante cargar el sketch en Arduino antes de conectar las patas RX y TX del
módulo HC-06, pues si cargamos el sketch con estas patas conectadas nos dará error. Así,
primero cargaremos el sketch en Arduino y luego conectaremos el módulo HC-06 a
Arduino. Si tenemos que modificar el sketch y volverlo a cargar en Arduino, antes de
cargarlo deberemos desconectar el módulo de Arduino.
Veamos cómo funciona la App. Es una App sencillísima. Cada vez que apretemos un botón
de la App, ésta mandará, vía Bluetooth, un carácter al serial. La equivalencia entre botones
de la App y caracteres es la siguiente:
Una vez conectado el módulo HC-06 a Arduino, pero antes de que móvil y módulo estén
conectados vía Bluetooth, el led interior que lleva el módulo estará parpadeando. Para
conectar el móvil al módulo HC-06 mediante Bluetooth, dentro de la App, presionamos
en Bluetooth. Cuando móvil y módulo estén conectados vía Bluetooth, el led del módulo
lucirá sin parpadear.
Inicialmente, el led del pin 13 estará apagado. Si en la App pulsamos D y el led del pin 13
está apagado, entonces dicho led se encenderá. Si en la App pulsamos D y el led del pin 13
está encendido, entonces dicho led se apagará.
101
Inicialmente, el led del pin 11 estará apagado. Cada vez que en la App pulsemos el botón
↑, el led del pin 11 lucirá un poco más. Cada vez que en la App pulsemos el botón ↓ el led
del pin 11 lucirá un poco menos.
102
INSTRUMENTO DE EVALUACIÓN
8.
Criterio 5 7 8 9 10
ptos ptos ptos ptos ptos
103
Los o las aprendientes nunca se expresa con palabras
anti sonantes y se refiere al docente con respeto, nunca
se dedica a verificar videojuegos, redes sociales y
demás actividades no referentes a la práctica, así
también nunca se ausente de la clase
Total
A LO QUE LLEGAMOS
EN RESUMEN
PROYECTO TRANSVERSAL
104
1. Título del proyecto:
Domótica en el Hogar
2. Problema:
4. Disciplinas o asignaturas
● Cálculo
● Ingles
● Implementa circuitos con microcontroladores
● Implementa circuitos en plataformas modulares con microcontroladores.
6. Tema transversal
Automatización en el hogar
7. Tiempo
Durante el parcial
105
8. Criterios de evaluación/ aprendizajes esperados
● Escala estimativa
● Los y las aprendientes implementan el uso de circuitos analógicos y digitales para el
control de temperatura.
9. Producto de aprendizaje:
Un Hogar es un lugar cerrado, estático y accesible a pie que se destina al confort de las
personas , en todas las épocas del año. Es importante mantener suministros de agua
potable para cubrir las actividades de limpieza y preparación de alimentos del hogar
tomando en consideración la cantidad de agua que se almacene, así como mantener la
temperatura adecuada en la habitaciones para no generar enfermedades en los ocupantes
del hogar, por lo cual se realizan lazos de control para medir y controlar el nivel de agua y
el abasto de la misma, de igual manera medir y controlar la temperatura en cada
habitación del domicilio..
Es un sistema combinacional que permita medir el nivel de agua. El sistema cuenta con
sensores que generan un código en binario natural de ocho bits, en el que un incremento
de código supone un incremento de nivel de agua de 4.3 Litros de un depósito (Tinaco) de
1100 litros de capacidad máxima, así mismo considerar una cisterna con capacidad máxima
de 10000 Litros y un incremento de código representaría un incremento de 39 Litros.
El comportamiento del sistema tendrá que cumplir con las condiciones siguientes:
El segundo:
106
Es un sistema de control que consiste en un sistema combinacional que permita regular la
temperatura. La temperatura llega desde un sistema de sensores mediante un código en
binario natural de tres bits, en el que un incremento de código supone un incremento de
temperatura de 5º Centígrados (Código 0 si la temperatura está entre 0º y 4º, código 1 si
la temperatura está entre 5º y 9º, código 2, entre 10º y 14º y así sucesivamente).
El comportamiento del sistema, tendrá que cumplir con las condiciones siguientes:
Ya que los sensores arrojan valores en binario natural de 3 bits se puede interpretar que
las variables de entrada son tres, en este caso se llamarán S1, S2 y S3. Cada código
comenzando desde 0 hasta 7 son un rango de temperatura.
Determine el programa y circuito lógico en plataforma modular Arduino que cumpla con
las condiciones antes mencionadas , compruebe el funcionamiento del circuito en un
ambiente virtual y real.
INSTRUMENTO DE EVALUACIÓN
INFOGRAFIA DE UN SISTEMA FECHA:
DOMÓTICO
107
NOMBRE DE LAS Y LOS TIPO DE EVALUACIÓN: HETEROEVALUACIÓN
APRENDIENTES:
1.
NOMBRE DE LAS Y LOS EDUCADORES:
2.
3. Lic. Adrián Romero Martínez (MII –
4. S2) Y (MIV –S1)
5. Ing. Mauro Arturo Gutierrez Vázquez
6. (MII – S1) Y (MIV –S2)
Escala
0 1 2
GLOSARIO
RECURSOS DE APOYO
109
● General Semiconductor.
● Hewlett-Packard Co.
● National Semiconductor Corporation
● Agilent Technologies, Inc.
● Motorola, Inc.: Motorola Small–Signal Transistors, FETs and Diodes Device Data; FAST AND LS
TTL DATA
● ISOCOM COMPONENTS LTD
● Fairchild Semiconductor Corporation: Discrete POWER & Signal Technologies Texas Instruments Inc..
110