##超音波感測器 ```javascript= int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin) { long duration; pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(20); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); duration = duration / 59; if ((duration < 2) || (duration > 300)) return false; return duration; } void setup() { Serial.begin(9600); digitalWrite( D4 , LOW ); } void loop() { Serial.print("message"); Serial.print( ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( D4 , D3 )); Serial.print(" "); Serial.println(); delay( 1000 ); } ``` ![](https://hackmd.io/_uploads/rkDPuCOfT.png) ![image](https://hackmd.io/_uploads/ryhwmut8a.png) 超音波感測器的心得: 透過這次Nodemcu開發版連接超音波感測器,過程中操作超音波感測器的運作發現操作並非想像中容易,過程中可能受周圍環境影響及干擾,讓感測器不按照指令運作:而寫程式發現過程的停頓時間,必須掌握到關鍵,不能太多也太少,這次的實驗讓我更加熟悉了Nodemcu開發板的操作,同時了解超音波感測器在生活中的應用。 透過Nodemcu開發板連接了超音波感測器,實現了準確的距離測量功能。首先,我查閱了Nodemcu的接腳圖,將超音波感測器按照相應的引腳連接至Nodemcu開發板的接角4上,過程經過好幾次修正。接著,我編寫了相關的程式碼,使用Arduino 進行編譯並將程式上載至Nodemcu開發板。 ##紅外線感測器 ```javascript= boolean __ardublockDigitalRead(int pinNumber) { pinMode(pinNumber, INPUT); return digitalRead(pinNumber); } void setup() { Serial.begin(9600); } void loop() { Serial.print("message"); Serial.print(__ardublockDigitalRead(D2)); Serial.print(" "); Serial.println(); delay( 1000 ); } ``` ![](https://hackmd.io/_uploads/HJnsF0_GT.png) ![](https://hackmd.io/_uploads/By5r30OMp.png) 紅外線感測器心得: 製作紅外線感測器與Nodemcu開發版的結合是一個充滿學習與挑戰的過程。首先,理解紅外線感測技術的原理與Nodemcu的功能十分重要。接著,組裝電路與感測器部件需要細心與耐心,確保連接正確無誤。透過程式碼撰寫,我們能夠控制感測器並讀取數據,使其與Nodemcu的連接更具實用性。在這個過程中,我學會了如何解決硬體連接與軟體程式的問題,並體驗到了科技應用的樂趣。這項實作讓我更加瞭解物聯網裝置的製作與應用,也激發了我對於未來相關領域的興趣與探索,紅外線感測器廣泛應用於日常生活中,如自動燈控、安防系統等。透過製作紅外線感測器,學生能夠實際體驗到一個實用且常見的感測技術,增加實用性。 ##蜂鳴器 ```javascript= void setup() { } void loop() { tone(D3, 440); delay( 1000 ); tone(D3, 440); delay( 1000 ); } ``` ![](https://hackmd.io/_uploads/Syx3cR_f6.png) ![](https://hackmd.io/_uploads/SJhuh0_fp.png) 蜂鳴器心得: 在製作NodeMCU蜂鳴器裝置時,首先編寫程式碼並配置腳位,整合網路連接。製作過程中遇到的困難包括電路連接錯誤、編碼誤差,需要仔細檢查和調試。這項專案增進了我的IoT裝置開發和編程技能,同時挑戰了解決問題的能力,為未來相關領域提供了實用的經驗,蜂鳴器在生活中的應用也非常多,例如:街上喇叭和手機擴音,我一開始在把蜂鳴器接到noodemcu開發版上,裝置無法發出聲音,經過一番調整和修正才順利讓裝置進行,過程中我學會種種排除程式問題的技能,希望下次能把這項技能繼續精進及進步。 ##亮一秒,暗一秒 ```javascript= void setup() { pinMode( D2 , OUTPUT); } void loop() { digitalWrite(D2 , HIGH); delay( 1000 ); digitalWrite(D2 , LOW); delay( 1000 ); } ``` ![](https://hackmd.io/_uploads/Hyffh0dGp.png) ![image.png](https://hackmd.io/_uploads/SyfjXMGQp.png) 亮一秒,暗一秒心得: 在製作NodeMCU亮一秒暗一秒裝置時,我一開始線路與Nodemcu開發版接製,開發版運用高低電位差的原理來讓裝置一閃一暗,其中一開始裝置線路腳為頻繁接錯,導致裝置無法順利進行運作,之後調整接腳D2和D4,並確認開發版接腳接在正確位置,之後順利讓裝置完美執行程式, ##溫溼度感測器: ```javascript= #include <DHT.h> DHT monDHT_pinD4(D4); void setup() { Serial.begin(9600); monDHT_pinD4.brancher(); } void loop() { Serial.print("message"); Serial.print(monDHT_pinD4.lireTemperature()); Serial.print(" "); Serial.println(); delay( 1000 ); Serial.print("message"); Serial.print(monDHT_pinD4.lireTemperature()); Serial.print(" "); Serial.println(); delay( 1000 ); } ``` ![image](https://hackmd.io/_uploads/SJGlzOY86.png) ![image](https://hackmd.io/_uploads/HkqTZ_FLT.png) ![image](https://hackmd.io/_uploads/ByotGdKIp.png) 溫溼度感測器心得: 當我製作NodeMCU乾濕度感測器的過程中,深刻體會到物聯網技術的魅力。這次的專案不僅讓我學習到如何使用NodeMCU這類開發板,還深入了解了乾濕度感測器的原理和應用。 在材料清單和環境設定階段,我發現選擇合適的硬體和建立開發環境是順利進行專案的基石。連接硬體的部分雖然初看複雜,但隨著步驟的執行,我理解了每條線的作用和連接方式,在資料傳送和記錄的過程中,我學到了如何有效地將感測數據傳送到雲端服務或本地伺服器,同時保留數據以備後續分析。即時監控的功能為整個專案增色不少,讓我可以實時了解環境的變化。 ##RGB燈 ```javascript= void setup() { } void loop() { leds.setColorRGB(0, 255, 255, 255); delay( 1000 ); leds.setColorRGB(0, 255, 255, 255); delay( 1000 ); } ``` ![image](https://hackmd.io/_uploads/HyweenMwp.png) ##RGB燈的心得: RGB燈在生活中有各種應用。它們常用於家居照明,可以根據喜好和場景調整顏色和亮度,創造出不同的氛圍。此外,在娛樂場所、舞台表演和活動中也常見使用,可以通過改變顏色和效果來增加視覺效果和氛圍。另外,RGB燈也被應用在許多科技產品中,如電腦配件、手機配件等,為產品增添視覺吸引力。 這次製作RGB燈的過程不是非常容易、輕鬆,一開始的程式方塊就非常不易尋找,把RGB感測器接到開發板之後,感測器裝置也沒馬上起動執行任務,經過一番微調修正處理,才順利的讓RGB燈發亮。