Skip to main content

RF Remote 遙控器

 # RF Remote 遙控器發射端

--------------------------------------------------------

StartUp 當啟動時()

sendZeroSet搖桿校正

Radio Group 廣播群組設為 = 1

--------------------------------------------------------

Forever 重複無限次()

X1 Y1 = (x,y)

buttonProc按鈕程序

--------------------------------------------------------

KEY D

sendZeroSet搖桿校正

--------------------------------------------------------

buttonProc 按鈕程序()

KEY   1 2 3 45670

--------------------------------------------------------

sendZeroSet 搖桿校正()

X0 Y0 = (x,y)

--------------------------------------------------------




# RF Car 機器人接收端


# Variables 變數定義

----------------------------------------

KEY 0=未按下 1=A,2=B,..34567(按鍵)

X0,Y0 類比搖桿初始位置值

X,Y 類比搖桿移動位置值 X=X1-X0,Y=Y1=Y0

speed = min(abs(Y)*2,1023)

speed_L = speedFitRange(speed+(X*2))

speed_R = speedFitRange(speed-(X*2))

----------------------------------------

# Status Flag 狀態旗標

flag_set_zero 類比搖桿是否有歸零

flag_update 是否有收到更新值

flag_run 馬達是否啟動

----------------------------------------



--------------------------------------------------------

StartUp 當啟動時()

flag_set_zero = false

flag_update   = false

flag_run      = false

Radio Group 廣播群組設為 = 1

--------------------------------------------------------

Forever 重複無限次()

If flag_set_zero

setEnable

If flag_update

If flag_run

speed = min(abs(Y)*2,1023)

speed_L = speedFitRange(speed+(X*2))

speed_R = speedFitRange(speed-(X*2))


Y>32

正轉 = speed_L

正轉 = speed_R

Y<-32

反轉 = speed_L

反轉 = speed_R

If KEY = 3

...

If KEY = 4

setDisable

--------------------------------------------------------

Radio Received 當收到廣播鍵值(name,value) 

If name=X0, 

X0=value

flag_set_zero = true

If name=Y0, 

Y0=value

flag_set_zero = true

If name=X1, 

X=X1-Y0

flag_update = true

If name=Y1, 

Y=Y1-Y0

flag_update = true

--------------------------------------------------------

Radio Received 當收到廣播數字(reveivedNumber)

KEY

--------------------------------------------------------

setEnable()

flag_run = true

--------------------------------------------------------

setDisable()

flag_run = false

--------------------------------------------------------


Comments

Popular posts from this blog

KSB037 Motor Board 馬達板擴充積木

KSB037 Motor Board 馬達板擴充積木 key: makeblock,microbit,motor Description 說明: 使用 KSB037 Motor Board 馬達板擴充積木 https://github.com/edisonchiu/pxt-motor-KSB037 History v0.1 來源版本 https://github.com/lioujj/KSB037 v0.2 修正字串錯誤 Step 步驟: 1. Makeblock -> Advanced -> Add Package 2. 在 Search or enter project URL… 輸入擴充積木網址,      https://github.com/edisonchiu/pxt-motor-KSB037 3. 按下搜尋會出現擴充積木,按下去新增擴充積木 4. 積木區就會出現新的積木可以用了。 KSB037 馬達擴充板 擴充積木測試程式 KSB037_CustomBlock_Test 目的說明: 按下按鈕可以測試馬達和板子是否正常運作 注意事項: 馬達擴充板 外接馬達需要外接電源,且電源開關需要開啟。 馬達擴充板 指撥開關 2,3,4,5 需要在 ON 的狀態。 功能說明: 按 A 左邊馬達往前全速(1023)運轉。 按 B 右邊馬達往前全速(1023)運轉。 按 A+B 兩邊邊馬達同時往前全速(1023)運轉。 以上皆非則馬達停止顯示中心一個點。 micro:bit - KSB037 Motor Simple Test (JavaScript) Source Code 源碼如下:

Maze - Blockly Games

Blockly Games : Maze 1 Question 問題: Solution 解答: moveForward(); moveForward(); Blockly Games : Maze 2 Question 問題: Solution 解答: moveForward(); turnLeft(); moveForward(); turnRight(); moveForward(); Blockly Games : Maze 3 Question 問題: Solution 解答: while (notDone()) {   moveForward(); } Blockly Games : Maze 4 Question 問題: Solution 解答: while (notDone()) {   moveForward();   turnLeft();   moveForward();   turnRight(); } Blockly Games : Maze 5 Question 問題: Solution 解答: moveForward(); moveForward(); turnLeft(); while (notDone()) {   moveForward(); } Blockly Games : Maze 6 Question 問題: Solution 解答: while (notDone()) {   moveForward();   if (isPathLeft()) {     turnLeft();   } } Blockly Games : Maze 7 Question 問題: Solution 解答: while (notDone()) {   moveForward();   if (is

Image Decoder - Grasshopper

  Image Decoder Details 詳細解說: // 宣告變數 img, 型態自動依初始值設為字串 // 設定初始值為存放影像編碼 var img = "ewvveewvvw wiiwiiw webbwbbew weeggweggw ewyyewyyew woowoowe wrreewrrw"; 程式一開始宣告變數 img 存放影像編碼,影像編碼內穿插了 ‘e’ 這個字元符號,這個多餘的字元符號可以是任何沒有使用到的字元都可以替代,例如使用 ‘x’,或是使用兩種以上都可以,不過程式解碼時要記得都要濾掉。 這些多餘的字元符號把原來的圖案弄亂,所以可以讓不知道解碼的人看不出來是什麼圖案。如果我們收到知道如何解碼,可以把 'e' 字元符號去掉(Filter out 'e’),就可以看到原來的圖案了 IMAGE DATA // 原來要顯示的圖樣 空白字元表示換行 var img =      "wvvwvvw wiiwiiw wbbwbbw wggwggw wyywyyw woowoow wrrwrrw" IMAGE DATA ENCODE // 影像編碼內穿插了 ‘e’ 這個字元符號,把原來的圖案弄亂 var img = "ewvveewvvw wiiwiiw webbwbbew weeggweggw ewyyewyyew woowoowe wrreewrrw" // 解碼部分,依序判斷陣列中的字元不為’e’ 則畫出編碼內容方塊 for (var letter of img) {   if (letter !== ‘e’) {     drawBoxes(letter);   } } // 將變數 img 印出,  print(img); 因為我們並沒有改變 img 內容,所以 img 內容仍是含有 ’e’ 字元未解碼的狀態  YOUR CODE // 宣告變數 img, 型態自動依初始值設為字串 // 設定初始值為存放影像編碼 var img = "ewvveewvvw wiiwiiw webbwbbew weeggweggw ewyyewyyew woowo