NOTA: síentase en la libertad de compartir, copiar y ejecutar los códigos y la información presentados en el documento.
Participantes:
Se definió el cronograma de actividades para concertar la ruta de trabajo que vamos a llevar para el desarrollo de las simulaciones. Se proponen las siguientes fechas para hacer las reuniones del grupo de manera virtual a través de la aplicación Meet de Google, teniendo en cuenta que la fecha de entrega es el día 9 de febrero.
Hicimos una revisión de tutoriales y documentación sobre lo que es Arduino y TinkerCAD, para aprender a manejar la plataforma de simulación y sobre Arduino.
Definimos la plantilla de la IEEE que se usaría para el desarrollo del documento. Escogimos una de las plantillas compartidas en Overleaf.
Tareas asignadas:
Buscar documentación sobre el lenguaje de programación de Arduino. (Ana Luis)
Buscar y descargar plantillas de la Universidad Nacional para hacer la presentación. (Sofía)
Profundizar en el uso del simulador de circuitos de TinkerCAD. Crear algunos ejemplos. (Silvia y Cristian)
Participantes:
Socialización de las tareas asignadas.
Se expone la información sobre Arduino, su funcionamiento y aplicación, se presenta información sobre las diferentes funciones que el lenguaje de programación Arduino ofrece para controlar diferentes elementos electrónicos.
Se presentan las plantillas de las diapositivas con logos y escudos de la universidad, que se van a usar para diseñar la presentación. Quedan planteadas algunas de las ideas que se tienen para la creación de la presentación final.
Se propuso hacer un ejemplo de encendido de un led para mostrar algunas características de la plataforma TinkerCAD y entender mejor el funcionamiento de este simulador. Se complementa con la información del código de Arduino para aprender sobre el funcionamiento del lenguaje de programación.
Se deja planteada la primera simulación, que requiere que haga una alarma de incendios.
Tareas asignadas:
Buscar los códigos de Arduino para el funcionamiento de los sensores para crear el detector de intrusos. (Ana Luis)
Buscar el esquema hecho con TinkerCAD para hacer un detector de intrusos e información sobre los elementos que se requieren para crearlo. (Sofía)
Terminar la simulación de la alarma de incendios para compartirla en la próxima sesión. (Silvia y Cristian)
Participantes:
Se muestra la simulación terminada de la alarma de incendios, haciendo mención de los elementos que intervienen y explicando las líneas de código que activan el funcionamiento del sistema. Se mejora el ćodigo para modificar el comportamiento y guardamos en la plataforma TinkerCAD el primer proyecto práctico, la alarma de incendios.
Se comparte información acerca del sensor PIR empleado para la detección de movimiento. Se listan los elementos que se requieren para crear el detector de intrusos con el simulador TinkerCAD.
Se expone la implementación de los códigos de Arduino que controlan el detector de intrusos o sensor PIR. Creamos el proyecto en el simulador y ejecutamos de manera exitosa el código.
Redacción de la introducción del trabajo escrito, como borrador para el desarrollo del documento.
Tareas asignadas Tareas asignadas:
Desarrollar la simulación de encendido de luces automático. (Ana Luis)
Buscar información sobre el desarrollo del sistema de encendido de luces inalámbrico. Presentar los elementos del sistema. (Sofía y Silvia)
Crear documento sobre el cronograma y desarrollo del trabajo que se lleva hasta el momento. Crear borrador del documento escrito en Overleaf para adelantar lo referente al pdf final.
Participantes:
Presentación del documento html en el que se muestra el desarrollo del trabajo con el cronograma de actividades que se han asignado. Se muestra el borrador del documento escrito en Overleaf para que se inicie la redacción del documento.
Se crea el sistema de encendido automático de luces, haciendo uso de la fotoresistencia. Compartimos la información acerca del código comentando las líneas para tener un mejor entendimiento del mismo.
Exponemos los elementos que se requieren para construir el sistema de encendido de luces inalámbrico, dejamos planteado el montaje del sistema en TinkerCAD, pero no es posible hacer que funcione, se plantea dejar pendiente la búsqueda del código para configurar el control que enciende las luces.
Tareas asignadas
Traer propuestas de código para el funcionamiento del control remoto. Profundizar un poco en el comportamiento del control. (Ana Luis)
Adelantar la creación de la presentación (diapositivas) y del documento escrito el cual se está desarrollando en Overleaf con la plantilla de la IEE. (Silvia Jelena Cristian).
Participantes:
Socialización del sistema de encendido inalámbrico de luces con sensor infrarrojo, aplicando las propuestas encontradas del funcionamiento del control remoto.
Dejamos documentado el proceso para hacer funcionar el control remoto, hacemos la simulación de manera exitosa en TinkerCAD y logramos que el código funcione para encender los leds de manera inalámbríca.
Se adjunta información al documento pdf para adelantar en el resumen y la introducción del mismo.
Buscamos información sobre la construcción del sistema para visualizar el nivel de un tanque de agua. Recopilamos algunos códigos de algunos tutoriales encontrados en la web para desarrollar el sistema en la próxima sesión.
Tareas asignadas:
Intentar desarrollar la simulación del sistema de nivel de agua. (Ana Luis Jelena Silvia)
Recopilar la información que se va a dejar en el documento pdf de los proyectos que se han hecho hasta el momento. (Cristian).
Participantes:
Desarrollamos la simulación del sistema de nivel de agua. Con esto damos por terminadas las simulaciones en TinkerCAD de los proyectos propuestos.
Preparamos la información que se va a presentar el día de hoy (en clase) en la exposición de los avances de los proyectos.
Tareas asignadas:
Crear los diagramas de bloques para cada uno de los circuitos simulados. (Silvia y Analise)Redactar la metodología para adjuntar al trabajo escrito. (Luis, Jelena y Cristian).
Participantes:
Se adjunta la información que va a contener el resumen del documento y se plantea la metodología del proyecto. Se deja todo ya estructurado en la plantilla del documento pdf creado en Overleaf.
Se plantean algunas de las posibles conclusiones del proyecto que pueden documentarse en el trabajo escrito.
Tareas Asignadas:
Terminar los diagramas de bloques para cada uno de los circuitos simulados. (Silvia y Analise).
Darle formato final al trabajo escrito. (Luis, Jelena y Cristian).
En la carrera de Ingenierı́a de Control de la Universidad Nacional de Colombia, la materia Introducción a la Ingenierı́a de Control plantea los primeros acercamientos de las labores que realiza en su campo de acción, el egresado de este programa académico. El desarrollo de circuitos eléctricos es una de las habilidades que adquiere en su proceso de formación el ingeniero de control; desde la materia en mención, se propone interactuar con los circuitos a través de un simulador llamado Tinker CAD, que facilita la construcción y simulación de pequeños proyectos de electrónica dentro de una interfaz amigable para el usuario, que además, cuenta con el complemento para agregar placas embebidas de Arduino y su editor para programar el microcontrolador. De esta manera se plantean cinco diferentes prácticas con el objetivo de identificar los conceptos vistos durante las clases, como los sistemas de lazo abierto y lazo cerrado, actuadores, sensores, microcontrolador, entre otros. \
El alacance de este documento no presenta una guía de manejo de TinkerCAD ni de Arduino.
Un sistema de control es un conjunto de elementos tangibles o intangibles, que intreactúan entre sí, de manera lógica, ordenada y que contribuyen a un objetivo en particular. Un sistema puede puede ser de lazo abierto o de lazo cerrado. Algunos de esos elementos pueden ser sensores, actuadores, microcontroladores e incluso fórmulas matemáticas o algoritmos.
Un sistema de control es un conjunto de elementos tangibles o intangibles, que intreactúan entre sí, de manera lógica, ordenada y que contribuyen a un objetivo en particular. Un sistema puede puede ser de lazo abierto o de lazo cerrado. Algunos de esos elementos pueden ser sensores, actuadores, microcontroladores e incluso fórmulas matemáticas o algoritmos informáticos.
El proceso es el fenómeno que ocurre al interior del sistema, ocurre de manera física entre los elementos, es decir que existe un intercambio de masa y energía.
Las entradas de un sistema de control pueden modificar el comportamiento del proceso, a sú vez se le conoce como variable de controlo ó acción de control y es un valor arbitrario que no necesariamente debe ser medible. En contraparte, las salidas son variables que representan el objetivo del proceso, indican si se cumple con lo deseado, deben ser medibles y sus valores dependen del proceso.
El lazo de control abierto puede ser de tipo manual, en el cual es un operario (persona) quien ejecuta alguń tipo de acción sobre el proceso, y también el lazo de control abierto puede ser de tipo automático. En el lazo de control abierto no es necesario usar la información de la salida y la acción de control es prefijada.
El lazo de control cerrado también puede ser de tipo manual y/ó automático; en este caso la acción de control se obtiene con la información de la salida, este tipo de lazo es sensible a las perturbaciones externar del sistema (como por ejempelo una sobre carga eléctrica del sistema dibido a un rayo).
Los diagramas de bloques, presentan una ayuda visual que describe y contiene los elementos que hacen parte de un sistema. A través de ellos es posible representar una planta o sistema completo señalando tanto las entradas como las salidas del mismo, y la interacción de los elementos.
Ejemplos de diagrama de bloques de un sistema de lazo abierto y cerrado:
TinkerCAD es una herramienta en línea proporcionada por Autodesk. Es de uso gratuito y solo requiere crear una cuenta de usuario con un correo electrónico. Entre sus usos, el más conocido es probablemente el diseño de piezas en 3D. Su interfaz gráfica le permite al usuario arrastrar y posicionar los elementos (sensores, actuadores, motor, etc) que desee para la construcción del circuito. Despúes de crear el código, basta con dar en el botón de Iniciar simulación
Se presenta a continuación una captura de pantalla del simulador de circuitos de TinkerCAD.
Desde un entorno virtual como TinkerCAD es posible simular circuitos que pueden ser testeados, antes de llevarse a cabo en el mundo real; el editor de código integrado a la interfaz del usuario de TinkerCAD, facilita la programación del microcontrolador Arduino y permite ejecutar experimentos sencillos y visualizar el comportamiento de los componentes que conforman un circuito ya sea de lazo abierto o cerrado. En el presente trabajo se desarrollan algunas actividades simuladas, para aplicar los conocimientos vistos durante las clases y recrear procesos de automatización con algunos sensores y actuadores que ofrece el simulador.
Arduino diseña y fabrica placas electrónicas que cuenta con todos los elementos necesarios para conectar dispositivos (sensores, actuadores, etc.) a las entradas y salidas de las mismas. Es decir, es una placa impresa con componentes necesarios para el funcionamiento del microcontrolador, además, facilita su comunicación con una computadora personal a través del puerto serial. Arduino también permite la programación del microcontrolador a través de su IDE, y así contar con un software que facilita la codificación; al ser un software de libre acceso, Arduino cuenta con una comunidad mundial que comparte sus ideas, códigos , diseños y experiencias en la crearción procesos de automatización, domótica, IoT (Internet de las cosas), electrónica, donde siempre hay personas abiertas a respoder preguntas sobre problemas que surgen cuando se está diseñando un circuito.
La imagen es una captura de la IDE de Arduino que permite escribir el ćodigo que llevará en la memoria el Arduino, es decir las instrucciones del funcionamiento del sistema.
Se propone realizar simulaciones sistemas de control aplicados a la domótica, a través de la plataforma virtual TinkerCAD que posee entre sus múltiples herramientas el microcontrolador Arduino. Este dispositivo tendrá la tarea de interactuar con las entradas (sensores) y con las salidas (actuadores) para cumplir con los objetivos de control en un sistema de domótica.
La programación por medio de bloques (método gráfico) no está permitida, es necesario presentar las líneas de código propuestas para el funcionamiento del sistema.
Las simulaciones que se deben realizar son las siguientes:
Los requerimientos de entrada deben incluir los siguientes elementos:
Los requerimientos de salida deben incluir los siguientes elementos:
El microcontrolador usado será el Arduino UNO.
Piezo (Buzzer): es un dispositivo que genera vibraciones de difrentes frecuencias cuando se le suministra una corriente.
Sensor de gas: detecta las partículas de humo en el aire, a través de un resistor en su interior; cuando este elemento entra en contacto con el humo su resistencia cambia y por ende, la corriente que fluye por el circuito.
Sensor PIR (Pasive Infrared): Este dispositivo detecta la variación de la radiación infrarroja emitidia por los cuerpos calientes de animales o personas.
Led: Diodo emisor de luz, que permite el paso de la corriente en un sólo sentido, es decir que este “bombillo” ilumina cuando se conecta de manera adecuada el ánodo y el cátodo.
Fotoresistor: Un elemento que cuando entra en contacto con la lúz ambiente, aumenta la resistencia al paso de la corriente; cuando la luz ambiente es nula o llega a un umbral bajo, la fotoresistencia permite el paso de corriente, cerrando el circuito.
Sensor (receptor) infrarrojo: Percibe las señales infrarrojas emitidas por una fuente de luz infrarroja (por ejemplo control remoto).
Control remoto: Emisor de señales infrarrojas.
Sensor de ultrasonido: Este dispositivo envía ondas mecánicas a través de su emisor, y son recibidas por el receptor del dispositivo. El tiempo que tarde en viajar la onda desde el emisor, hasta un objeto y volver hasta el receptor, permite calcular la distancia a la que se encuentra un objeto que se encuentre dentro del perímetro de acción del sensor.
Arduino: es una placa embebida que para este caso en particular, será el controlador de los sistemas simulados. En este dispositivo están cargadas las instrucciones (Código Arduino) de la interacción de los actuadores, sensores y demás elementos, con el microcontrolador y el entorno.
Proceso: el sensor de gas detecta las partículas de humo en el aire y activa el piezo, emitiendo un sonido cada segundo enviando una alerta que dice “Humo detectado”. El sensor de temperatura por su parte mide la temperatura del ambiente, si detecta valores mayores a los 70 °C, activa el piezo enviando una alerta que dice “Temperatura Alta: posible incendio”. Cuando los valores son inferiores a 70 °C muestra la temperatura actual.
Elementos del sistema:
sensor de gas - sensor
buzzer (piezo) - actuador
sensor de temperatura TMP36 - sensor
Arduino - controlador
Entradas
Salida
Código Arduino:
// C++ code
/*Alarma de incendios: el sensor de gas detecta las partículas
de humo en el aire y activa el piezo,
emitiendo un sonido cada segundo y enviando una alerta
que dice “Humo detectado”. El sensor de temperatura por su
parte mide la temperatura del ambiente, si detecta
valores mayores a los 70 °C, activa el piezo y se envia
una alerta que dice “Temperatura Alta: posible incendio”.
Cuando los valores son inferiores a 70 °C muestra la temperatura actual.
*/
const int alarma = 12; // buzzer conectado al pin 12
int sensortemp = A1; // TMP36 conectado al pin A1
int sensorgas = A0; //Leemos el pin A0 del sensor de gas
void setup(){
Serial.begin(9600); // iniciar comunicación serial (9600 baudios)
pinMode(alarma, OUTPUT); // Buzzer declarado como salida
pinMode(sensorgas, INPUT); // sensor de gas como entrada
}
void loop(){
int lectura = analogRead(sensortemp); // capturar info del pin A1
float mv = (5000 / 1024.0) * lectura; // Convierto la info leida a mV
float celcius = mv / 10; // Convierto los mV leidos a grados celsius
celcius = 90; // valor arbitrario temp.
int humo = 800; // valor arbitrario humo.
if(humo > 500){ // Si humo es mayor a 500
Serial.println("¡¡¡ Humo detectado !!!"); //mostrar mensaje
tone(alarma, 500);// activar buzzer
delay(500); // durante 500 ms
noTone(alarma);// desactivar buzzer
delay(500); //durante 500 ms
}
else{ // de lo contrario
Serial.println("Aire libre de humo."); // imprima mensaje
delay(1000); // durante 1000 ms
}
if (celcius >= 70) { // si celcius es mayor o igual a 70
tone(alarma, 500);// activar buzzer
delay(500); // durante 500 ms
noTone(alarma);// detener buzzer
Serial.println("Temperatura Alta: posible incendio"); // imprima mensaje
delay(1000); // durante 1000 ms
}
else { // de lo contrario
noTone(alarma);// NO activar buzzer
Serial.print(celcius); // imprima mensaje
Serial.println("°C");
delay(1000); // durante 1000 ms
}
}
Proceso: el sensor PIR detecta cambios en los niveles de luz infraroja que emiten los cuerpos calientes, por lo tanto al detectar un movimiento de una persona los valores de radiación cambian y activan el led junto con el piezo que suena cada segundo. (POSIBLE TECLADO PARA ACTIVAR/DESACTIVAR ALARMA)
Elementos del sistema:
Sensor PIR - sensor
buzzer (piezo) - actuador
LED -
Arduino - controlador
Entradas
Salida
// C++ code
/*El sensor PIR: detecta los cambios de radiación infrarroja
emitida por los cuerpos (personas o amimales). Cuando detecta
una variación de esta radiación se activa el led y el buzzer*/
const int LEDPin= 13;
const int PIRPin= 11;
//Asignar los pines
const int alarma = 7;
int PIRpin = 11;
int led = 13;
void setup()
{
//Asignamos las entradas y salidas
pinMode(PIRpin,INPUT); // PIR como entrada
pinMode(led,OUTPUT); // led como salida
Serial.begin(9600); //iniciar comunicación serial
digitalWrite(led,LOW); // iniciar con led apagado
}
void loop()
{
Serial.println(PIRpin);//Lectura del PIR
if(digitalRead(PIRpin) == HIGH)// Si lectura PIR es HIGH (detecta movimiento)
{
Serial.println("Alerta de Intruso."); //imprima mensaje
digitalWrite(led,HIGH); //encender led
tone(alarma, 500);// encender buzzer
delay(1000); // durante 1000 ms
}
else{ // de lo contrario
digitalWrite(led,LOW); // apagar led
noTone(alarma);// No encender buzzer
Serial.println("Lugar seguro");
delay(1000); // durante 1000 ms
}
}
Proceso: el fotoresistor disminuye la resitencia cuando no hay luz en el ambiente, es decir que detecta poca luz en el lugar, lo que permite que fluya la corriente hacia el bombillo y encienda. Mientras que cuando el fotoresistor se encuentra en presencia de luz del ambiente la resistencia aumenta y la bombilla se apaga.
Elementos del sistema:
Fotoresistor - sensor
Bombillo -
Arduino - controlador
Entradas
Salida
// C++ code
//
/* Fotoresistor: cuando el ubral es menor a 250
nse enciende bombillo e imprime "Luz encendida.", y cuando el umbral está por
encima de 250 se apaga bombillo e imprime "Luz apagada."*/
const int bombillo = 7; // bombillo en pin 7
void setup() {
Serial.begin(9600);
pinMode(bombillo, OUTPUT);
pinMode(A4, INPUT); // fotoresistor en pin A4
}
void loop() {
int fotores = analogRead(A4); // capturar valores de pin A4
if(fotores < 250) // si valores de pin A4 menor a 250
{
digitalWrite(bombillo,HIGH); // encienda bombillo
Serial.println(fotores); // imprima dato de pin A4
Serial.println("Luz encendida."); // mensaje
}
else{
digitalWrite(bombillo,LOW); //apagar bombillo
Serial.println(fotores); //imprime dato pin A4
Serial.println("Luz apagada."); // mensaje
}
}
Proceso: el control remoto es un emisor de luz infrarroja que viaja directamente al receptor infrarrojo y detecta la señal codificada para cada botón del control. De esta manera podemos saber cuál es el botón que corresponde a cada uno de los valores del control. El control enciende los leds de izquierda a derecha, con los botones 1, 2 y 3 respectivamente. Con el botón rojo (POWER) apaga los tres leds al mismo tiempo. El sensor IR recibe la señal enviada desde el control para enceder o apagar los leds.
Elementos del sistema:
LEDS
Control remoto - emite señales infrarrojas
Receptor IR - detecta señales infrarrojas
Entradas
Salida
Mapeo de los botones del control.
Con el siguiente código, es posible detectar los valores que identifican cada tecla del control, de esta manera podemos visualizar ese valor en el monitor serial.
// Se muestra en el Monitor Serial los valores de los botones
#include <IRremote.h>
int IR_Recv = 7; //IR receptor en pin 7
IRrecv irrecv(IR_Recv);
decode_results results;
void setup(){
pinMode(13, OUTPUT);
Serial.begin(9600); //inicia comunicación serial
irrecv.enableIRIn();
}
void loop(){
if (irrecv.decode(&results))
{
long int decCode = results.value;
Serial.println(decCode);
irrecv.resume();
}
}
El siguiente código enciende los tres leds. Botones 1, 2, 3 y Power.
/*Encendido de luces inalámbrico: el control remoto emite luz
infrarroja que es detectada por el receptor. Esta señal es
codificada según la tecla presionada en el control. Se programó
el botón 1 para encender led Verde, el botón 2 para encender
led rojo, y el botón 3 para encender led naranja.*/
#include <IRremote.h> // librería de sensor infrarrojo
int IRrec = 7; //receptor IR en Pin 7
IRrecv irrecv(IRrec);
decode_results results;
void setup(){
pinMode(13, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn(); // inicia el receptor
}
void loop(){
if (irrecv.decode(&results)){
long int decCode = results.value;
Serial.println(decCode);
if (results.value == 16582903) //botón 1
{
digitalWrite(13, HIGH);
Serial.println("LED turned ON");
}
if (results.value == 16615543) //botón 2
{
digitalWrite(10, HIGH);
Serial.println("LED turned OFF");
}
if (results.value == 16599223) //botón 3
{
digitalWrite(8, HIGH);
Serial.println("LED turned ON");
}
if (results.value == 16580863) //botón apagado
{
digitalWrite(13, LOW);
digitalWrite(10, LOW);
digitalWrite(8, LOW);
Serial.println("Luces apagadas");
}
irrecv.resume();
}
}
Proceso: El sensor ultrasónico cuenta con un disparador que emite una onda mećanica, cuando esta onda choca contra un objeto (capa de agua), rebota en dirección al receptor del sensor. El tiempo que demora la onda en viajar desde el emisor hasta el receptor permite calcular la distancia a la que se encuentra el objeto. A una distancia menor a 30 cm los leds verdes se activan indicando que el nivel de agua es alto, cuando detectan una distancia entre 30 y 60 cm se enciende el led naranja, y si la distancia es mayor a 60 cm, los leds rojos de encienden.
Elementos del sistema:
Sensor ultrasónico - emite y recibe señal acústica
LEDS
Arduino UNO
Entradas
Salida
/*SENSOR DE ULTRASÓNICO (MEDIR DISTANCIA A OBJETOS)
El sensor ultrasónico cuenta con un disparador que emite una onda
mećanica, cuando esta onda choca contra un objeto (capa de agua),
rebota en dirección al receptor del sensor. El tiempo que demora la onda
en viajar desde el emisor hasta el receptor permite calcular
la distancia a la que se encuentra el objeto. A una distancia
menor a xxxx los leds verdes se activan indicando que el nivel
de agua es alto, cuando detectan una distancia entre xxxxx y xxxx
se enciende el led naranja, y si la distancia es mayor a xxxx, los
leds rojos de encienden.
*/
const int EchoPin = 2;
const int TriggerPin = 4;
const int LedPin1 = 6; //verde
const int LedPin2 = 7; //verde
const int LedPin3 = 8; //naranaja
const int LedPin4 = 9; // rojo
const int LedPin5 = 10; // rojo
void setup() {
Serial.begin(9600);
pinMode(LedPin1, OUTPUT);
pinMode(LedPin2, OUTPUT);
pinMode(LedPin3, OUTPUT);
pinMode(LedPin4, OUTPUT);
pinMode(LedPin5,OUTPUT);
pinMode(TriggerPin, OUTPUT);
pinMode(EchoPin, INPUT);
digitalWrite(LedPin1, LOW);
digitalWrite(LedPin2, LOW);
digitalWrite(LedPin3, LOW);
digitalWrite(LedPin4, LOW);
digitalWrite(LedPin5, LOW);
}
void loop() {
int cm = ping(TriggerPin, EchoPin);
Serial.print("Distancia: ");
Serial.println(cm);
if(cm < 30){
digitalWrite(LedPin4, LOW);
digitalWrite(LedPin5, LOW);
digitalWrite(LedPin1, HIGH);
digitalWrite(LedPin2, HIGH);
digitalWrite(LedPin3, LOW);
Serial.println("Nivel óptimo de agua");
}
if(cm > 30 && cm < 60){
digitalWrite(LedPin4, LOW);
digitalWrite(LedPin5, LOW);
digitalWrite(LedPin1, LOW);
digitalWrite(LedPin2, LOW);
digitalWrite(LedPin3, HIGH);
Serial.println("Nivel medio de agua");
}
if (cm > 60) {
digitalWrite(LedPin4, HIGH);
digitalWrite(LedPin5, HIGH);
digitalWrite(LedPin1, LOW);
digitalWrite(LedPin2, LOW);
digitalWrite(LedPin3, LOW);
Serial.println("Nivel bajo de agua");
}
delay(1000);
}
int ping(int TriggerPin, int EchoPin) {
long duration, distanceCm;
digitalWrite(TriggerPin, LOW); //para generar un pulso limpio ponemos a LOW 4us
delayMicroseconds(4);
digitalWrite(TriggerPin, HIGH); //generamos Trigger (disparo) de 10us
delayMicroseconds(10);
digitalWrite(TriggerPin, LOW);
duration = pulseIn(EchoPin, HIGH); //medimos el tiempo entre pulsos, en microsegundos
distanceCm = duration * 10 / 292/ 2; //convertimos a distancia, en cm
return distanceCm;
}
La aplicación de herramientas de uso libre (Arduino, TinkerCAD, Overleaf) facilitan el aprendizaje y el desarrollo de documentos y simulaciones, además de que permiten acceder a información sobre su funcionamiento en la web, compartida por otras personas en el mundo.
Las simulaciones de circuitos, permiten experimentar en un entorno virtual sin necesidad de entrar en costos de los elementos, esto ayuda a probar los códigos y el funcionamiento del sistema electrónico antes de llevarlo a un caso real.
La comprensión de los sistemas de control y algunos conceptos, fué más comprensible a través de las simulaciones y ejercicios propuestos.
Quedan pendientes los diagramas de bloques, de los sistemas simulados para incorporar algunos conceptos de un sistema de control.