在遊戲設計時﹐為了增加可玩性,最好就是加入隨機的元素。在Arduino中也有隨機的指令random()
random()指令有兩種用法:random(max)或者 random(min, max),以下為例子:
number=random(300); ==> number的結果為0~299
number=random(100,300); ==> number的結果為100~299
用Serial monitor顯示一個1~34的變數,每5秒更新一次
雖然單用random(300)指令可以得到隨機數字,但當你斷電重開同一段程式時會發現隨機的結果會和之前的一樣!
其原因是Arduino的隨機生成值是參照某組固定數。要做到真正的隨機我們需要加入一個指令randomSeed(),其使用方法就是加入一隻沒有連接的analog pin,例如
randomSeed(analogRead(A5));
即參考A5腳位的值生成亂數,由於A5沒有連接任何東西是會被空氣中的雜訊干擾,故就能生成隨機的亂數了。
以lv0的練習題加入randomSeed(),用Serial monitor顯示一個1~34的變數,每5秒更新一次
設定三個變數rnd_R、rnd_G、rnd_B,分別控制R、G、B燈開或關,每5秒更新一次
*先想想,rnd_R、rnd_G、rnd_B只需要控制開或關,那麼數值的範圍應該需要多大?
在1b的基礎上,加入當按下紅色按鈕才會更新一次顏色,不按下就不更新顏色
在1c的基礎上,把顯示的位置由LED改為任意一顆WS2812B
*要使用WS2812B﹐你需要以下的基礎指令和strip.setPixelColor();,可以參考2.4章如何在example上copy出來