The reason that I like VB as a Programming Environment is the ease with which you can make it look nicer or Enhance the Display if you want to sound fancier about it.
If we take the Red LED - Green LED Program, we can another couple of features which show the beginnings of what might appear in a mimic panel. So the first thing we would do is to add a couple of Shapes (another type of VB Object).
We put a shape beside the Red Control buttons then set the properties to :-Shape = circle
Fillcolor = Red
Bordercolor = red
Name = Red_Circle
Do the same for the second, green, shape.
Then we edit the VB code
Private Sub Red_Off_Click()
MSComm1.Output = "r" ' Sends r Switch off Red
Red_Circle.FillColor = vbWhite ' Changes the fillcolor to white
End Sub
Private Sub Red_On_Click()
MSComm1.Output = "R" ' Sends R Switch on Red
Red_Circle.FillColor = vbRed
End Sub
Running the Program now gives an improved display.
The important thing now, is that we don't need to do anything to the Arduino Code. Any changes now can all happen in the VB Environment.
You can do all kind of things such as hiding an "On" button after it's been pressed, so that you can't press it again by mistake. Then "Show" the On Button after you press the "Off" button.
Another idea is to set a single button as a "Toggle" button.
For the Red LED, the logic is to
look at the Fillcolor
If the fillcolor is red (ie it is on)
set the fillcolor to white (switch it off)
else ( what you do if the fillcolor is NOT red )
set the fillcolor to red (ie switch it off)
end if ( this ends any code caused by the earlier If condition )
What will this look like in VB Code?
Private Sub Red_Toggle_Click()
If Red_Circle.FillColor = vbRed Then ' Red LED is already on
MSComm1.Output = "r" ' Sends r Switch off Red
Red_Circle.FillColor = vbWhite ' changes the light to white / off
Else ' what to do if red LED is NOT on
MSComm1.Output = "R" ' Sends R Switch on Red
Red_Circle.FillColor = vbRed ' changes the light to Red / on
End If ' finishes of the "If" condition
End Sub
This is a lot easier to build in VB. It has taken me a full day to create two buttons to switch on and off an led and I have still to make the button change colour to show the status on the screen.
ReplyDelete