發表文章

數位寫入 Port 使用變數

圖片
 EZ Start Kit 上有三個單色 LED ,分別是:紅色 Port 13、黃色 Port 12、綠色 Port 11。若使用如下BlocklyDuino 積木用迴圈來控制這三個 LED 輪流發光,會遇到變數沒有先宣告的問題。   這是因為,BlocklyDuino 原廠積木會針對「數位寫入」的 Port 在 void setup() 區塊裡宣告 pinMode(i, OUTPUT) ,而迴圈變數 i 不在這個區塊內。 解決的方式,只要在積木的開發板初始化區塊,先宣告變數 i 就好了!

MIT App Inventor 2 MQTT

圖片
MIT App Inventor 2 用積木來寫手機上的 APP 程式,非常方便。但是沒有 MQTT 的功能,須要安裝擴充程式。這邊使用的是 Ullis Roboter Seite 的  AI2 MQTT Extension : 把畫面往下捲到 Download 點選下載連結,檔名為 UrsAI2Paho.ZIP。解開壓縮檔會得到一個資料夾,內容如下: 我們會需要用到 de.ullisroboterseite.ursai2pahomqtt.aix 這個檔案,其他資料夾都是參考的資料。 接著登入到 MIT App Inventor 2 網站,開啟新的專案。在左邊元件面板點開「擴充套件」,再點選「匯入擴充套件」,然後選取剛才解壓縮得到的 de.ullisroboterseite.ursai2pahomqtt.aix 上傳上去。 完成後就會看到有一個 UrsPahoMqttClient 元件,然後把這個元件拉到中間的「工作面板」畫面裡,但因為這個元件是「不可見的元件」,所以只會出現在最底下。 然後在右邊的元件內容裡,「Broker」填入你要使用的 MQTT Broker 伺服器網址,「Port」若伺服器沒有特別指定則沿用內定的 1883。 接下來的畫面佈置請參考下列畫面:  畫面中有二個標籤是文字內容預先清除的:「連線狀態」、「接收到的訊息」。 切換到程式設計畫面,將連線按鈕.被點選放入UrsPahoMqttClient1「連線」積木、斷線按鈕.被點選放入 UrsPahoMqttClient1「斷開連線」積木。 接下來要顯示是否已經連線到 Broker,若有連線則訂閱我們指定的主題,使用 UrsPahoMqttClient1.ConnectionStateChanged 積木(連線狀態改變)、UrsPahoMqttClient1.Subscribe(訂閱): 「送出訊息」的按鈕填入 UrsPahoMqttClient1.Publish 發佈按鈕: 最後在收到訊息時,要顯示在「接收到的訊息」標籤上,使用 UrsPahoMqttClient1.收到簡訊積木: 以上都完成後,就可以開始測試我們的 APP 啦!因為 MQTT 至少是要有二邊互相測試,一邊用我們做的 APP,另一邊就使用法蘭斯老師用 Ja...

SpBlocklyJS 積木介紹

圖片
SpBlocklyJS 是由法蘭斯老師所寫的積木,可以用來生成 JavaScript 程式碼在網頁瀏覽器中執行。積木的用法跟 BlocklyDuino 很像,除了提供物聯網的功能外,也提供了很多 AI 應用的功能。 SpBlocklyJS 本身放在雲端,由下列網址進入即可執行,沒有安裝程序: https://fustyles.github.io/webduino/SpBlocklyJS/index.html 或者在 BlocklyDuino 積木上面的按鈕也可以自動打開瀏覽器連接到 SpBlocklyJS。

ESP32 大型程式碼的空間設定與 PSRAM 設定

圖片
 在 ESP32 內建的快閃記憶體中,除了用來分配給儲存上傳程式碼的空間之外,還保留有一些其他用途的空間。所以我們的程式碼需要比較大的儲存空間時,快閃記憶體的空間就需要重新分配才能容納。所以如果在燒錄時出現如下的錯誤訊息,就表示程式碼的儲存空間不夠放了: "text section exceeds available space in board" "Sketch too big; see https://support.arduino.cc/hc/en-us/articles/360013825179 for tips on reducing it." 在 BlocklyDuino 積木改變快閃記憶體的空間分配,要啟動內建的 Arduino IDE 介面。首先要將目前的程式存檔,才能開啟 Arduino IDE 介面。請先儲存積木程式畫布,然後按下右上角的「啟動 Arduino IDE」: 進入 Arduino IDE 介面後,點選上面選單的「工具」、「開發板:」,如果不是顯示 ESP32 Dev Module 的話,請切換成 ESP32 Dev Module。 再點選一次選單的「工具」,底下看到 「Partition Scheme」,若沒有修改過應該是內定的「Default 4MB with spiffs」: 請把它改成「Huge APP」。 有些程式會需要使用到 PSRAM,例如 ESP32 連接到鏡頭時,就要把 PSRAM 的選項設為「Enable」。 設定完成後,直接在右上角叉叉關閉 Arduino IDE 介面回到 BlocklyDuino 即可。

V7RC Wi-Fi 版

圖片
 V7RC 是由嵐奕科技有限公司所開發的一款 APP 程式,可以安裝在 Android 或 iOS 的手機或平板上使用。它讓手機(或平板)模擬成一個遊戲控制器(遊戲手把),並且有藍牙連接與 Wi-Fi UDP 二種方式連接你的裝置,本篇介紹 Wi-Fi 的連接方式。它另外提供錄影的功能,可以利用手機的鏡頭錄影或者透過 Wi-Fi 連接外接鏡頭錄影(請參考 V7RC ESP32-CAM 版),並且疊合遊戲手把操作的影像,錄製遊戲的過程。APP 的官方下載連結如下: Google Play   Apple Store  

V7RC BLE 藍牙版

圖片
 V7RC 是由嵐奕科技有限公司所開發的一款 APP 程式,可以安裝在 Android 或 iOS 的手機或平板上使用。它讓手機(或平板)模擬成一個遊戲控制器(遊戲手把),並且有藍牙連接與 WiFi UDP 二種方式連接你的裝置,本篇先介紹藍牙的連接方式。它另外提供錄影的功能,可以利用手機的鏡頭錄影或者透過 WiFi 連接外接鏡頭錄影,並且疊合遊戲手把操作的影像,錄製遊戲的過程。APP 的官方下載連結如下: Google Play   Apple Store  

KSB065 的彩色 TFT 螢幕

圖片
 KSB065 內建 TFT 彩色液晶螢幕(型號 ST7735),解析度為 160X128。使用時,DIP SW1-5 到 SW1-8 這四個一定要 ON,訊號才能送到螢幕,其他 SW 可視需要決定。(使用 ESP32 時DIP SW3 及 SW4 要全部都 ON) 在 TFT 螢幕的右側有一個比較小的電源開關,要打開螢幕才會亮。大的開關則是針對鋰電池或它旁邊 USB 電源插座通到整塊板子的電源開關,若由 ESP32 的 USB 供電則此開關不影響整個板子的電源。 吉哥積木的 KSB065 TFT 積木放在「吉哥積木/ESP32/模組/TFT彩色螢幕」,請注意不是在「吉哥積木/ESP32/KSB065」裡面喔!