Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Juego de Luces Controlado por Computadora (página 2)




Enviado por jaimemontoya



Partes: 1, 2, 3

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:

  1. El archivo
    inpout32.dll debe ubicarse en C:Windowssystem para Windows Vista o en
    C:Windowssystem32 para Windows
    XP.
  2. 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.
  3. 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:
  1. Dim song =
    AxWindowsMediaPlayer.newMedia("C:UsersJaime
    MontoyaDesktopPort_Testingmyresourcesfocosazulesencendidos.mp3")
  2. Dim song =
    AxWindowsMediaPlayer.newMedia("C:UsersJaime
    MontoyaDesktopPort_Testingmyresourcesfocosrojosencendidos.mp3")
  3. Dim song =
    AxWindowsMediaPlayer.newMedia("C:UsersJaime
    MontoyaDesktopPort_Testingmyresourcesfocosamarillosencendidos.mp3")
  4. Dim song =
    AxWindowsMediaPlayer.newMedia("C:UsersJaime
    MontoyaDesktopPort_Testingmyresourcesfocosverdesencendidos.mp3")
  1. Parallel Port Monitor

    (c) 1997-2002 Fred Bulback

    email:
    fred[arroba]geekhideout.com

    url:

  2. 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:
  3. 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

 

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter