接棒樂

使用chatgpt,以arduino為例,幫我們寫一個按下按鈕就可以隨機讓八個伺服馬達轉動的範例。

我們需要他的隨機取取數的函數

void moveServosInRandomOrder() {

  int order[8];

 

  // 生成07的隨機順序

  for (int i = 0; i < 8; i++) {

    order[i] = i;

  }

  for (int i = 0; i < 8; i++) {

int j = random(i, 8);

int temp = order[i];

order[i] = order[j];

order[j] = temp;

  }

我們再轉化成LinkIt7697的積木函數

功能:

程式:

我需要兩陣列,個別儲存掉落的順序,另一個儲存sg90的腳位

透過程式碼來改變掉落的順序

藍芽面板設計與變數宣告

設定初始角度

手機APP初始化與釋放鍵、reset按鍵的功能



測試伺服馬達是否可以在30度與170度做切換

檢測是否每一次都是隨機掉落

Sreial Port print 序列埠檢查,列印出來直接檢測

要使用 Serial Port Print就必須指定初始化port

處理slider bar變數

這裡是利用Serial Port pint檢查每一次是否都是亂數掉落

然後發現randomArray[5]永遠都是最後一個掉落

解決最後一根都是固定的問題

自己寫一個swap,建立一個新的變數m,m的值是隨機存取0-4的整數

接下來做swap,就是c++裡慣用的技巧

temp=a

a=b

b=temp

讓伺服馬達動起來

趣味程式

前面四根亂數順序掉落,剩下的一次掉,讓人措手不及