2018年2月20日 星期二

{Arduino} TCS34725 顏色感測器取色與 WS2812B / APA102 RGB LED 顯色測試

網頁最後修改時間:2018/02/27

早前在部落格有一篇關於顏色辨識的網頁 "{ Arduino } TCS3200 顏色辨識感測模組的校正、取色與顯色說明";使用之前要先進行白平衡校正,放置欲取色的物體之後,每隔一段時間取色完成後會輸出取色之後的 RGB 值並由 WS2812B 全彩 LED 顯示結果。

而此篇網頁改用 TCS34725 做為取色的感測器,加入一個開始取色的按鈕,經 Gamma 校正後使用 WS2812B (或 APA102) 全彩 LED 顯色,取色後的原始數據與 Gamma 校正後的數據可輸出至 Serial Moitor 或 (和) 整合型 LCD 上。實際測試後的結果顯示,效果更佳、更快!可自行參考網頁中測試的影片。

2017年11月26日 星期日

建置 STM8S 的開發環境 (STVD + COSMIC + SPL)

網頁最後修改時間:2017/11/26
來源:網路
看到上面的圖片與標題,聰明的讀者應該能猜到接下來的網頁內容要說什麼東西 !

使用 ST 原廠軟體 STVD 配合 COSMIC,建置 STM8 的開發環境 (完全不用付費)。藉由三個簡單的 LED 亮滅程式,說明如何使用計時器和中斷服務程式來作時間延遲、說明如何使用直接暫存器與官方提供的標準硬體函式庫 (SPL) 來存取硬體週邊、以及如何快速地複製專案重複使用...等學習 STM8S (因為使用的開發板是 STM8S105K4) 的入門基礎。

2017年11月18日 星期六

小型兩軸伺服馬達 (舵機) 雲台 (Pan-Tilt Kit) 動作展示

網頁最後修改時間:2019/05/08

這篇網頁主要用影片來展示組裝之後的雲台動作。

經由影片中程式的設定,可以自由設定適當的水平 (Pan) 和垂直(Tilt)伺服馬達旋轉的三個角度值,用來做雙軸同動的展示。

2019/05/08 新增兩個學習套件的展示影片:
  • 手機控制雲台的水平(左右)與垂直(上下)轉動;
  • 雲台跟隨和自穩的運動控制;

2017年11月17日 星期五

如何使用 AT 指令讓同在 AP+STA 模式下的 ESP8266 互相通訊 ?

網頁最後修改時間:2017/11/17

通常與 ESP8266 通訊都是單方面發送或是接收其他 Wi-Fi 裝置的訊息,比較少機會直接兩顆以上 ESP8266 做通訊,較多是連線到家中路由器取得 IP 之後再做通訊;前者受限於同時最多只有 5 個 linkID,而後者可以很多。而在這篇網頁中,是利用回答網友問題的同時,分享測試的結果,描述同處在 AP+STA 模式下的兩顆 ESP8266 如何成功建立 TCP 通訊。

2017年10月7日 星期六

*0*Cayenne*0* 初遇 Cayenne - 建立 ESP8266 與 Cayenne 的物聯網連線與上傳資料

網頁最後修改時間:2017/10/07

Cayenne – the world’s first drag-and drop IoT project builder. 第一個使用拖拉方式建立物聯網 (Iot, Internet of Thing) 專案的建構者。藉由 Cayenne,工程師、創客、網路營運商和系統整合業者能夠快速且容易的的開發與部署各行業間的物聯網解結方案。

在本篇網頁中,將會介紹 Cayenne 的專案建立與使用 ESP8266 與其連線的方法,並且在最後以 DHT11 為範例,說明如何上傳溫溼度值到 Cayenne 上,建立可供觀看操作的 Dashboard。

2017年9月13日 星期三

*3*nRF24L01+*3* 初遇 Blynk - 建立從 nRF24L01+ 到 ESP8266 再到 Blynk 的 SHT31 單點無線溫溼度傳輸物聯網


 網頁最後修改時間:2017/09/13

經過前面幾篇關於 nRF24L01+  的網頁的介紹,相信讀者對於 nRF24L01+ 基本的資料傳送與接收有了一定程度的了解。再者,番外篇也特別以範例介紹了 Arduino 開發板和 ESP8266 無線網路模組利用 AT 指令連線的過程,最後以 Blynk 手機 app 的一個 Project 範例作為結束,展示了兩個無線裝置之間的遠端數據如何進行通訊。

我們最終的目的:就是要利用 nRF24L01+ 構建無線溫溼度節點群組 (sensor nodes),群組中的主節點負責接收其他節點的溫溼度數據,利用有線或無線網路 (ESP8266, WiFi Shield ... etc ) 的方式向伺服器 (例如 Blynk Server 、ThingSpeak ... etc ) 傳送並儲存數據,能夠在手機隨時監控與查詢各節點的溫溼度。

在這篇,將完成單點溫溼度無線傳輸與數據上傳 Blynk Server 的部分。與之前討論不同的是:發射端加入休眠功能,不傳送的時後,nRF24L01+ 與 Arduino Nano 進入 Power Down 休眠模式節省電力;接收端的整合型 LCD 增加一個可處理儲存於 Flash 字串的顯示函式,並且修改程式以解決 Blynk Arduino 函式庫記憶體需求的問題。

2017年9月2日 星期六

初遇 Blynk ( 物聯網手機 APP ) - 如何使用 Arduino 和 AT 韌體 ( Ai-Mod, AT v1.2.0.0 based on SDK v1.5.4.1 ) 的 ESP8266 (ESP-01, ESP-01S) 連上 Blynk 伺服器和儲存數據 {*2_1*nRF24L01+*2_1*}

網頁最後修改時間:2017/09/02

之前有網友詢問關於 ESP8266, ESP-01 使用 AT 指令方式連不上 Blynk 伺服器的問題,當時我的直覺認為不是 AT 韌體版本的問題,就是通訊速率的關係,所以就這樣回了!不過,最後他也沒嘗試成功,只好使用建議的 Standalone 的方式再試試;但是,我還是不知道他最後成功了沒有 ?

剛好!這篇網頁的前一篇 (*2*nRF24L01+*2* SHT31 單點無線溫溼度傳輸) 的最後提及到 :"之後會需要將收到的溫溼度值上傳到雲端去,希望能利用手機來監控與查詢"。也因為這樣,所以寫了 *2*nRF24L01+*2* 的番外篇,順便來初遇認識一下 Blynk;怎麼使用 Arduino Blynk 函式庫控制 ESP8266 的 AT 指令連線 Blynk Server,以其作為中介與 Blynk app 做雙向溝通。

2017年8月28日 星期一

*2*nRF24L01+*2* SHT31 單點無線溫溼度傳輸

網頁最後修改時間:2020/12/21 

在之前的兩篇 0, 1 的網頁,已經針對選擇哪一個頻道做為通訊,以及傳送端與接收端選擇何種天線的 nRF24L01+ 無線模組做過說明。有了這些資訊之後,接下來就是開始無線通訊的部分,這篇先由單點無線通訊開始。

2017年8月21日 星期一

*1*nRF24L01+*1* 如何提高 nRF24L01+ 無線模組的傳輸距離與穿牆效果? 加碼:不同天線形式的穿牆測試

網頁最後修改時間:2017/08/21

nRF24L01+ 板載天線的無線模組在空曠處無遮蔽的情況之下,距離可達上百公尺!但是在隔著木板牆甚至是水泥牆時,傳輸距離就會大打折扣!因此在參考其他網路上的建議,加上了兩支平行的天線,來提高傳輸距離並且提高穿牆效果;由於這些資料原網站都有,我在這邊只做必要的照片重拍與解釋的動作,測試的程式直接沿用。

在這篇網頁,我們的重點是:
  • 樓層與樓層之間,前面與後面都相隔幾堵(水泥)牆 (公寓則是都在同一層,應該牆壁少,所以影響會比較小),對於無線模組的影響有多少?
  • 傳輸成功率變為多少 ? 
  • 這些修改過的無線模組能夠幫我穿多少牆?
  • 是否能夠在建立多節點 (Nodes) 無線感測器網路時可用來減少 PA+LNA 無線模組的使用 ?
雖然可以全部都選用高功率的無線模組來用,但這只是增加點到點的距離而已,並無法解決接收的模組超過六個、點到點的距離超過限制的問題!

所以,在更進一步討論這問題之前,測試是必須的 !

2017年8月15日 星期二

*0*nRF24L01+*0* Arduino 二點四GHz 訊號掃描器

網頁最後修改時間:2017/08/15 

藍牙、WiFi、ZieBee、手機、麥克風,甚至是微波爐  ... 等裝置 ( NI 國家儀器:2.4 GHz 的廚房裡有太多廚師想大展身手 ),都會使用到 2.4GHz 頻率。簡單 DIY 個 2.4 GHz 訊號掃描器,能夠在掃描器掃描的範圍內,看到選定頻率頻道訊號強弱的分布,藉此來得知哪些頻率頻道正在被使用 ? 或是還有哪些頻率頻道可以被使用 ?

為了測試掃描器是否能正常動作,藉由切換無線路由器的無線頻道可以很方便的檢驗,並且更換使用外接天線的無線模組進行接收靈敏度的測試。雖然它不是一個非常高檔的 2.4G 訊號掃描器,但是為了之後要查詢還有哪些 2.4GHz ISM 頻段可以做為通訊來說,夠用了 !