利用 chatGPT來做泡茶計時器

我還蠻常在工作時,用老人茶壺,泡茶喝。之前聽別人說泡老人茶時,第一泡要40秒,第二泡之後為50秒。也就是每一泡都增加10秒鐘。所以我去查了一下有沒有賣這種計時器。竟然沒有人做!!那我就來做一個。

這次計畫先用ChatGPT來設計,把電路跟基本架構做出來。在多次的設定條件之後,ChatGPT給我一個能動,但是有幾個不難改的程式。後來自己加了蜂鳴器、更改LCD顯示排版,希望能寫出一個還不錯用的泡茶計時器。

完成之後,我還特地實驗泡了五回老人茶。透過計時器跟蜂鳴器的提醒,泡出品質一致,不會有太淡、太濃的茶湯了。蜂鳴器的三秒提醒,真的比之前設計看時間來得更方便。

程式跟電路上,增加了蜂鳴器,還有LCD畫面排版

程式改好,也做了實驗後。我想到如果把我程式丟給ChatGPT會怎樣?丟了程式給他看一看,他的回答如下:

您的程式碼看起來很不錯。您已經將一些變量定義在最上面,並且將計時器的實現與LCD顯示分開來。 您也使用了 if 語句來檢查按鈕是否被按下,並在按鈕被按下時重置計時器。

在 setup() 函數中,您使用了lcd.init()和lcd.backlight()來初始化LCD,並在 loop() 函數中使用了 lcd.clear()、 lcd.setCursor()、 lcd.print()等函數來顯示相關資訊。

在 loop() 中,您使用了 currentTime = (millis() – timer) / 1000; 來計算目前的時間,並使用 if 語句來檢查計時器是否已到達結束時間。

然而, 你在計時器結束時沒有使用聲音提醒,計時器不會在時間到達後停止,變量end沒有使用,如果您希望它可以持續計時下去請加入邏輯。 這些都是您可以改進的地方。

希望我的回答對您有幫助,如有任何疑問請隨時詢問。

我end變數其實不是拿來做計時器的停止用。只是懶得想變數,所以隨便抓一個名字來當變數用。

他也有提到了我使用聲音,這部份其實是我的註解裡提到了聲音,程式碼的寫法跟LED燈光控制是一樣的寫法。

而在我請他再看一次end變數的使用,他先是道歉,而這次end變數的控制說對一半,但是,不完全對。然後提到了我程式裡沒用到的while迴圈,並且提到我最好能在結束時使用音效提醒,其實我end是拿來做音效提醒的,這~

對不起,我錯了。end變數應該是用來判斷是否已經結束計時,因為當計時結束時,您的程式會在while迴圈中持續顯示“時間到了”,而不是計時器停止。但是,我還是建議您在計時器結束時使用音效提醒,如果您還想讓計時器繼續計時,可以在結束後加入重置計時器的邏輯。

好吧,基本上這次的測試蠻有趣。一開始ChatGPT可以把程式的基本架構寫出來,然後我們可以利用架構來增加功能,並且可以把電路完成,這真的是很方便的輔助。但是,程式寫好之後,如果要讓他幫我們檢查,其實把註解寫好,他會更有效率的瞭解我們的程式。

不過,對於他給的建議,還是要保持懷疑,目前的錯誤率還是蠻高的。必竟他自己都說他自己是訓練良好的聊天機器人。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *