I'm taking an infrared sensor, and connecting it to a microcontroller. The microcontroller will read the input of the sensor (whether it's broke or not) and then decide what it needs to do.
Here's how it's SUPPOSED to work together:
You choose how many laps of qualifying you would want to do on the VB program. 1 lap or 2 laps. The VB program will then send a string to the microcontroller saying whether it's 1 or 2 laps. Next, the microcontroller checks to make sure the infrared is not broke, and it's reflecting off of the reflector. If it is reflecting, the program will wait until the infrared beam is broke. Now it will send a string to the VB program. The VB program will decide what that string is supposed to mean. (Start or Stop the timer). The problem I'm having is getting the VB program to receive the data being sent, and doing something with it. Here is the code i'm using to send data to the microcontroller:
Expand|Select|Wrap|Line Numbers
- Private WithEvents serialPort As New IO.Ports.SerialPort
- serialPort.Write("1") ' ThPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- If serialPort.IsOpen Then
- serialPort.Close()
- End If
- Try
- With serialPort
- .PortName = "COM5"
- .BaudRate = 9600
- .Parity = IO.Ports.Parity.None
- .DataBits = 8
- .StopBits = IO.Ports.StopBits.One
- .Handshake = IO.Ports.Handshake.None
- End With
- serialPort.Open()
- Catch ex As Exception
- MsgBox(ex.ToString)
- End Try
- End Sub
- Private Sub OneLap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OneLap.Click
- 'When you click OneLap it will show a bunch of labels, and other buttons.
- PictureBox2.Visible = True
- Label1.Visible = False
- Button1.Visible = False
- Button2.Visible = False
- Button3.Visible = True
- OneThousandths.Visible = True
- OneHundredths.Visible = True
- OneTenths.Visible = True
- OneDP.Visible = True
- OneSeconds.Visible = True
- Button4.Visible = True
- Button6.Visible = True
- Label2.Visible = True
- Label15.Visible = True
- Label16.Visible = True
- CheckBox1.Visible = Truee microcontroller reads "1" as 1 Lap Qualifying
- End Sub
Here's what I need the VB Program to do:
When the Microcontroller sends a string of "1" it needs to start the timer. When it receives the string of "2" it needs to stop the timer.
(if it's two laps)
When the Microcontroller sends a string of "3" it needs to start the Lap One timer. When it Receives the string of "4" it needs to stop the Lap One timer and Start the Lap Two timer. When it receives the string "5" it needs to stop the Lap Two timer.
I am fairly new to this, so how would I do it??
Any help is appreciated!!
-Ryan