日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【花雕动手做】有趣好玩的音乐可视化系列项目(31)--LCD1602液晶屏

發布時間:2024/3/12 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【花雕动手做】有趣好玩的音乐可视化系列项目(31)--LCD1602液晶屏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

偶然心血來潮,想要做一個音樂可視化的系列專題。這個專題的難度有點高,涉及面也比較廣泛,相關的FFT和FHT等算法也相當復雜,不過還是打算從最簡單的開始,實際動手做做試驗,耐心嘗試一下各種方案,逐步積累些有用的音樂頻譜可視化的資料,也會爭取成型一些實用好玩的音樂可視器項目。

手頭還有幾片以前做實驗剩下的LCD1602液晶屏模塊,正好也試試顯示音樂頻譜。



1602液晶

也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的內容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數字)。市面上字符液晶大多數是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。


LCD
是 Liquid Crystal Display 的簡稱,意為“液態晶體顯示器”,也叫液晶顯示器。LCD 的構造是在兩片平行的玻璃基板當中放置液晶盒,下基板玻璃上設置TFT(薄膜晶體管),上基板玻璃上設置彩色濾光片,通過TFT上的信號與電壓改變來控制液晶分子的轉動方向,從而達到控制每個像素點偏振光出射與否而達到顯示目的。現在LCD已經替代CRT成為主流,價格也已經下降了很多,并已充分普及。

LCD 構成
1.背光源(或背光模組)——由于液晶分子自身是無法發光的,因此若想出現畫面,液晶顯示器需要專門的發光源來提供光線,然后經過液晶分子的偏轉來產生不同的顏色。而背光源起到的就是提供光能的作用。之前液晶顯示器采用的都是名叫CCFL的冷陰極射線管,其發光原理與日光燈幾乎完全相同,而現在新品液晶顯示器都采用了更加節能、長壽面的LED背光源。燈管(或LED)發光后藉由導光板將光線分布到各處,通過背面的反射板將所有的光線的方向集中朝向液晶分子。最后光線通過prism sheet以及擴散板將光線均勻的散發出去,避免出現中央亮度過高、四周亮度過低的情況。
2.上下層兩個偏光片——偏光片的作用是讓光線從單方向通過。
3.上層和下層兩塊玻璃基板——玻璃基板不僅僅是兩塊玻璃那么簡單,其內側具有溝槽結構,并附著配向膜,可以讓液晶分子沿著溝槽整齊的排列。在上、下兩層玻璃兩側會貼有TFT薄膜晶體管和彩色濾光片。
4.ITO透明導電層——其作用是提供導電通路,分為像素電極(P級)和公共電極(M級)。在下一頁中我們為大家講解液晶面板結構更多的內容。
5.薄膜晶體管(就是我們經常所說的TFT)——我們經常說TFT-LCD,其實際上指的就是這個薄膜晶體管,它的作用類似于開關,TFT能夠控制IC控制電路上的信號電壓,并將其輸送到液晶分子中,決定液晶分子偏轉的角度大小,因此其是非常重要的一個部件。
6.液晶分子層 ——液晶分子層是改變光線偏光狀態最重要的元素,通過電力和彈性力共同決定其排列和偏光狀態。
7.彩色濾光片——通過液晶分子偏轉的光線只能顯示不同的灰階,但是不能提供紅、綠、藍(RGB)三原色,而彩色濾光片則由RGB三種過濾片組成,通過三者混和調節各個顏色與亮度。液晶面板中每一個像素由紅、綠、藍3個點構成,每種顏色的點各自擁有不同的灰階變化。


LCD1602液晶顯示屏1602A模塊 藍屏黃綠屏灰屏5V 3.3V焊排針 IIC/I2C
1602字符型液晶也叫1602液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。字符型液晶,能夠同時顯示16x02即32個字符。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。

1602模塊管腳功能
1602采用標準的16腳接口,其中:
第1引腳:GND為電源地
第2引腳:VCC接5V電源正極
第3引腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產生“鬼影”,使用時可以通過一個10K的電位器調整對比度)。
第4引腳:RS為寄存器選擇,高電平1時選擇數據寄存器、低電平0時選擇指令寄存器。
第5引腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。
第6引腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳變時執行指令。
第7~14引腳:D0~D7為8位雙向數據端。第15~16腳:空腳或背燈電源。
第15引腳背光正極,
第16引腳背光負極。

1602模塊電原理圖


IIC/I2C接口LCD1602轉接板
控制板IO口只有20個,加些傳感器、SD卡啥的,繼電器等模塊多了,IO口就不夠用了,原來的1602屏至少需要7個IO口才能驅動起來,這個模塊可以幫你省5個IO口。

PCF8574
用于 I2C 總線的遠程 8 位 I/O 擴展器,該8位輸入/輸出(I/O)擴展器用于雙線雙向總線(I2c),設計用于2.5-V至6-V VCC操作。PCF8574設備通過I2C接口[串行時鐘(SCL)、串行數據(SDA)]為大多數微控制器系列提供通用遠程I/O擴展。該設備具有一個8位準雙向I/O端口(p0-p7),包括用于直接驅動LED的高電流驅動能力的鎖存輸出。每個準雙向I/O可以用作輸入或輸出,而無需使用數據方向控制信號。通電時,I/O很高。在此模式下,只有VCC的電流源處于激活狀態。

參數
1.供電電壓:+5V
2.支持I2C協議
3.具有背光燈,和對比度調節電位器
4.4線輸出更簡單
5.設備地址:0x27


【花雕動手做】有趣好玩的音樂可視化系列項目(31)–LCD1602液晶屏
項目程序之一:點亮屏幕,顯示字符“Welcome to Eagler8”
Arduino------LCD1602
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 數據線
A5-----------SCL IIC 時鐘線

/*【花雕動手做】有趣好玩的音樂可視化系列項目(31)--LCD1602液晶屏項目程序之一:點亮屏幕,顯示字符“Welcome to Eagler8”Arduino------LCD16025V-------------VCCGND-----------GNDA4-----------SDA IIC 數據線A5-----------SCL IIC 時鐘線 */#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2);void MyPrintLCD(String MyString) {for (int i = 0; i < MyString.length(); i++)lcd.write(MyString.charAt(i)); }void setup() {lcd.init();lcd.backlight();MyPrintLCD("Welcome to ");lcd.setCursor(0, 1);MyPrintLCD(" Eagler8"); }void loop() { }

實驗場景圖


【花雕動手做】有趣好玩的音樂可視化系列項目(31)–LCD1602液晶屏
項目程序之二:屏顯示所有鍵碼
Arduino------LCD1602
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 數據線
A5-----------SCL IIC 時鐘線

/*【花雕動手做】有趣好玩的音樂可視化系列項目(31)--LCD1602液晶屏項目程序之二:屏顯示所有鍵碼Arduino------LCD16025V-------------VCCGND-----------GNDA4-----------SDA IIC 數據線A5-----------SCL IIC 時鐘線 */#include <Wire.h> #include <LiquidCrystal_I2C.h>//導入1602驅動#if defined(ARDUINO) && ARDUINO >= 100 #define printByte(args) write(args); #else #define printByte(args) print(args,BYTE); #endifuint8_t bell[8] = {0x4, 0xe, 0xe, 0xe, 0x1f, 0x0, 0x4}; uint8_t note[8] = {0x2, 0x3, 0x2, 0xe, 0x1e, 0xc, 0x0}; uint8_t clock[8] = {0x0, 0xe, 0x15, 0x17, 0x11, 0xe, 0x0}; uint8_t heart[8] = {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}; uint8_t duck[8] = {0x0, 0xc, 0x1d, 0xf, 0xf, 0x6, 0x0}; uint8_t check[8] = {0x0, 0x1, 0x3, 0x16, 0x1c, 0x8, 0x0}; uint8_t cross[8] = {0x0, 0x1b, 0xe, 0x4, 0xe, 0x1b, 0x0}; uint8_t retarrow[8] = { 0x1, 0x1, 0x5, 0x9, 0x1f, 0x8, 0x4};// 將 LCD 地址設置為 0x27 以實現 16 個字符和 2 行顯示 LiquidCrystal_I2C lcd(0x27, 16, 2);void setup() {lcd.init(); //初始化液晶屏lcd.backlight(); //打開背光lcd.createChar(0, bell);lcd.createChar(1, note);lcd.createChar(2, clock);lcd.createChar(3, heart);lcd.createChar(4, duck);lcd.createChar(5, check);lcd.createChar(6, cross);lcd.createChar(7, retarrow);lcd.home();lcd.print("Hello world...");lcd.setCursor(0, 1);lcd.print(" i ");lcd.printByte(3);lcd.print(" arduinos!");delay(5000);displayKeyCodes(); }// 顯示所有鍵碼 void displayKeyCodes(void) {uint8_t i = 0;while (1) {lcd.clear();lcd.print("Codes 0x"); lcd.print(i, HEX);lcd.print("-0x"); lcd.print(i + 16, HEX);lcd.setCursor(0, 1);for (int j = 0; j < 16; j++) {lcd.printByte(i + j);}i += 16;delay(4000);} }void loop() { }

實驗場景圖


實驗的視頻記錄

優酷:https://v.youku.com/v_show/id_XNTkxODI5OTU1Ng==.html?spm=a2hcb.playlsit.page.1

B站:https://www.bilibili.com/video/BV12t4y1P7Et/?vd_source=98c6b1fc23b2787403d97f8d3cc0b7e5

【花雕動手做】有趣好玩的音樂可視化系列項目(31)–LCD1602液晶屏
項目程序之三:最簡顯示字符hello world!
Arduino------LCD1602
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 數據線
A5-----------SCL IIC 時鐘線

/*【花雕動手做】有趣好玩的音樂可視化系列項目(31)--LCD1602液晶屏項目程序之三:最簡顯示字符hello world!Arduino------LCD16025V-------------VCCGND-----------GNDA4-----------SDA IIC 數據線A5-----------SCL IIC 時鐘線 */#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); //配置LCD地址及行列void setup(){lcd.init(); //初始化LCDlcd.backlight(); //打開背光 }

實驗場景圖

聲音模塊,使用性價比更高的MAX4466聲音傳感器。

MAX4466
是微功率運算放大器,經過優化,可用作麥克風前置放大器。它們提供了優化的增益帶寬產品與電源電流的理想組合,以及超小型封裝中實現低電壓工件環境。 MAX4466具有增益穩定特性,僅需24μA的電源電流即可提供200kHz的增益帶寬。經過解壓縮,可實現+5V/V的最小穩定增益,并提供600KHZ增益帶寬。此外這些放大器具有軌到軌輸出,高 AVOL ,以及出色的電源抑制和共模抑制比,適合在嘈雜環境中工作。廣泛應用于蜂窩電話、數字復讀裝置、耳機、助聽器、麥克風前置放大器、便攜計算機和語音識別系統中。

MAX4466模塊特點
電源電壓:+2.4V至+5.5V(可直接接STM/ARDUNIO/樹莓派等開發板)
電源抑制比:112dB
共模抑制比:126dB
AVOL:125dB(RL = 100kΩ) 軌到軌輸出
靜態電源電流:24μA
增益帶寬:600kHz
尺寸:20.8mm x 13.8mm x 7.5mm/0.8 x 0.5 x 0.3inch

該模塊在 Vcc 和接地引線上都包含鐵氧體,以最大限度地減少電源噪聲。如果與 MCU 一起使用,最好使用 2.4V – 5.5V 范圍內可用的最安靜的電源。在 Arduino 上,這通常是 3.3V 電源。輸出是直流耦合的。當輸出信號處于靜止狀態時,它將位于 Vcc/2。如果 Vcc 為 5V,則輸出將為 2.5V。如果輸出需要交流耦合,可以在輸出引腳和它驅動的電路的輸入之間增加一個100uF的電容。背面的小型單圈電位器可讓您將增益從 25x 調整到 125x。逆時針旋轉電位器會增加增益,而逆時針旋轉會降低增益。

【花雕動手做】有趣好玩的音樂可視化系列項目(31)–LCD1602液晶屏
項目程序之四:I2C LCD16x2液晶屏模擬頻譜Arduino音樂項目
Arduino------LCD1602
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 數據線
A5-----------SCL IIC 時鐘線

/*【花雕動手做】有趣好玩的音樂可視化系列項目(31)--LCD1602液晶屏項目程序之四:I2C LCD16x2液晶屏模擬頻譜Arduino音樂項目Arduino------LCD16025V-------------VCCGND-----------GNDA4-----------SDA IIC 數據線A5-----------SCL IIC 時鐘線 */#include <Wire.h> #include <LiquidCrystal_I2C.h>// Set the LCD address to 0x27 in PCF8574 by NXP and Set to 0x3F in PCF8574A by Ti LiquidCrystal_I2C lcd(0x27, 16, 2);int i = 0; int j = 0; int randomnum; int k = 0; byte customChar1[] = {0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F };byte customChar2[] = {0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F }; byte customChar3[] = {0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F }; byte customChar4[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F }; byte customChar5[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };void setup() {Serial.begin(9600);lcd.init(); //初始化LCDlcd.createChar(4, customChar1);lcd.createChar(3, customChar2);lcd.createChar(2, customChar3);lcd.createChar(1, customChar4);lcd.createChar(0, customChar5);lcd.clear();lcd.setCursor(4, 0);lcd.print("Welcome");lcd.setCursor(0, 1);lcd.print("TeachMeSomething");delay(2000);lcd.clear();lcd.backlight(); //打開背光 }void loop() {randomnum = random(6, 9);Serial.print ("random numer = ");Serial.println (randomnum);for (i = randomnum ; i > 0; i = i - 3){int z = i;Serial.print ("i value = ");Serial.println (i);Serial.print ("j= ");Serial.println (j);Serial.print ("k= ");Serial.println (k);test();lcd.setCursor(7, 0);lcd.write(j);lcd.setCursor(7, 1);lcd.write(k);i--;test();lcd.setCursor(8, 0);lcd.write(j);lcd.setCursor(8, 1);lcd.write(k);lcd.setCursor(6, 0);lcd.write(j);lcd.setCursor(6, 1);lcd.write(k);i--;test();lcd.setCursor(9, 0);lcd.write(j);lcd.setCursor(9, 1);lcd.write(k);lcd.setCursor(5, 0);lcd.write(j);lcd.setCursor(5, 1);lcd.write(k);i--;test();lcd.setCursor(10, 0);lcd.write(j);lcd.setCursor(10, 1);lcd.write(k);lcd.setCursor(4, 0);lcd.write(j);lcd.setCursor(4, 1);lcd.write(k);i--;test();lcd.setCursor(11, 0);lcd.write(j);lcd.setCursor(11, 1);lcd.write(k);lcd.setCursor(3, 0);lcd.write(j);lcd.setCursor(3, 1);lcd.write(k);i--;test();lcd.setCursor(12, 0);lcd.write(j);lcd.setCursor(12, 1);lcd.write(k);lcd.setCursor(2, 0);lcd.write(j);lcd.setCursor(2, 1);lcd.write(k);i--;test();lcd.setCursor(13, 0);lcd.write(j);lcd.setCursor(13, 1);lcd.write(k);lcd.setCursor(1, 0);lcd.write(j);lcd.setCursor(1, 1);lcd.write(k);i--;test();lcd.setCursor(14, 0);lcd.write(j);lcd.setCursor(14, 1);lcd.write(k);lcd.setCursor(0, 0);lcd.write(j);lcd.setCursor(0, 1);lcd.write(k);delay(50);lcd.clear();i = z;} }void test() {if (i == 8){j = 4;k = 4;}if (i == 7){j = 3;k = 4;}if (i == 6){j = 2;k = 4;}if (i == 5){j = 1;k = 4;}if (i == 4){j = 0;k = 4;}if (i == 3){j = 0;k = 3;}if (i == 2){j = 0;k = 2;}if (i == 1){j = 0;k = 1;}if (i == 0){j = 0;k = 0;} }

實驗串口返回情況


實驗場景圖

實驗場景圖 動態圖

(待續)

總結

以上是生活随笔為你收集整理的【花雕动手做】有趣好玩的音乐可视化系列项目(31)--LCD1602液晶屏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产又爽又黄免费视频 | 亚洲毛片久久 | 天天干妹子 | 精品一区二区三区视频 | 国产精品国产一区二区 | 波多野吉衣av在线 | 波多一区 | 国产呻吟av | 免费一级黄色大片 | 欧美片网站yy | 黄瓜视频在线免费观看 | 午夜九九九 | 丝袜国产在线 | 久久综合久久综合久久 | 高h教授1v1h喂奶 | 爱插美女网 | 999福利视频 | 熟女少妇精品一区二区 | 精品在线一区二区三区 | 国产成人在线免费观看视频 | 亚洲人成免费 | 男女乱淫视频 | 操bbbbb | 在线观看黄av | 久久久久www | www.youjizz日本 | 亚洲av无码国产精品永久一区 | 国产人人看 | 成年网站在线 | 国产精品久久久久久白浆 | 欧美大片免费高清观看 | 久久av综合 | 无码久久精品国产亚洲av影片 | 97在线观视频免费观看 | 国产中文欧美日韩在线 | 嫩草视频在线 | 日韩一区二区三区在线播放 | 日日噜噜噜夜夜爽爽狠狠视频97 | 伊人久操| 久久丁香网 | 蜜桃视频免费网站 | 免费精品在线视频 | 欧美在线免费看 | 少妇爽 | 美女屁股无遮挡 | 午夜影院 | 日本国产精品视频 | 欧美成人免费 | 亚洲交性网 | 亚洲精品久久久中文字幕痴女 | 黄页网站在线看 | 四虎国产成人精品免费一女五男 | www.国产一区二区 | 亚洲一区欧洲一区 | 国产男男gay体育生网站 | 日本www视频| 黄av网站| 日韩精品视| 日韩一区二区三区在线观看视频 | 中文字幕色 | 精品久久久久久久久久久久久久久久 | 尤物videos另类xxxx| 日韩欧洲亚洲AV无码精品 | 黄色片免费的 | 日本wwww视频| 色哟哟免费 | 夜夜嗨视频 | 亚洲理论片在线观看 | fc2ppv在线观看 | 久久免费偷拍视频 | 婷婷中文字幕 | 太久av| 亚洲大色网 | 乖女从小调教h尿便器小说 欧美韩一区二区 | 一本之道久久 | 毛片大全在线观看 | 草草浮力影院 | 青草久久久久 | 日本三级吃奶头添泬 | 成人综合一区二区 | 91久久伊人| 国产一区二区欧美日韩 | 女人被男人躁得好爽免费视频 | va免费视频 | 国产青草视频在线观看 | 丁香婷婷深情五月亚洲 | 粉嫩av国产一区二区三区 | 在线中文字幕播放 | 久久桃色 | 亚洲av综合永久无码精品天堂 | 欧美日韩在线播放三区四区 | 亚洲精品传媒 | 日韩v在线 | 日韩精品成人av | 日韩精品一线二线三线 | 牛牛精品一区二区 | 一区二区在线看 | 苍井空张开腿实干12次 | 午夜小电影 |