那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RGBLED鍵盤模塊鋼琴的制作

454398 ? 來源:工程師吳畏 ? 2019-08-09 11:10 ? 次閱讀

步驟1:需要的材料

材料清單

Piezo Buzzer 1x

4x4鍵盤模塊1x

Arduino Uno 1x

USB 2.0電纜類型A/B 1x

聲音傳感器模塊1x

RGB LED 1x

330歐姆電阻3x

公對母跳線8x

男性跳線4x

3 pin公對母跳線1x

材料清單與上面的圖片有序。

第2步:建立時間!

4x4鍵盤模塊& Piezo Buzzer

理論

由于4x4鍵盤模塊和壓電蜂鳴器包含許多單獨的引腳輸入,我決定將所用的組件分成兩部分對。專注于鍵盤,通常用作輸入。 SunFounder 4 * 4矩陣鍵盤模塊是一個矩陣非編碼鍵盤,由16個并行鍵組成,每行和每列的鍵通過外部引腳連接 - 引腳Y1-Y4,如同標記旁邊控制行,當X1- X4,列。

目的

這些組件對整個項目的目的是允許用戶按下設置為a的按鈕壓電蜂鳴器通過赫茲頻率產生的特定聲音。

矩陣模塊引腳 - Arduino引腳

4 - 2

3 - 3

2 - 4

1 - 5

5 - 6

6 - 7

7 - 8

8 - 13

Piezo Buzzer - Arduino Pin

黑色 - GND

紅色 - 電源

我在這個版本中最困難的任務是弄清楚每根電線插入的位置。上面我提供了快速簡便的線路位置,只要按照從上到下的方式,尖端需要花費時間并確保每個引腳都正確插入正確的插槽。

*提示是遵循每根導線從一端到另一端的位置。

特定元件導線的所有Tinkercad草圖都是正確的顏色編碼,因此請仔細閱讀。

第3步:聲音傳感器模塊和RGB LED

聲音傳感器模塊和RGB LED

理論

聲音傳感器模塊允許您檢測聲音何時超過您選擇的設定點。通過麥克風檢測聲音并將其饋入LM393運算放大器。一旦聲級超過設定值,模塊上的LED將亮起并輸出。

目的

這些組件對整個項目的目的是獲得聲音傳感器模塊的聲音/音量讀數,通過讀取RGB LED將激活與聲音有關的正確顏色。

聲音傳感器模塊 - Arduino引腳(使用3針跳線)

輸出 - A0模擬引腳

GND - 任何開路GND引腳插槽

VCC - 3V

RGB共陽極(+)LED - Arduino引腳

紅色 - 9

電源 - 5V

綠色 - 10

藍色 - 11

請記住電線,每根電線穿過330歐姆電阻。使用上面的圖片作為參考。

我在這個版本中最困難的任務是弄清楚每根電線插入的位置。上面我提供了快速簡便的線路位置,只要按照從上到下的方式,提示就是花時間確保每個引腳都正確插入到正確的插槽中以防止將來調試。

*提示是遵循每條線插入的方式。

特定組件線的所有Tinkercad草圖都是正確的顏色編碼,因此請遵循。

步驟4:代碼

代碼

此代碼允許使用新定義的所有組件一起工作功能包含所有許多控件一個組件,它有許多可變變量,這些組件是RGB led,并使用rgb顏色改變打開時的顏色和壓電蜂鳴器以及根據按鈕按下它會產生的聲音。

此代碼中必須包含鍵盤庫

下載后,將新庫添加到ardu中ino,然后插入激活它所需的單行代碼。

我在代碼中遇到的困難是將新定義的函數放在何處通過反復試驗我發現它必須在設置中而不是循環。

代碼

#include // Keypad Library

int greenPin = 11; //RGB Green Pin connected to digital pin 9

int redPin= 10; //RGB Red Pin connected to digital pin 9

int bluePin = 9; //RGB Blue Pin connected to digital pin 9

int speakerPin = 12; // speaker connected to digital pin 12

const byte ROWS = 4; // four rows

const byte COLS = 4; // four coloums

const int soundPin = A0; //sound sensor attach to A0

char keys[ROWS][COLS] = {

{‘a’,‘b’,‘c’,‘d’},

{‘e’,‘f’,‘g’,‘h’},

{‘i’,‘j’,‘k’,‘l’},

{‘m’,‘n’,‘o’,‘p’}

}; // Visualization of keypad module

byte rowPins[ROWS] = {2, 3, 4, 5}; // connect to the row pinouts of the keypad

byte colPins[COLS] = {6, 7, 8, 13}; // connect to the colum pinouts of the keypad

Keypad keypad = Keypad ( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); // Creates keys

void setup(){

pinMode(speakerPin, OUTPUT); // sets the speakerPin to be an output

pinMode(redPin, OUTPUT); // sets the red pin to be an output

pinMode(greenPin, OUTPUT); // sets the green pin to be an output

pinMode(bluePin, OUTPUT); // sets the blue pin to be an output

Serial.begin (9600);

}

void setColor(int red, int green, int blue) // New defined function to allow RGB to display colour through RGB code

{

#ifdef COMMON_ANODE

red = 255 - red;

green = 255 - green;

blue = 255 - blue;

#endif

analogWrite(redPin, red);

analogWrite(greenPin, green);

analogWrite(bluePin, blue);

}

void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds){ // the sound producing functions

int x;

long delayAmount = (long)(1000000/frequencyInHertz);

long loopTime = (long)((timeInMilliseconds*1000)/(delayAmount*2));

for (x=0;x

void loop (){

char key = keypad.getKey();

int value = analogRead(soundPin);//read the value of A0

Serial.println(value);//print the value

if (key != NO_KEY) {

Serial.println(key);

}

if (key==‘a’){

beep(speakerPin,2093,100);

setColor(218, 112, 214);

}

if (key==‘b’){

beep(speakerPin,2349,100);

setColor(218, 112, 214);

}

if (key==‘c’){

beep(speakerPin,2637,100);

setColor(218, 112, 214);

}

if (key==‘d’){

beep(speakerPin,2793,100);

setColor(218, 112, 214);

}

if (key==‘e’){

beep(speakerPin,3136,100);

setColor(218, 112, 214);

}

if (key==‘f’){

beep(speakerPin,3520,100);

setColor(218, 112, 214);

}

if (key==‘g’){

beep(speakerPin,3951,100);

setColor(218, 112, 214);

}

if (key==‘h’){

beep(speakerPin,4186,100);

setColor(218, 112, 214);

}

if (key==‘i’){

beep(speakerPin,2093,100);

setColor(230, 230,0 );

}

if (key==‘j’){

beep(speakerPin,2349,100);

setColor(180,255,130);

}

if (key==‘k’){

beep(speakerPin,2637,100);

setColor(130,255,130);

}

if (key==‘l’){

beep(speakerPin,2739,100);

setColor(130,220,130);

}

if (key==‘m’){

beep(speakerPin,3136,100);

setColor(0,255,255);

}

if (key==‘n’){

beep(speakerPin,3520,100);

setColor(0,220,255);

}

if (key==‘o’){

beep(speakerPin,3951,100);

setColor(0,69,255);

}

if (key==‘p’){

beep(speakerPin,4186,100);

setColor(255, 0,255 );

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23362

    瀏覽量

    663245
  • 鋼琴
    +關注

    關注

    0

    文章

    9

    瀏覽量

    7799
收藏 人收藏

    評論

    相關推薦

    AN-660:XY矩陣鍵盤與MicroConverter的接口

    電子發燒友網站提供《AN-660:XY矩陣鍵盤與MicroConverter的接口.pdf》資料免費下載
    發表于 01-13 16:02 ?0次下載
    AN-660:XY矩陣<b class='flag-5'>鍵盤</b>與MicroConverter的接口

    TCA8418用來做鍵盤擴展,有時候設備開關機或進入睡眠狀態,啟動或喚醒會出現鍵盤失靈現象,怎么解決?

    在TCA8418旁邊有13.56MHZ的讀卡模塊,TCA8418用來做鍵盤擴展,有時候設備開關機,或進入睡眠狀態,啟動或喚醒會出現鍵盤失靈現象。8418是什么原因受干擾,有什么辦法避免么,有什么好的解決方法。
    發表于 01-03 08:04

    村田制作所推出遠距離高速Wi-Fi HaLow通信模塊

    株式會社村田制作所近期宣布,成功研發出兩款全新的通信模塊——“Type 2HK”與“Type 2HL”,這兩款模塊均能夠實現1公里以上的遠距離高速數據傳輸,并全面支持Wi-Fi?標準中的“Wi-Fi
    的頭像 發表于 12-25 16:16 ?486次閱讀

    村田制作所推出小型低功耗IoT通信模塊

    株式會社村田制作所近期宣布,已成功開發出針對IoT(物聯網)設備的全新通信模塊——“Type 2FR/2FP”。這款模塊集成了Wi-Fi 6、Bluetooth? Low Energy以及
    的頭像 發表于 12-24 13:47 ?448次閱讀

    使用TLC5951進行鍵盤背光

    電子發燒友網站提供《使用TLC5951進行鍵盤背光.pdf》資料免費下載
    發表于 10-08 10:31 ?0次下載
    使用TLC5951進行<b class='flag-5'>鍵盤</b>背光

    基于XIAO SAMD21開發板的數字鍵盤制作方案

    今天小編給大家帶來了來自印度的Arnov Sharma 制作的基于XIAO SAMD21的數字鍵盤項目,該項目可以通過按鍵在電腦和OLED的屏幕上輸入0-9的阿拉伯數字,可以當作一個數字副鍵盤來使用。
    的頭像 發表于 09-06 10:02 ?409次閱讀
    基于XIAO SAMD21開發板的數字<b class='flag-5'>鍵盤</b><b class='flag-5'>制作</b>方案

    鍵盤、按鈕和側鍵的ESD保護

    電子發燒友網站提供《鍵盤、按鈕和側鍵的ESD保護.pdf》資料免費下載
    發表于 08-30 10:08 ?0次下載
    <b class='flag-5'>鍵盤</b>、按鈕和側鍵的ESD保護

    開源項目!基于 Arduino DIY 漂亮的宏機械鍵盤

    。 接下來,我們將要制作的這款鍵盤擁有 12 個按鍵,你可以根據自己的喜好和需求,將這些按鍵與所需的快捷鍵進行關聯。盡管這個項目聽起來可能有些復雜,但實際上無論是電子部分還是軟件部分,都非常易于上手和操作
    發表于 08-19 17:02

    磁軸鍵盤霍爾開關MST-MH481霍爾磁軸機械鍵盤

    磁軸鍵盤是一種利用霍爾效應進行觸發的鍵盤,與傳統的機械鍵盤有所不同。磁軸鍵盤的軸體采用了霍爾效應技術,可以更快速、更穩定地觸發按鍵,同時也具有更高的耐用性和更長的使用壽命。它能夠為每個
    的頭像 發表于 06-22 08:07 ?817次閱讀
    磁軸<b class='flag-5'>鍵盤</b>霍爾開關MST-MH481霍爾磁軸機械<b class='flag-5'>鍵盤</b>

    鍵盤的矩陣規格設計圖

    鍵盤的矩陣規格設計圖
    發表于 06-19 14:29 ?0次下載

    老陸測功耗 | 鍵盤敲出火星子啦

    高效辦公離不開稱手的鍵盤,如何“鍵”入佳境?比起有線鍵盤的那根線,無線鍵盤的多種連接模式讓辦公少了一“線”雜亂。比起電量突然耗盡的手足無措,隨時更換干電池顯得更加貼心。我們本期選擇了兩款干電池
    的頭像 發表于 06-04 08:04 ?1050次閱讀
    老陸測功耗 | <b class='flag-5'>鍵盤</b>敲出火星子啦

    機械鍵盤又進化出磁軸了?電競鍵盤上霍爾元件的選型

    對于電競鍵盤來說,霍爾元件的選擇至關重要。首先,霍爾元件需要有足夠的靈敏度,以感知輕微的磁場變化。其次,它需要有足夠的響應速度,以滿足高速電競游戲的需求。此外,為了保證鍵盤的使用壽命,霍爾元件還需要有較高的耐用性和穩定性。
    的頭像 發表于 05-11 15:27 ?1534次閱讀
    機械<b class='flag-5'>鍵盤</b>又進化出磁軸了?電競<b class='flag-5'>鍵盤</b>上霍爾元件的選型

    電競磁軸鍵盤高精度線性霍爾傳感器方案-鈞敏科技

    電競磁軸鍵盤高精度線性霍爾傳感器方案什么是磁軸鍵盤?一、簡介磁軸鍵盤是一種新型的電腦鍵盤,相較于傳統的機械鍵盤而言,它采用了磁性材料和磁場進
    的頭像 發表于 04-23 09:28 ?829次閱讀
    電競磁軸<b class='flag-5'>鍵盤</b>高精度線性霍爾傳感器方案-鈞敏科技

    什么是磁軸鍵盤?電競磁軸鍵盤高精度線性霍爾傳感器方案簡析

    磁軸鍵盤是一種新型的電腦鍵盤,相較于傳統的機械鍵盤而言,它采用了磁性材料和磁場進行操作,具有更輕柔、噪音更小、壽命更長的優點
    的頭像 發表于 04-18 14:12 ?6862次閱讀
    什么是磁軸<b class='flag-5'>鍵盤</b>?電競磁軸<b class='flag-5'>鍵盤</b>高精度線性霍爾傳感器方案簡析

    定制化DC電源模塊的設計與制作

    定制化DC電源模塊的設計與制作 定制化DC電源模塊的設計與制作需要按照具體需求和要求來進行。下面是一般的設計和制作步驟: 1. 確定需求和規
    的頭像 發表于 02-29 13:48 ?709次閱讀
    定制化DC電源<b class='flag-5'>模塊</b>的設計與<b class='flag-5'>制作</b>
    国美百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城投注| 百家乐官网怎样投注好| 百家乐稳赚打法| bet365金融| 皇冠百家乐官网的玩法技巧和规则| 网上百家乐网站导航| 外围赌球网站| 百家乐的必胜方法| 鸿利国际| 百家乐游戏补牌规则| 达尔| 百家乐投注科学公式| 米泉市| 百家乐开和几率| 梅河口市| 百家乐公式与赌法| 网络百家乐官网路单图| 中原百家乐的玩法技巧和规则| 百家乐官网玩法秘诀| 百家乐连跳趋势| 合肥百家乐官网赌博机| 新澳门百家乐的玩法技巧和规则| 金鼎百家乐官网局部算牌法| 百家乐平注常赢玩法| 世嘉百家乐官网的玩法技巧和规则| 德州扑克下载| 百家乐最稳妥的打法| 百家乐官网娱乐城优惠| 太阳城二手房| 百家乐官网开户| 澳门百家乐官网赢钱| 百家乐平台| 百家乐官网筹码币套装| 福鼎市| 云鼎百家乐的玩法技巧和规则| 东方夏威夷网站| 澳门百家乐博牌| 百家乐官网软件稳赚| bet365娱乐平台| gt百家乐平台|