13-16DIFI板的基本功能測試

(2017/02/04)

題目一:點亮Difi ESP8266旁的LED燈(integrated LED)

題目二:點亮Difi上的三色LED燈

題目三:讀取Difi上光敏電阻的值,並顯示在序列埠監控視窗

題目四:讀取Difi上按鍵的值,並顯示在序列埠監控視窗

題目五:讀取Difi上紅外線開關的值,並顯示在序列埠監控視窗

題目六:當Difi上按鍵被按下時,啟動繼電器

題目七:測試 伺服馬達

題目八:測試 超音波測距模組

題目九:測試 蜂鳴器 (音不準有雜音)

題目十:測試 DHT11溫濕度感測器 (編譯錯誤)

題目十一:測試 紅外線遙控器(編譯錯誤)

題目十二:測試 4位數七段顯示器 (編譯錯誤)

題目十三:測試 I2C 1602 LCD顯示器 (沒有測試)

註:除了利用Motoblockly測試外,也有利用TUNIOT來測試

認識DIFI

  • DIFI外觀

    • (Difi腳位 ) 13 12 14 16 ADC 5 4 0 15 2 Rx(3) Tx(1)

    • (NodeMCU 腳位) 7 6 5 0 A0 1 2 3 8 4 9 10

題目一:點亮Difi ESP8266旁的LED燈(integrated LED)

  • 說明

  • 利用拖曳的方法,完成如下的程式(integrated LED在HIGH的時侯是暗燈、在LOW的時侯是亮燈)

  • 利用Arduino IDE軟體,開啟此程式,並選擇正確的板子(NodeMCU) 及序列埠,雖然是採用DIFI板子,但選擇 NodeMCU 1.0

  • 上傳(燒錄)程式

    • DIFI的integrated LED會一閃一閃(integrated LED在HIGH的時侯是暗燈、在LOW的時侯是亮燈)

題目二:點亮Difi上的三色LED燈

  • 說明:三色LED(綠、紅、藍)的使用腳位為13、12、14,記得跳線區的這些針腳要用jumper連接

  • 利用拖曳的方法,完成如下作業:綠、紅、藍、無燈 循環亮燈

  • 第二個作業:讓三色LED燈呈現不同顏色變化(未成功)

題目三:讀取Difi上光敏電阻的值,並顯示在序列埠監控視窗

  • 說明:光敏電阻的使用腳位為ADC(A0),記得跳線區的這個針腳要用jumper連接

  • 利用拖曳的方法,完成如下的程式

題目四:讀取Difi上按鍵的值,並顯示在序列埠監控視窗

  • 說明:按鍵的使用腳位為0,記得跳線區的這個針腳要用jumper連接

  • 利用拖曳的方法,完成如下的程式

    • 註:當按鍵未按下時,其值為1;當按下時,其值為0

  • 延伸題目:當按鍵按下時,綠色LED燈會亮起來

題目五:讀取Difi上紅外線開關的值,並顯示在序列埠監控視窗

  • 說明:紅外線開關的使用腳位為4,記得跳線區的這個針腳要用jumper連接

  • 利用拖曳的方法,完成如下的程式

    • 註:當沒有遮閉時,其值為1;當有遮閉時(訊號反射回來),其值為0

  • 延伸題目:當紅外線開關被遮閉時時,綠色LED燈會亮起來

題目六:當Difi上按鍵被按下時,啟動繼電器

  • 說明:按鍵的使用腳位為0,繼電器使用的腳位為16,記得跳線區的這些針腳要用jumper連接

  • 利用拖曳的方法,完成如下的程式

    • 註:發現當按下按鍵時,Relay的燈(D2)不亮,所以可能要將程式的HIGH及LOW交換

題目七:測試 伺服馬達

  • 說明:伺服馬達(SG90)可自行選擇空腳位來使用(像本例是接在13)

  • 利用拖曳的方法,完成如下的程式

題目八:測試 超音波測距模組

  • 說明:超音波測距模組使用的腳位為可自行找空的腳位,這邊用13(D7)、12(D6),不理會下圖的LCD顯示器

    • 利用拖曳的方法,完成如下的程式

題目九:測試蜂鳴器

  • 說明:蜂鳴器使用的腳位為15,記得跳線區的這個針腳要用jumper連接

  • 利用拖曳的方法,完成如下的程式

    • 註:有發出聲音,但音不準有雜音,效果很不好!!

題目十:測試 DHT11溫濕度感測器

  • 說明:DHT11溫濕度感測器使用的腳位為5,記得跳線區的這個針腳要用jumper連接

  • 利用拖曳的方法,完成如下的程式

  • 上傳時,出了如下的問題:

    • Arduino:1.6.13 (Windows 7), 開發板:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"

    • C:\Program Files (x86)\Arduino\libraries\motoduino_v8\motoIRremote.cpp:16:27: fatal error: avr/interrupt.h: No such file or directory

    • #include <avr/interrupt.h>

    • ^

    • compilation terminated.

    • exit status 1

    • 開發板 NodeMCU 1.0 (ESP-12E Module) 編譯錯誤。

題目十一:測試 紅外線遙控器

  • 說明:紅外線接收器(IR_R)及發射器(IR_E)可自行選擇空腳位來使用(像本例是分別接在15及14)

  • 利用拖曳的方法,完成如下的程式

  • 上傳時,出了如下的問題:

    • Arduino:1.6.13 (Windows 7), 開發板:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"

    • C:\Program Files (x86)\Arduino\libraries\motoduino_v8\motoIRremote.cpp:16:27: fatal error: avr/interrupt.h: No such file or directory

    • #include <avr/interrupt.h>

    • ^

    • compilation terminated.

    • exit status 1

    • 開發板 NodeMCU 1.0 (ESP-12E Module) 編譯錯誤。

題目十二:測試 4位數七段顯示器

  • 說明:4位數七格顯示器可自行選擇空腳位來使用(像本例是CLK接在12、DATA接在13)

  • 利用拖曳的方法,完成如下的程式

  • 上傳時,出了如下的問題:

    • Arduino:1.6.13 (Windows 7), 開發板:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"

    • C:\Program Files (x86)\Arduino\libraries\motoduino_v8\motoIRremote.cpp:16:27: fatal error: avr/interrupt.h: No such file or directory

    • #include <avr/interrupt.h>

    • ^

    • compilation terminated.

    • exit status 1

    • 開發板 NodeMCU 1.0 (ESP-12E Module) 編譯錯誤。

題目十三:測試 I2C 1602 LCD顯示器

  • 說明: I2C 1602 LCD顯示器使用的腳位為4(D2)、5(D1),但Motobloclky的LCD顯示器使用的腳位為A4與A5,所以沒有測試!