100 SIMULANDO SENSOR: Calor
Ing. Honoria Reyes Macedo
INTRODUCCION
Se
trabaja con un proyecto de escritorio en Windows Form de .NET
Entre los controles mas importantes que usa:
Un
Button como apagador, en su evento Click() usa una variable
llamada encendido
para saber si
esta apagado o encendido
Un
Timer que se activa cuando se
presiona el botón apagador. Permite mostrar los movimientos en su evento Tick()
Un
Label que visualiza un contador
cuando esta activo el Timer, con una variable conteo
Un
TrackBar con limite inferior=10 y
superior =400. Su uso es manual y representa el sensor que detecta calor. Usa
su evento Scroll()
y guarda su
valor en una variable llamada lectura.
Un
DataGrid para registrar lo que el
TrackBar vale cada que se ejecuta el Timer, y el horario en que se ejecuta, el
cual guarda en una variable llamada tiempo.
Un
ProgressBar que varia de acuerdo a
los cambios del TrackBar, con cambio de color
de
acuerdo a un límite establecido en código.
* Cada control que se agregue tendrá sus propias propiedades(estilos): nombre, color,
letra, tamaño, y si se necesita texto también como los Labels.
* Cada control tendrá sus eventos al dar doble click sobre ellos como: Click(), Scroll(), Tick() o en la parte de
propiedades en el icono eventos.
Antes
de empezar se deben preparar imagenes del proyecto a usar y colores en RGB, y
hexadecimal.
ACTIVIDADES
1.- Crear proyecto en Aplicacion Windows Form(.NET
Framework)
-
Usar el mnemónico para el nombre de su proyecto y
sus iniciales
![]() |
1.1 Controles a usar y sus propiedades - Ventana (Form)
En la propiedad
Backcolor y FormBorderStyle
En caso de que no se vean las propiedades: Con el mouse derecho sobre la ventana Form seleccionar propiedades
1.2 Crear folders en el proyecto
-
Data
-
Entity
-
Forms
-
img
1.3 Copiar imágenes pequeñas en el folder img con copy y paste
1.4 Controles a usar y sus propiedades, arrastrar desde el
cuadro de herramientas
1.4.1 En
todos poner su nombre en la propiedad
Name: Como en el ejemplo del punto 1.4.2
pnlLogin
pnlInfo
pictBoxLogo
txtBoxUsuario
txtBoxPassword
btnAceptar
lblUsuario
lblPassword
lblInfo (Nombre para el Label de Acerca del proyecto)
Nota: Si no esta abierto el cuadro de herramientas:
1.4.2 En la propiedad Text y TextAlign:
de los Label y Button
1.4.3 En la propiedad BackgroundImage:
del PictureBox
1.5 Agregar Button y en la propiedad Name: btnCerrar
y BackgroundImage: agregar una imagen
1.6 Agregar evento click() a btnCerrar
Con doble
click sobre btnCerrar
Nota: Se podrá cambiar el nombre del evento en la ventana de eventos
Librerías que usará: Observa la linea con flecha amarilla, que indica el nombre del proyecto, punto y el nombre de la carpeta(Forms) que contendrá al formulario que se creara en el siguiente punto.
Compilar y ejecutar, cerrar con el botón del punto 1.5
2.- Crear un formulario llamado FrmPrincipal.cs en la carpeta Forms
Observar lo
subrayado amarillo (el nombre de la clase es el mismo nombre del constructor):
2.1 Controles a usar y sus propiedades, desde el cuadro de herramientas
- En la Ventana (Form)
En la propiedad Text =Nombre del proyecto
2.1.1 Arrastrar un TabControl y agregar tres pestañas:
Calor,
Luz, Presión
2.1.2 En la pestaña de calor en la propiedad Name: tabCalor y backcolor :elegir color
2.2 Controles a usar y sus propiedades, desde el
cuadro de herramientas en tabCalor
2.2.1 En todos en la propiedad Name:
salirToolStripMenuItem (Nombre para el MenuStrip )
dGridVLectura
timerTemporiza
Nota: En el MenuStrip que se arrastra solo escribir Salir
2.2.2 En
todos en la propiedad
Name:
btnON_OFF
lblTemporizador
lblSensor
trackBarSensor
progBarLectura
2.2.3 En
el DataGrid agregar 2 columnas:
Horario,
Lectura(Grados)
2.2.4 En
el Timer agregar un valor mas lento de conteo
En la
propiedad Interval=1000
2.2.5 En
el TrackBar agregar
En la
propiedad Maximo=400, Minimo=10
2.2.6 En
el PregressBar agregar
En la
propiedad Maximo=400, Minimo=10
2.2.7 En el Button agregar:
En la propiedad BackgroundImage poner la imagen
"apagado" copiada en la carpeta img
3.1
Agregar evento Click() al botón btnAceptar
Con doble click sobre el botón
Nota: Se podrá
cambiar el nombre del evento en la ventana de eventos
Quedaría asi: Observar que en la linea numero 1: es el nombre del proyecto y la carpeta Forms que contiene a FrmPrincipal
Compilar y ejecutar
4.- En el formulario FrmPrincipal.cs
Usará las siguientes librerías:
4.1 Agregar evento Click() al menú salir
Con doble click sobre el menu Salir
4.2 Agregar las variables a usar: encendido, conteo, tiempo, lectura
4.3 Crear un método llamado mostrarLectura()
4.4 Agregar un evento Tick() al Timer
4.5 Agregar un evento Scroll() al TrackBar
Con doble click sobre el TrackBar
4.6 Agregar un evento click() al botón
btnON_OFF
Con doble click sobre el boton de apagado/encendido
5. Llenar la barra progresiva
5.1 Crear una clase llamada ModifyProgressBarColor.cs en la carpeta Forms
Quedaría así: Usar sus librerías también
public static class
ModifyProgressBarColor
{
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError
= false)]
static extern IntPtr
SendMessage(IntPtr hWnd, uint Msg, IntPtr w, IntPtr l);
public static void
SetState(this ProgressBar pBar, int state)
{
SendMessage(pBar.Handle, 1040, (IntPtr)state, IntPtr.Zero);
}
}
5.2 Agregar al método llamado mostrarLectura()en FrmPrincipal.cs
la ejecución de la clase creada. Desde la linea 69 hasta la 75
Compilar y ejecutar
PRUEBA
- Con el apagador
APAGADO:
Mover el sensor: Describir que sucede
- Con el apagador
ENCENDIDO
Mover el sensor al límite y apagar:
Describir que sucede
****************************************************************************************
ANEXO
*************SI SE VA A USAR UNA GRAFICA *************************
Usar el control Chart con Nombre = chartLectura
1- UNA LECTURA LLAMADA Ejecutandose
2- SEGUNDA LECTURA LLAMADA Deseable (OPCIONAL)
-Agregar
para Deseable también sus propiedades nombre, chartArea y ChartType
-Escoger el color deseado
3.- AGREGAR EL LLENADO EN LA GRAFICA
Agregar las líneas palomeadas en el metodo mostrarLectura()
-------------------------------------------------------0-----0-----------------------------
-------------------------------------------------000--~--000----------------------------