顯示具有 LCD 標籤的文章。 顯示所有文章
顯示具有 LCD 標籤的文章。 顯示所有文章

2021年2月26日 星期五

Raspberry Pi Pico - 使用 MicroPython 驅動整合型 LCD 顯示 Pico 內部溫度感測器值

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

Raspberry Pi Pico(下面簡稱 Pico)主晶片 RP2040 裡有 5 個 ADC 通道,其中通道 4 是與晶片內部的溫度感測器連接,所以可以在不接任何外部裝置的情況下讀出溫度值,雖然它會受到晶片執行負荷量的影響,讀值會有所偏移,但用於本篇的例子已經足夠!

本篇將會說明:怎麼撰寫 Pico 的 MicroPython 程式驅動(賣場的)整合型 LCD,用來顯示讀取 Pico ADC[4] 後的溫度值。


2020年12月21日 星期一

驅動 128x64 繁體中文 LCD 點、線和面 #MicroPython #ST7920 #ESP8266

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

前幾天,有人在賣場詢問是否有 MicroPython 驅動 128x64 繁體中文 LCD 的範例程式,基本上上商品所附的範例程式還是單晶片(8051)、Arduino 開發版和 ESP8285(Arduino)程式為主。

不過,找了時間在網路上做了一些搜尋,在 Github 上發現了不錯的 Repository 並做了測試。雖然這這些 Repository 能來驅動顯示英文字和畫線、畫方框,但最後沒有直接能找到可顯示繁體中文的 MicroPython 範例程式可做參考。

不過經過一番折騰,還是成功了把原來的程式移植到了MicroPython!

在進入到主題篇之前,本篇要先來用用在 Github 找到用來驅動 128x64 繁體中文 LCD(下面簡稱繁中LCD)顯示點、線和面的 Repository:MicroPython-ST7920

主要內容有:


2018年3月2日 星期五

{單晶片} TCS34725 顏色感測器取色與 APA102 RGB LED 顯色測試

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

延續上一篇使用 Arduino UNO 將取得的彩色紙顏色用WS2812 / APA102 全彩 LED 顯示後,這一篇改用單晶片 ( AT89S52 ) 作為主控制器,將取得的彩色紙顏色用 APA102 全彩 LED 做顯示。

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年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 頻段可以做為通訊來說,夠用了 !

2015年10月31日 星期六

{ 樹莓派 + Arduino } 紫外線強度偵測 ( 使用大型數字顯示 )

網頁最後修改時間:2015/10/31

在這篇網頁中,將說明賣場紫外線( UltraViolet, UV ) 強度偵測模組使用的方法,以及將所取得的類比電壓轉換為數位數值輸出,並經由所求得的多項式方程式算出相對應的類比電壓以及紫外線指數值。最後將相關資料使用大型數字的方式顯示在整合型 LCD 上。

如何在整合型 LCD 顯示大型數字,請參考 "{ 單晶片 + Arduino + 樹莓派 } 整合型 LCD ( @ I2C 模式 ) 的漂亮數字顯示 ( 自訂字型或圖案 ) " 網頁中的說明與範例展示影片。

/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
有購買商品的使用者,網頁中所需相關資料已放置於雲端硬碟,請自行下載使用!
其餘的使用者,請自行依照提供之連結下載相關資料,程式碼複製貼上使用!
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*

2015年10月29日 星期四

{ 單晶片 + Arduino + 樹莓派 } 整合型 LCD ( @ I2C 模式 ) 的漂亮數字顯示 ( 自訂字型或圖案 )

網頁修改時間:2015/10/31

前一陣子在找一些資料的時候,無意間在 youtube 網站上看到一個影片,內容是在 LCD 上顯示環境中的溫、濕度與塵埃濃度。一聽之下或許覺得沒什麼,因為在部落格中早就有這些東西存在!但是令我駐足觀看的是:它所使用的數字顯示很大、很清楚也很漂亮,作為一眼就能清楚得知數值大小,效果很好!因此就產生了這篇網頁!

2015年6月26日 星期五

如何使用 SHARP Optical Dust Sensor 量測懸浮粒子以及計算空氣品質指數 ( AQI, Air Quality Index )


這是關於露天賣場懸浮粒子感測器的範例展示與使用說明網頁。此網頁將會說明如何使用 SHARP GP2Y1010AU0F Dust Sensor 量測出 PM2.5 與 PM10 懸浮粒子的濃度,並計算得出相對應的空氣品質指數 ( Air Quality Index, AQI )。

千言萬語說一大堆,倒不如先看影片中的展示,剩下的我再後補!

螢幕左上方是 Arduino IDE 的畫面,用來直接修改使用 PM2.5 或是 PM10 的懸浮粒子大小的定義,這些是用來對照到 AQI ( 空氣品質指數 ) 的數值。

螢幕左下方,是 Serial Monitor 的輸出畫面。輸出 Vo 的讀取到的類比轉數位的數值 ( 0-1024 );計算成電壓的數值;由電壓對照出的懸浮粒子密度值;懸浮粒度值轉換成 AQI 指數。

螢幕右上角,是配合整合型 LCD 顯示 AQI 數值以及相對應的懸浮粒子危險等級文字訊息。

上面只是粗略的對於 PM2.5 與 PM10 做說明,WiKi:空氣品質指數有討論關於空氣品質指數的計算,而我們的範例是假設 PM2.5 和 PM10 是空氣品質分指數裡面最高的,而且是將數據即時顯現出來;對於 PM2.5 或 PM10 必須要連續 24 小時的數據做平均來得到的,這一點使用時必須要特別注意!

詳細的說明,等我寫完再更新上來........ 待續..........

2015年6月20日 星期六

[ MAX6675 + LCD @Arduino ] 整合型 LCD 顯示 MAX6675 K 型熱電偶溫度及開路偵測

網頁最後修改時間:2016/12/19 

MAX6675 是一個具有冷結點 ( Cold-Junction ) 補償,將 K 型熱電偶 ( Thermometer, 簡稱 TC ) 溫度轉換為數位資料的傳換晶片 ( 如上圖上最左邊已做成電路板模組的形式 ),有 12-bit 的解析度和 0.25 ℃ 的精度,還具有 K 型熱電偶開路偵測的功能;配合不同的溫度探頭形式,可用在狹小或是密閉空間中的溫度偵測,溫度可達 1023.75 ℃。本篇將以賣場這款 "MAX6675 - K 型熱電偶溫度轉換模組" 配合 Arduino 顯示溫度在 "{5V} 整合型 LCD" 上作範例來做說明,並且在熱電偶被拔除或是開路時,會顯示 "TC is open !" 以及每隔 5 秒在偵測一次 TC 是否已恢復正常 ? 再繼續溫度的顯示。

2014年10月28日 星期二

{ HZ1050 @ Raspberry Pi @ WIEGAND 模式 } 125KHz RFID 讀卡器使用說明

HZ-1050 125KHz RFID 讀卡器模組學習套件可至露天賣場訂購:
詳細的介紹,請上露天賣場。

HZ1050 韋根 34 讀取

本篇是整個 HZ-1050, 125KHz RFID 讀卡器套件 ( 本文簡稱 HZ1050 ) 使用說明的最後一篇。在這一篇中,將使用自己移植自 Arduino 的 wiegand 函式庫來完成跟 Arduino 一樣的讀取功能。

{ HZ1050 @ Arduino + 整合型 LCD } 125KHz RFID 讀卡器使用說明

HZ-1050 125KHz RFID 讀卡器模組學習套件可至露天賣場訂購:
本篇網頁中所使用到的零件可到下面商品網址訂購:
詳細的介紹,請上露天賣場。


Arduino + HZ1050 + { 5V0 } 整合型 LCD 實際接線圖

依照 "{ HZ1050 @ Arduino @ UART 模式 } 125KHz RFID 讀卡器使用說明" 網頁中所提供的電路圖,完成佈線之後實際的線路圖如上面照片所示。

在這篇網頁中,我們會將 UART 以及韋根格式的程式碼全部寫在一個檔案中,並且加入了整合型 LCD 顯示的程式碼,這也是第一次我們將整合型 LCD 用在 Arduino 中。

2014年10月26日 星期日

{ HZ1050 @ Raspberry Pi @ UART 模式 } 125KHz RFID 讀卡器使用說明

HZ-1050 125KHz RFID 讀卡器模組學習套件可至露天賣場訂購:
詳細的介紹,請上露天賣場。


HZ-1050, 125KHz RFID 讀卡器 @ UART - 樹莓派範例實際接線

上篇講到使用 Arduino UART 的方式讀取 HZ-1050 125KHz RFID 讀卡器 ( 文中簡稱 HZ1050 ) 回傳 RFID 卡號 ( 因為 HZ1050 主要是針對 EM4100 以及 EM4001 RFID 卡,因此以下在文中簡稱 EM 卡 )。

本篇是 Raspbeey Pi ( 本文稱為樹莓派 ) 控制 HZ1050 系列的第一篇,這三篇依其接收方式不同有:
  1. UART
  2. Wiegand 26 / 34
  3. UART + Wiegand 26 / 34
這三篇的程式碼,會將輸出結果都會轉向到 { 3V3 } 整合型 LCD 上;但是可以經由自行修改將結果輸出到命令列視窗下,而且程式也預留比對成功或是失敗的程式碼區塊讓使用者可以自行加入處理的程式碼。

2014年7月28日 星期一

{ 內建四種控制模式整合型 1602 英文字型液晶螢幕 } IIC 通訊模式下,LCD 控制功能展示

3V3, 內建四種控制模式整合型 1602 英文字型液晶螢幕, IIC 通訊模式

Note:預設出貨設定是 IIC 通訊控制模式。經過簡單的改裝之後,就可以變成與上圖一樣可使用四種通訊模式控制的 1602 英文字型液晶螢幕。

這片外觀與一般 1602 英文字型液晶螢幕相無異的 LCD ( 正面如上圖,背面如下 3V3 與 5V 兩款 )
3V3 與 5V0 兩種不同電源輸入的 1602 LCD 背面

在不須外掛任何晶片的情況之下,可以使用四種方法來做控制:
  • 並行通訊
    • 4-bit 匯流排模式
    • 8-bit 匯流排模式
  • 串列通訊
    • IIC ( or 稱 I2C) 模式
    • 4 線 SPI 模式

[ { 3V3 } 整合型 1602 LCD ] 使用樹莓派 ( Raspberry Pi ) 偵測環境溫溼度 ( DHT-11 ) 與環境光源強度 ( BH1750 )

本篇網頁中所使用到的零件可到下面商品網址訂購:

使用樹莓派偵測環境溫溼度與環境光源強度

環境溫溼度與光的強度偵測時常用在氣候偵測或是 DIY 製作上,配合使用整合型 1602 LCD 可以非常方便的將所取得的數值或是文字直接顯示在這一片液晶螢幕上,若是使用 { 3V3 } 版本的整合型 LCD,整體接線可以更加的簡化 ( 不需要接調字亮度的可變電阻);。

在這篇網頁中,您將看到:
  • 如何同時控制兩個 I2C 裝置 ( BH1750 環境光源強度偵測模組和整合型 LCD [ IIC 模式 ] )
  • 如何取得單線式通訊的 DHT-11 感測器的溫、濕度值
網頁中所提供的三個樹莓派的 .C 檔案,放置在雲端硬碟中 ( DHT-Light-LCDI2C )。這幾個原始碼使用 wiringPi 函式庫 ( 請自行安裝 )並以編譯成執行檔可直接使用,有購買的請使用所提供的資料下載連結自行下載。

目錄中包含三個 .C 檔,描述如下 :
  1. 讀取 DHT-11 溫溼度值並顯示在整合型 LCD 螢幕上
    displayDHT.c
  2. 讀取 BH1750 光源強度值 ( Lux ) 並顯示在整合型 LCD 螢幕上
    displayLUX.c
  3. 讀取 DHT-11 溫溼度值和 BH1750 光源強度值 ( Lux ) 並顯示在整合型 LCD 螢幕上
    LTRDisplay.c
資料夾目錄

2014年5月19日 星期一

[ { 5V } 整合型 1602 LCD ] 使用單晶片 ( AT89S51 ) 偵測環境溫溼度 ( DHT-11 ) 與環境光源強度 ( BH1750 )

本篇網頁中所使用到的零件可到下面商品網址訂購:

使用單晶片偵測環境溫溼度與環境光源強度

環境溫溼度與光的強度偵測時常用在氣候偵測或是 DIY 製作上,配合使用整合型 1602 LCD 可以非常方便的將所取得的數值或是文字直接顯示在這一片液晶螢幕上,不要再使用 UART 將資料取出了!

在這篇網頁中,您將看到:
  • 讓單晶片 8051 動作的基本電路
  • 如何同時控制兩個 I2C 裝置 ( BH1750 環境光源強度偵測模組和整合型 LCD [ IIC 模式 ] )
  • 如何取得單線式通訊的 DHT-11 感測器的溫、濕度值
網頁中所提供的三個單晶片 AST89S51, Keil C 專案檔會放置在雲端硬碟中 ( display_lcd+dht11+bh1750 ),並完成設置與編譯完成可直接使用 .hex 燒錄,有購買的請使用所提供的資料下載連結自行下載,目錄中包含三個專案檔,內容有:
  1. 讀取 DHT-11 溫溼度值並顯示在整合型 LCD 螢幕上
    display_lcd+dht11.uvproj
  2. 讀取 BH1750 光源強度值 ( Lux ) 並顯示在整合型 LCD 螢幕上
    display_lcd+bh1750.uvproj
  3. 讀取 DHT-11 溫溼度值和 BH1750 光源強度值 ( Lux ) 並顯示在整合型 LCD 螢幕上
    display_lcd+dht11+bh1750.uvproj
資料夾目錄

2013年6月18日 星期二

使用 Raspberry Pi 驅動 LCD 顯示 DHT-11 所測得的環境溫濕度

需要 DHT-11 (溫濕度感測器) 的話請到露天賣場訂購:DHT11 - 溫濕度感測器

DHT-11 使用 DATA 接腳與處理器之間做通訊與同步,採用串行單線數據格式,一次通訊時間在 4ms 左右,數據分為整數與小數部分,一次完整數據輸出為 40-bit,高位元先輸出:

數據格式:8-bit 濕度整數數據 + 8-bit 濕度小數數據 +
                    8-bit 溫度整數數據 + 8-bit 溫度小數數據 + 8-bit 檢驗和

檢驗和是溫濕度整數與小數四個數據相加之後取末 8 位元數據資料,至於詳細的通訊過程請參閱 "DHT11溫濕度感測器說明書" 的說明。

下面的例子將使用 Raspberry Pi (樹莓派) 與 DHT-11 作通訊取得溫濕度數據,並將數據顯示在 LCD上。

首先,我們延用部落格網頁 "驅動 16x2 LCD 螢幕 (英文文字型)" 的線路,並增加 DHT-11 於線路中;DHT-11 使用 3.3V 電源供應,資料通訊使用樹莓派 GPIO P1 第 10 支 pin 腳 (也就是 RxD, #15) 連接 DHT-11 DATA 接腳。

ps. #15 表示是 BCM2835 GPIO 15 的意思


材料列表:

2012年11月10日 星期六

驅動 16x2 英文字型 LCD 螢幕

網頁最後修改時間:2016/07/28

英文字型 LCD 螢幕一般都是使用 HD44780 (或是相容) 的晶片做控制,因此參考一下文件選擇要使用的驅動方式 (4-bit / 8-bit), 4-bit 介面接線方式比較省接腳,故選擇 4-bit 驅動 16x2 LCD 螢幕

相關文件下載:

  1. HD44780
  2. 輕巧工作室 (06/07/2005)- LCM 液晶顯示模組英文文字型控制命令說明手冊
  3. SMC1602A

以 HD44780 為主的 LCM 英文文字型液晶顯示器模組,控制方式都大同小異,主要是在文字顯示或是移動的位置上,相關程式碼要做修改,利用善心人士寫好的函式庫看懂它做修改就好,不需要花太多時間重新撰寫。

相關的範例程式包含有:AVR GCC (Attiny2313)、8051、python

如果程式沒有接線圖,請參照提供的範例程式找出相對應的接腳與晶片做連接。


Raspberry Pi 驅動 LCD (16x2) 螢幕

材料:
  • LCD 是使用 SMC1602-H1W4 (5V 驅動、藍底白字、帶 LED 背光、16*2) (賣場連結)
    • 10k 可變電阻 (隨貨附送)
    • 排針 (隨貨附送  16-pin ,須自行焊接)

  • Raspberry Pi (Model B, Revision 2.0, 512MB RAM) (賣場連結)

  • Raspberry Pi 特製 GPIO (P1) 專用排線 (賣場連結)
  • 若有購買賣場的壓克力外殼,而且又有使用此條排線與 GPIO (P1)做連接的話,排線附帶的壓線扣 (ㄇ字型)不要裝 (除非你要拆掉上蓋,不然上蓋到排線頭的距離是剛剛好的);另外若排線選擇不拆掉外殼使用,要由上蓋出線,出線後上蓋就不能隨意翻動,另外這需要拆掉一些壓克力板後再組裝,要有點耐心。

    不同的插入方向會影響排線接腳與 GPIO (P1) 的接腳對應,正確的接法如下圖所示。



    照這樣插線,排線最下方的那一條所對應的就是 GPIO (P1) 排針上的第一支接腳,再配合 GPIO 卡 (可到 "Raspberry Pi (樹莓派) Model B 各版本之間的差異" 裡,移動到最下面有 Rev1.0 和 Rev2.0 下載的連結),連接上就比較方便。

  • 麵包板 (8.5x5.5cm, 400孔) (賣場連結)

  • 麵包板連接測試跳線 (賣場連結)
LCD 螢幕連接線路圖
( 2013/01/03 更正 Vss 與 Vdd 連接線路 [ 網友 TaKa 提出更正訊息)


LCD (***1602*) 接腳名稱