0% encontró este documento útil (0 votos)
32 vistas5 páginas

Proyecto Final

Cargado por

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

Proyecto Final

Cargado por

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

Proyecto Final.

Parte 1
Elabore una aplicación GUI que simule el sistema de control de una planta de procesamiento X que se encarga de censar los valores de temperatura,
humedad, niveles de gas dentro de la planta y en caso de que alguno de esos valores supere los niveles máximos permitidos entonces se encienda un
extractor de aire para disminuir la temperatura, extraer la humedad o disipar los gases en la planta.
Al iniciar el programa de solo debe estar habilitado el CmboBox y el botón Btn_conectar.

ComboBox: CB_puertos Button: Btn_conectar

TextBox: TB_gas TextBox: TB_tem TextBox: TB_hum TextBox: TB_vel

VScrollBar:VSB_gas VScrollBar:VSB_tem VScrollBar:VSB_tem VScrollBar:VSB_vel

Button: Btn_enviar_datos

TextBox: TB_rgas TextBox: TB_rtem TextBox: TB_rhum TextBox: TB_rvel

Una vez conectado el puerto, se debe habilitar los TextBox y VScrollBars de la sección Valores Permitidos y el botón Btn_enviar_datos (Establecer valores
en la planta).
Los TextBox de la sección de “Valores Recibidos” permanecerán deshabilitados y sólo mostrarán los datos recibidos de los censores correspondientes
ubicados en la “planta”.
Proyecto Final.

Parte 2: Programar los eventos de los elementos de interface gráfica.


1. Evento Load del Form1 deberá Inicializar la lista de Items del ComboBox CB_puertos
CB_puertos.[Link]("Selecciona un puerto")
For Each puerto As String In [Link]
CB_puertos.[Link](puerto)
Next
CB_puertos.SelectedIndex = 0
CB_puertos.Text = CB_puertos.SelectedItem

Si hay puertos conectados establecer valores a las propiedades de los elementos de interface siguientes
- Btn_conectar.Text = "Conectar".
- Deshabilitar los siguientes componentes TB_gas, TB_tem, TB_hum, TB_vel, VSB_gas, VSB_tem, VSB_tem, VSB_Vel,
TB_rgas, TB_rtem, TB_rhum, TB_rvel y Btn_enviar_datos.
-Establecer la propiedad LargeChange de los controles VSrollBar en 1.
-Establecer la propiedad Text en “0” y la propiedad TextAlign a la derecha ([Link]) a los controles
siguientes: TB_gas, TB_tem, TB_hum, TB_vel, TB_rgas, TB_rtem, TB_rhum, TB_rvel.

2. El evento TextChenged de los componetes TextBox TB_gas, TB_tem, TB_hum y TB_vel deberán ser programados bajo los
siguientes criterios.
Si la propiedad Text es numérica entonces
Si el valor entero de la propiedad Text se encuentra entre 0 y 100
asignar su valor a la propiedad Value del correspondiente VScrollBar
sino
desplegar un mensaje que indique que el valor debe ser entre 0 y 100
finsi
sino
desplegar un mensaje que indique que el valor debe ser el valor debe ser numérico"
finsi

3. El evento Scroll de los controles VSB_gas, VSB_tem, VSB_hum y VSB_Vel deberán asignar el valor de la propiedad Value a la
propiedad Text de su correspondiente TextBox.

4. El evento click de Btn_enviar_datos


Defina la variable datos_enviados como String
datos_enviados = "G" & TB_gas.Text & " T" & TB_tem.Text & " H" & TB_hum.Text & " V" & tb_veL.Text
Establezca el valor de la propiedad Text de Label12 con el siguiente valor "Datos enviados: " & datos_enviados

5. El evento click de Btn_conectar deberá programarse bajo los siguientes lineamientos:


Si e valor de la propiedad Text de Btn_conectar es "Conectar" entonces
Si selecciono un puerto válido entonces
Establecer los valores de las propiedades del puerto SP_puerto.PortName = CB_puertos.SelectedItem,
SP_puerto.BaudRate = 9600, SP_puerto.StopBits = [Link], SP_puerto.DataBits = 8 y SP_puerto.Parity
= [Link]
Abrir el puerto SP_puerto.Open()
Habilitar los siguientes elementos TB_gas, TB_tem,TB_hum, tb_veL, VSB_gas, VSB_tem, VSB_hum, VSB_veL y
Btn_enviar_datos
Cambiar el valor de la propiedad Text de Btn_conectar a "Desconectar"
Sino
desplegar el mensaje "Seleccione un puerto serie")
Establecer el enfoque a CB_puertos
Finsi
sino
Cerrar el puerto
Cambiar el valor de la propiedad Text de Btn_conectar a "Conectar"
Deshabilitar los componentes TB_gas, TB_tem, TB_hum, tb_veL, VSB_gas, VSB_tem, VSB_hum, VSB_veL y
Btn_enviar_datos
Establecer la propiedad Text en “0” de los controles siguientes: TB_gas, TB_tem, TB_hum, TB_vel, TB_rgas, TB_rtem,
TB_rhum, TB_rvel.
Fin si
Parte 3. Genere el proyecto [Link] en Arduino con el siguiente código
String inputString= "";
float sensor_tem, sensor_hum, sensor_gas, velocidad, incremento, retardo;
int var = 0;
bool stringComplete = false, encendido=false, lectura_corecta = true;

//int operador1=0, operador2=0;


void setup() {
[Link](9600);
}

void loop() {
char vectorChar[20];
if (encendido){
if (var == 6 && lectura_corecta){
var = 0;
[Link]("T");
[Link](sensor_tem);
[Link](" H");
[Link](sensor_hum);
[Link](" G");
[Link](sensor_gas);
[Link](" V");
[Link](velocidad);
[Link](" I");
[Link](incremento);
[Link](" D");
[Link](retardo);
}
}
}

void serialEvent(){
char vectorChar[20];
char inChar;
while([Link]()){
if (!encendido) encendido = true;
inChar=(char)[Link]();
if(isSpace(inChar)){
[Link](vectorChar,20);
if(var == 0){
sensor_tem = atoi(vectorChar);
var++; }
else if(var == 1){
sensor_hum = atoi(vectorChar);
var++; }
else if(var == 2){
sensor_gas = atoi(vectorChar);
var++;
}
else if(var == 3){
velocidad = atoi(vectorChar);
var++;
}
else if(var == 4){
incremento = atoi(vectorChar);
var++;
}
else if(var == 5){
retardo = atoi(vectorChar);
var++;
}
inputString="";
}
else
inputString+= inChar;
}
}
Proyecto Final
Parte 4 – Diseño del circuito electrónico.
Construir un dispositivo electrónicos que incluya los siguientes componentes:
Diseño de electrónico:
Requerimientos:
Placa Arduino: UNO
PROTOBOARD
Sensor MQ3
Sensor de Temperatura y Humedad DHT11
Motor DC MOT-050
Transistor MPS 2222A
Resistencia 220omhs 1/2w
Cable USB A-B
Cables tipo Dupont
Software Arduino. ( descargar desde [Link]

Modo de conexión del sensor:

Mot-050
Pin VCC 5v Protoboard
Pin Colector (3) MPS2222A

Modo de conexión del transistor MPS2222A:

Transistor MPS2222A Placa Arduino


Pin 1 GND
Pin 2 a D3~ de Arduino mediante R220Ω
Pin 3 Pin mot-050

Modo de conexión del sensor MQ3 al dispositivo Arduino:


Sensor MQ3
Pin VCC a 5v
Pin GND GND
Pin AO (Analogic Output) Pin AnalogicInput: A0

Modo de conexión del sensor MHT11:


sensor MHT11
Pin VCC a 5v
Pin GND GND
Pin Output Pin a D5~
Codificacion de para el uso de los sensores MQ3, DHT11 y el motor

En esta etapa debe programar en Arduino que lea las señales digitales o analógicas de los sensores: MQ3, DHT11 y en función
de ciertos parámetros de valores mínimos y máximos, que se establezcan para ambos sensores, vía puerto serie encienda el
motor mot-050 a una velocidad que será establecida.

Considere el siguiente segmento de código para definir las directivas del compilador para declarar los identificadores y/o
librerías asociados a los sensores y el motor.

Las siguientes sentencias leerán desde los censores la temperatura, humedad y concentración de gases. Agregue estas acciones
dentro de la función loop:

Agregar al final del código de Arduino las siguientes funciones

También podría gustarte