Kadence

進階範例 03|魔法呼吸燈

題目

請完成一個魔法呼吸燈,可以透過遮住左邊或右邊的光度感測器,改變呼吸的頻率。

怎麼讓 AI 知道我想要什麼?

1. 拆解需求,釐清問題

首先我們需要將題目需求分解成更小的子問題,以便更容易理解和解決。可以將問題分解成以下幾個子問題:

  • 如何控制 LED 呈現呼吸的效果?
  • 如何取得左右兩邊光度感測器的數值?
  • 如何判斷哪一邊的光度感測器被遮住?
  • 如何根據被遮住的那一邊,加快或減慢呼吸燈的頻率?

2. 比對經驗,找出相似

  • 觀察生物呼吸時的特徵,思考如何控制 LED 燈做出類似呼吸的效果。
  • 參考其他人做好的 LED 燈呼吸效果,觀察呼吸頻率的變化規律,了解如何透過 LED 亮度的漸變和時間間隔,創造類似生物呼吸的效果。

3. 提取核心,化繁為簡

  • 將問題中的細節和不必要的元素去除,例如 LED 的顏色、光度感測器被遮住的次數、怎麼施展魔法 ( 誤 )……等,專注於控制 LED 呼吸的效果以及偵測光感的變化,進而調整呼吸燈的頻率。
  • 找到「判斷哪一邊的光度感測器被遮住」的一般性規則。偵測哪一邊的亮度等於 0 ,這是其中一種方法。但這個方法相對嚴格,沒有涵蓋所有其中一邊被遮住的情境。比方說當手只是輕輕揮過左邊光度感測器,光度就不會剛好等於 0。更合適的方法是去判斷哪一邊的光度小於另一邊,例如當左邊的光度小於右邊,我們就知道是左邊被遮住了。

4. 精準表達,轉譯需求

最後,我們需要將需求翻譯成 AI 比較好理解的語言,以下是其中一種表達方式:

我們可以告訴 AI 這樣做

-每隔0.5秒時間間隔,全部25LED顆燈同時從暗到亮,再從亮到暗,重複無限次
-根據左右光感值的差異,改變時間間隔。如果左邊光感值小於右邊,則增加時間間隔;如果右邊光感值小於左邊,則減少時間間隔

使用範例 >>

將產生的程式碼,部署到 Web:Bit 開發板,就可以完成這樣的效果囉!

延伸思考

  1. 如果想要改變呼吸燈的顏色,你可以怎麼問 AI?
  2. 如果想要控制呼吸燈的頻率在一定範圍內,可以怎麼修改提問?
分享