Ro car 程式設計
單元二、LED 燈廣告燈號
1
<一>功能要求:
讓 RoCar LED 燈隨設定變化,跑出亮燈的顯示
功能一:全部亮滅 3 次
功能二:單顆 LED 燈左、右移
功能三:雙顆 LED 燈左、右移
功能四:三顆 LED 燈左、右移
功能五:全部亮滅 3 次
<二>程式指令說明:
Dim WithEvents rc As New vRobots.RoCar01→將 rc 定為參考物件
○1 rc.LEDsOut(1, 255) ---8顆LED全亮
○2 rc.LEDsOut(1, 0) ---8顆LED全滅
○3 Do Until a For a = 0 To 7 rc.LEDsOut(1, 2 ^ a) rc.WaitN(500) Next
---1顆LED左.右旋迴圈
For a = 7 To 0 Step -1 rc.LEDsOut(1, 2 ^ a) rc.WaitN(500) Next
Loop
2
○3 Do Until b For b = 0 To 6
rc.LEDsOut(1, 3 * 2 ^ b) rc.WaitN(500)
Next
---2顆LED左.右旋迴圈
For b = 6 To 0 Step -1 rc.LEDsOut(1, 3 * 2 ^ b) rc.WaitN(500)
Next Loop
○4 Do Until c For c = 0 To 5
rc.LEDsOut(1, 7 * 2 ^ c) rc.WaitN(500)
Next
---3顆LED左.右旋迴圈
For c = 5 To 0 Step -1 rc.LEDsOut(1, 7 * 2 ^ c) rc.WaitN(500)
Next Loop
○5 rc.WaitN(500) ---延遲 0.5 杪
<三>程式碼:
Dim WithEvents rc As New vRobots.RoCar01
Dim a, b, c As Integer rc.LEDsOut(1, 255) rc.WaitN(500) rc.LEDsOut(1, 0) rc.WaitN(500) rc.LEDsOut(1, 255) rc.WaitN(500) rc.LEDsOut(1, 0) rc.WaitN(500) rc.LEDsOut(1, 255) rc.WaitN(500) rc.LEDsOut(1, 0)
rc.WaitN(500) Do Until a For a = 0 To 7 rc.LEDsOut(1, 2 ^ a) rc.WaitN(500) Next
For a = 7 To 0 Step -1 rc.LEDsOut(1, 2 ^ a) rc.WaitN(500) Next
Loop
3
Do Until bFor b = 0 To 6
rc.LEDsOut(1, 3 * 2 ^ b) rc.WaitN(500)
Next
For b = 6 To 0 Step -1 rc.LEDsOut(1, 3 * 2 ^ b) rc.WaitN(500)
Next Loop
Do Until c For c = 0 To 5
rc.LEDsOut(1, 7 * 2 ^ c) rc.WaitN(500)
Next
For c = 5 To 0 Step -1
rc.LEDsOut(1, 7 * 2 ^ c) rc.WaitN(500)
Next Loop
rc.LEDsOut(1, 255) rc.WaitN(500) rc.LEDsOut(1, 0) rc.WaitN(500) rc.LEDsOut(1, 255) rc.WaitN(500) rc.LEDsOut(1, 0) rc.WaitN(500) rc.LEDsOut(1, 255) rc.WaitN(500) rc.LEDsOut(1, 0) rc.WaitN(500)
<四>結論及心得:
我們以簡單的迴圈程式來控制 LED 閃爍的方式,可以節省了許多的程式行 數,且也達到了我們想要的閃爍方式,以後只要將 LED 的排列方式調整一下就可 以使 LED 閃爍的更漂亮。