步驟1:組件
Atmega8微控制器
套接字DIP28
極化電容器10uF?50uF
連接器5x2引腳(可選)
連接器1x4引腳
石英16Mhz
陶瓷電容器33pF
電阻2k2
電阻68歐姆
Zenner Diodes 3V6
原型板
步驟2:原理圖
電路圖很簡單。
這是用于實現USBasp編程器的標準原理圖。
區別在于我們將要放入ATmega8的固件。
第3步:安裝USB連接器
要安裝USB連接器,我們需要制作兩個2-2.5mm的孔。
步驟4:安裝電阻器
步驟6:安裝DIP28 Soket
。..以及電容器和16 MHz石英。
步驟7:模塊已完成
安裝4針連接器后模塊已完成。
從左開始向右:
Pin 1-Gnd
Pin 2-Vdd
Pin 3-Rx
Pin 4-Tx
我尚未安裝5x2pin ISP連接器,因為我已經可以在先前制造的模塊上寫入固件。
如果無法在外部寫入固件該項目將必須安裝ISP連接器(5x2pin)并根據示意圖進行連接。
步驟8:刻錄固件
要為ATmega8編寫固件,我們需要一個程序員。圖像中的一個是USBasp。當然,您也可以使用任何其他兼容的編程器。
MidiShield1Hex.zip僅包含十六進制文件。
MidiShield1.zip包含整個AVR Studio 4項目。
固件是MOCO/MICO的略微修改版本– USB轉MIDI轉換器。
。
步驟9:與Arduino配合使用
現在我們可以在Arduino開發板和USB模塊之間建立連接。
實際上,這很簡單。只需插入兩個微控制器的串行端口和GND:
RX從Atmega8到Atmega32的TX(或Arduino的TX)
TX從Atmega8到Atmega32的RX(或Arduino的RX)
GND從Atmega8到Atmega32(Arduino)的GND
在我的設置中我未連接VCC,因為USB接口由USB供電端口(或HUB)和Arduino(Atmega32)分別供電。
現在,我們可以使用Arduino IDE進行首次測試。如您所見,它可以與標準示例文件》》示例》》通信》》 MIDI一起使用。
void setup() {
// Set MIDI baud rate:
Serial.begin(31250);
}
void loop() {
// play notes from F#-0 (0x1E) to F#-5 (0x5A):
for (int note = 0x1E; note 《 0x5A; note ++) {
//Note on channel 1 (0x90), some note value (note), middle velocity (0x45):
noteOn(0x90, note, 0x45);
delay(100);
//Note on channel 1 (0x90), some note value (note), silent velocity (0x00):
noteOn(0x90, note, 0x00);
delay(100);
}
}
// plays a MIDI note. Doesn‘t check to see that
// cmd is greater than 127, or that data values are less than 127:
void noteOn(int cmd, int pitch, int velocity) {
Serial.write(cmd);
Serial.write(pitch);
Serial.write(velocity);
}
您還可以安裝以下庫:https://github.com/FortySevenEffects/arduino_midi_library。
步驟10:屏幕截圖
在ATmega8中刻錄固件并建立連接后,我將USB電纜連接到了計算機。Windows立即檢測到該設備并安裝了標準驅動程序。不需要其他驅動程序(在Windows7-64bit和WindowsXP-32bit上測試)。
我還使用Fl Studio和Traktor進行了測試。
責任編輯:wv
-
接口
+關注
關注
33文章
8515瀏覽量
150853 -
MIDI
+關注
關注
0文章
75瀏覽量
15635 -
Arduino
+關注
關注
187文章
6464瀏覽量
186669
發布評論請先 登錄
相關推薦
評論