DETALLES TÉCNICOS PRELIMINARES
Este programa está desarrollado en Visual Basic 2005, pero para su correcto funcionamiento y si se desea modificar el código fuente, deben tomarse en cuenta los siguientes detalles técnicos:
- El archivo inpout32.dll debe ubicarse en C:Windowssystem para Windows Vista o en C:Windowssystem32 para Windows XP.
- Teniendo instalado Windows Media Player, debe habilitarse para que pueda interactuar con Visual Basic 2005. Para ello se deben seguir estos pasos: ir al menú Herramientas, Elegir elementos del cuadro de herramientas…, luego en la pestaña Componentes COM buscar Windows Media Player y ponerle el cheque de selección. Al tener instalado Windows Media Player, automáticamente el archivo DLL necesario se encuentra en C:Windowssystem32wmp.dll.
- Si se quiere ejecutar el programa en diferentes computadoras, el código del botón playmusicButton se debe actualizar de acuerdo a la ruta de dirección de los archivos de sonido, específicamente en las siguientes cuatro líneas de código:
- Dim song = AxWindowsMediaPlayer.newMedia("C:UsersJaime MontoyaDesktopPort_Testingmyresourcesfocosazulesencendidos.mp3")
- Dim song = AxWindowsMediaPlayer.newMedia("C:UsersJaime MontoyaDesktopPort_Testingmyresourcesfocosrojosencendidos.mp3")
- Dim song = AxWindowsMediaPlayer.newMedia("C:UsersJaime MontoyaDesktopPort_Testingmyresourcesfocosamarillosencendidos.mp3")
- Dim song = AxWindowsMediaPlayer.newMedia("C:UsersJaime MontoyaDesktopPort_Testingmyresourcesfocosverdesencendidos.mp3")
Parallel Port Monitor
(c) 1997-2002 Fred Bulback
email: fred[arroba]geekhideout.com
url:
- Verificar que los resultados del programa son correctos y que la comunicación con el puerto paralelo se está haciendo realmente y tal como aparece en las imágenes de las fotos en el programa creado en Visual Basic 2005. Para ello, en vez de medir voltajes en los pines, resulta muy práctico verificar el buen funcionamiento con un programa como el siguiente:
- El objeto Timer1 debe estar inicialmente con la propiedad Enabled en False, pues el conteo binario con los focos no se debe iniciar sino hasta que se haga clic en el botón Contador Binario.
FUNCIONAMIENTO DEL PROGRAMA
Al iniciar el programa, aparecerá la siguiente pantalla:
Al hacer clic en el botón Clic On/Off, los focos se encenderán y apagarán al hacer clic sobre ellos. Si el foco está apagado y se hace clic sobre él, se encenderá, y si el foco estuviera encendido y se hiciera clic sobre él, se apagará. Cuando un foco tenga el fondo blanco y un cero debajo de él, significa que está apagado. Cuando un foco tenga fondo anaranjado y un uno sobre él, significa que está encendido. Por ejemplo, luego de encender los focos amarillos y verdes (haciendo clic sobre ellos), se tendrá lo siguiente:
Al hacer clic sobre el botón Contador Binario, se inicializará un conteo binario con los focos, comenzando desde 0 hasta terminar en 255 (11111111 en sistema binario y FF en sistema hexadecimal). Cada segundo se dará un incremento en uno del conteo. Cuando se llegue a 255, se reinicia el contador y sigue el conteo indefinidamente hasta que se ejecute una acción que detenga la cuenta. Si la velocidad es Normal, el incremento en el conteo se irá dando cada segundo; con velocidad Lenta, el incremento en el conteo será cada dos segundos; si la velocidad seleccionada es Rápido, el incremento en el conteo se irá dando cada medio segundo. Por ejemplo, cuando el contador vaya en 157 (10011101 binario y 9D hexadecimal), se verá de esta forma:
El botón Encender Focos simplemente encenderá los ocho focos:
Lo que hará el botón Apagar Focos es simplemente apagar todos los focos:
Al hacer clic sobre el botón Play, se encenderán los focos del color que esté seleccionado en los botones de radio. A la vez, el botón Play de Windows Media Player se activará. Por ejemplo, si estuviera seleccionado el color Rojo y se hiciera clic en el botón Play, encenderían los focos Rojos y se activaría el botón Play de Windows Media Player:
Luego al hacer clic sobre el botón Play de Windows Media Player, se escuchará que los focos rojos están encendidos (rojos en este caso, pues dependiendo de los focos que se encuentren encendidos, ese color dirá la grabación de sonido):
Haciendo clic en el botón Stop, se deshabilitará el sonido, se apagarán todos los focos, y el usuario podrá hacer clic sobre el botón Play y encender otra pareja de focos de otro color, o hacer clic sobre cualquiera de los botones que se muestran en la parte inferior del formulario.
El botón Ayuda mostrará una ventana de ayuda sobre el uso del programa:
El botón Acerca de mostrará la siguiente ventana:
CÓDIGO DEL PROGRAMA
CÓDIGO DEL FORMULARIO acercadeForm.vb
Public Class acercadeForm
Private Sub cerrarButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cerrarButton.Click
Me.Close() 'Cerrar formulario actual.
End Sub
End Class
CÓDIGO DEL FORMULARIO ayudaForm.vb
Public Class ayudaForm
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close() 'Cerrar formulario actual.
End Sub
End Class
CÓDIGO DEL FORMULARIO Form1.vb
Option Strict Off
Option Explicit On
Module InpOut32_Declarations
'Inp and Out declarations for port I/O using inpout32.dll.
Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Short) As Short
Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Short, ByVal Value As Short)
End Module
Module variables 'Para declarar variables globales que se van a utilizar al programar.
Public binary378port As String 'Variable para almacenar en una cadena el valor binario del puerto 378 del puerto paralelo.
Public valordecimal As Integer 'Variable para almacenar el resultado de la conversión de binario a decimal.
Public valorshort As Short 'Variable para almacenar en tipo Short el resultado de la conversión de decimal a hexadecimal.
Public contadorfoco7 As Integer 'Variable para controlar el conteo binario con el foco 7.
Public contadorfoco6 As Integer 'Variable para controlar el conteo binario con el foco 6.
Public contadorfoco5 As Integer 'Variable para controlar el conteo binario con el foco 5.
Public contadorfoco4 As Integer 'Variable para controlar el conteo binario con el foco 4.
Public contadorfoco3 As Integer 'Variable para controlar el conteo binario con el foco 3.
Public contadorfoco2 As Integer 'Variable para controlar el conteo binario con el foco 2.
Public contadorfoco1 As Integer 'Variable para controlar el conteo binario con el foco 1.
End Module
Public Class Form1
Private Sub bulb1off_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb1off.Click
bulb1on.Visible = True
bulb1off.Visible = False
Label1.Text = "1"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb1on_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb1on.Click
bulb1off.Visible = True
bulb1on.Visible = False
Label1.Text = "0"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb2on_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb2on.Click
bulb2off.Visible = True
bulb2on.Visible = False
Label2.Text = "0"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb3on_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb3on.Click
bulb3off.Visible = True
bulb3on.Visible = False
Label3.Text = "0"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb4on_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb4on.Click
bulb4off.Visible = True
bulb4on.Visible = False
Label4.Text = "0"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb5on_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb5on.Click
bulb5off.Visible = True
bulb5on.Visible = False
Label5.Text = "0"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb6on_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb6on.Click
bulb6off.Visible = True
bulb6on.Visible = False
Label6.Text = "0"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb7on_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb7on.Click
bulb7off.Visible = True
bulb7on.Visible = False
Label7.Text = "0"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb8on_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb8on.Click
bulb8off.Visible = True
bulb8on.Visible = False
Label8.Text = "0"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb2off_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb2off.Click
bulb2on.Visible = True
bulb2off.Visible = False
Label2.Text = "1"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb3off_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb3off.Click
bulb3on.Visible = True
bulb3off.Visible = False
Label3.Text = "1"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb4off_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb4off.Click
bulb4on.Visible = True
bulb4off.Visible = False
Label4.Text = "1"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb5off_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb5off.Click
bulb5on.Visible = True
bulb5off.Visible = False
Label5.Text = "1"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb6off_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb6off.Click
bulb6on.Visible = True
bulb6off.Visible = False
Label6.Text = "1"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb7off_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb7off.Click
bulb7on.Visible = True
bulb7off.Visible = False
Label7.Text = "1"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub bulb8off_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bulb8off.Click
bulb8on.Visible = True
bulb8off.Visible = False
Label8.Text = "1"
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
azulRadioButton.Select() 'Para que al cargar el formulario aparezca predeterminadamente seleccionado el color azul.
normalRadioButton.Select() 'Para que al cargar el formulario aparezca predeterminadamente seleccionada la velocidad Normal para el conteo binario.
'Se deshabilitan todos los PictureBox al cargar el formulario.
bulb1on.Enabled = False
bulb1off.Enabled = False
bulb2on.Enabled = False
bulb2off.Enabled = False
bulb3on.Enabled = False
bulb3off.Enabled = False
bulb4on.Enabled = False
bulb4off.Enabled = False
bulb5on.Enabled = False
bulb5off.Enabled = False
bulb6on.Enabled = False
bulb6off.Enabled = False
bulb7on.Enabled = False
bulb7off.Enabled = False
bulb8on.Enabled = False
bulb8off.Enabled = False
End Sub
Private Sub contadorbinarioButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles contadorbinarioButton.Click
'Reiniciar variables públicas o globales que coordinan el conteo binario con los focos.
contadorfoco7 = 0
contadorfoco6 = 0
contadorfoco5 = 0
contadorfoco4 = 0
contadorfoco3 = 0
contadorfoco2 = 0
contadorfoco1 = 0
'Si está seleccionada velocidad lenta para el conteo binario.
If lentoRadioButton.Checked = True Then
Timer1.Interval = 2000
End If
'Si está seleccionada velocidad normal para el conteo binario.
If normalRadioButton.Checked = True Then
Timer1.Interval = 1000
End If
'Si está seleccionada velocidadd rápida para el conteo binario.
If rapidoRadioButton.Checked = True Then
Timer1.Interval = 500
End If
'Para quitar sonidos cargados previamente (si es que los hay).
If AxWindowsMediaPlayer.currentPlaylist.count > 0 Then 'Si existiera música cargada, con la siguiente línea se quita.
AxWindowsMediaPlayer.currentPlaylist.removeItem(AxWindowsMediaPlayer.currentMedia)
End If
'Para que no estén activados los botones stopmusicButton y playmusicButton a la vez, sino que solamente uno de los dos.
playmusicButton.Enabled = True
stopmusicButton.Enabled = False
'Se deshabilita el Timer1 para detener el conteo binario (reiniciarlo).
Timer1.Enabled = False
'Se ponen visibles todos los PictureBox con foto de foco apagado y se ponen invisibles todos los PictureBox con foto de foco encendido (para reiniciar el sistema de luces o resetearlo). Se ponen todos los Label en "0".
bulb1off.Visible = True
bulb1on.Visible = False
Label1.Text = "0"
bulb2off.Visible = True
bulb2on.Visible = False
Label2.Text = "0"
bulb3off.Visible = True
bulb3on.Visible = False
Label3.Text = "0"
bulb4off.Visible = True
bulb4on.Visible = False
Label4.Text = "0"
bulb5off.Visible = True
bulb5on.Visible = False
Label5.Text = "0"
bulb6off.Visible = True
bulb6on.Visible = False
Label6.Text = "0"
bulb7off.Visible = True
bulb7on.Visible = False
Label7.Text = "0"
bulb8off.Visible = True
bulb8on.Visible = False
Label8.Text = "0"
'Se deshabilitan todos los PictureBox al inicializar el contador binario.
bulb1on.Enabled = False
bulb1off.Enabled = False
bulb2on.Enabled = False
bulb2off.Enabled = False
bulb3on.Enabled = False
bulb3off.Enabled = False
bulb4on.Enabled = False
bulb4off.Enabled = False
bulb5on.Enabled = False
bulb5off.Enabled = False
bulb6on.Enabled = False
bulb6off.Enabled = False
bulb7on.Enabled = False
bulb7off.Enabled = False
bulb8on.Enabled = False
bulb8off.Enabled = False
'Se habilita el Timer1 para inicializar el conteo binario.
Timer1.Enabled = True
'Timer2andonactivation.Enabled = True
End Sub
Private Sub cliconoffButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cliconoffButton.Click
'Para quitar sonidos cargados previamente (si es que los hay).
If AxWindowsMediaPlayer.currentPlaylist.count > 0 Then 'Si existiera música cargada, con la siguiente línea se quita.
AxWindowsMediaPlayer.currentPlaylist.removeItem(AxWindowsMediaPlayer.currentMedia)
End If
'Para que no estén activados los botones stopmusicButton y playmusicButton a la vez, sino que solamente uno de los dos.
playmusicButton.Enabled = True
stopmusicButton.Enabled = False
'Se deshabilita el Timer1 para detener el conteo binario (por si estuviera activado).
Timer1.Enabled = False
'Se ponen visibles todos los PictureBox con foto de foco apagado y se ponen invisibles todos los PictureBox con foto de foco encendido (para reiniciar el sistema de luces o resetearlo). Se ponen todos los Label en "0".
bulb1off.Visible = True
bulb1on.Visible = False
Label1.Text = "0"
bulb2off.Visible = True
bulb2on.Visible = False
Label2.Text = "0"
bulb3off.Visible = True
bulb3on.Visible = False
Label3.Text = "0"
bulb4off.Visible = True
bulb4on.Visible = False
Label4.Text = "0"
bulb5off.Visible = True
bulb5on.Visible = False
Label5.Text = "0"
bulb6off.Visible = True
bulb6on.Visible = False
Label6.Text = "0"
bulb7off.Visible = True
bulb7on.Visible = False
Label7.Text = "0"
bulb8off.Visible = True
bulb8on.Visible = False
Label8.Text = "0"
'Se habilitan todos los PictureBox.
bulb1on.Enabled = True
bulb1off.Enabled = True
bulb2on.Enabled = True
bulb2off.Enabled = True
bulb3on.Enabled = True
bulb3off.Enabled = True
bulb4on.Enabled = True
bulb4off.Enabled = True
bulb5on.Enabled = True
bulb5off.Enabled = True
bulb6on.Enabled = True
bulb6off.Enabled = True
bulb7on.Enabled = True
bulb7off.Enabled = True
bulb8on.Enabled = True
bulb8off.Enabled = True
'De aquí en adelante es la parte de programación para mandar valores al puerto paralelo.
binary378port = Label1.Text + Label2.Text + Label3.Text + Label4.Text + Label5.Text + Label6.Text + Label7.Text + Label8.Text
'Se convierte el valor binario contenido en la variable "binary378port" a decimal.
valordecimal = 0
For i As Integer = Len(binary378port) To 1 Step -1
valordecimal = valordecimal + Val(Mid(binary378port, i, 1)) * 2 ^ (8 – i) 'Toma el último dígito y lo multiplica por 2 a la cero, luego el penúltimo por 2 a la uno y así sucesivamente, pues se está realizando la conversión de binario a decimal.
Next
'Se convierte el valor decimal (contenido en la variable "valordecimal") al correspondiente hexadecimal en tipo Short.
valorshort = CShort(valordecimal)
'Se manda el valor correspondiente al puerto paralelo para que se enciendan y apaguen los focos correspondientes.
Out(&H378, valorshort) 'En el puerto 378 (valor hexadecimal) del puerto paralelo, se manda como salida el valor hexadecimal contenido en la variable "valorhexadecimal" en tipo Short.
End Sub
Private Sub apagarfocosButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles apagarfocosButton.Click
'Para quitar sonidos cargados previamente (si es que los hay).
If AxWindowsMediaPlayer.currentPlaylist.count > 0 Then 'Si existiera música cargada, con la siguiente línea se quita.
AxWindowsMediaPlayer.currentPlaylist.removeItem(AxWindowsMediaPlayer.currentMedia)
End If
'Para que no estén activados los botones stopmusicButton y playmusicButton a la vez, sino que solamente uno de los dos.
playmusicButton.Enabled = True
stopmusicButton.Enabled = False
'Se deshabilitan todos los PictureBox.
bulb1on.Enabled = False
bulb1off.Enabled = False
bulb2on.Enabled = False
bulb2off.Enabled = False
bulb3on.Enabled = False
bulb3off.Enabled = False
bulb4on.Enabled = False
bulb4off.Enabled = False
bulb5on.Enabled = False
bulb5off.Enabled = False
bulb6on.Enabled = False
bulb6off.Enabled = False
bulb7on.Enabled = False
bulb7off.Enabled = False
bulb8on.Enabled = False
bulb8off.Enabled = False
'Se deshabilita el Timer1 para detener el conteo binario (por si estuviera activado).
Timer1.Enabled = False
Página anterior | Volver al principio del trabajo | Página siguiente |