● 実験テーマ21
「VS1053b_MIDIプレーヤに、I2C液晶を追加する実験」
■ 2012.10.13
・PIC24Fトレーニング基板での、I2C液晶の表示実験は、割と順調に、OKと
なったので、次はこの応用として、前作の、VS1053b_MIDIプレーヤの表示器
として、このI2C液晶を使い再生ファイル名を、表示してみようと思う。
・ファイル名表示関数として、ライブラリの、1文字出力関数を下請け関数として
利用し次のように記述してみた。
void
File_Name_TX_I2C_LCD(void)
{
unsigned char i;
char *str_filename;
str_filename = Record.filename;
for
(i = 0; i <12; ++i) {
lcd_data(str_filename[i]);
}
lcd_cmd(0x80); // Cursor Home
for(
i= 0; i<12; ++i) str_filename[i] = 0;
}
■ 2012.10.14
・ハードを作り上げる。
@ MIDIエンコード・ユニバーサル基板上に、I2C液晶モジュールをスタックする、
ソケットコネクタを追加
A 下基板(PIC24F_MAIN_BOARD)の、I2Cラインとの接続コネクタとケーブルを
追加
B +3.3V/GNDを、I2Cソケットコネクタに供給
■ 2012.10.15
・ソフト検討
<モジュール構成整理>
プロジェクト名:easy_mp3_and_midi_player_add_i2c_lcd_24f
メインソース:easy_mp3_and_midi_player_add_i2c_lcd_24f.c
VS10XXライブラリ:VS1011.C→ 遅延関数はこの中の後閑氏作成のを使用
VS10XXヘッダ:VS1011.H
FAT16類:FSIO.C
FSconfig.h
FSDefs.h
FSIO.H
SD-SPI: SD-SPI.C
SD-SPI.H
Generic TypDefs.h
I2C液晶:lcd_i2c_lib.c→ 前回のI2C液晶の実験では、ここに自作の遅延関数を入れたが、今回は、
VS1011.Cの中の、後閑氏作成のものを使うので、ここの遅延関数は
削除した。
lcd_i2c_lib.h→ お尻に記述のプロトタイプの遅延関数宣言を後閑氏のものと替える
必要がある。
■ 2012.10.16
・昨日作成したファームをコンパイル&HEXロード
→ 一発OK
→ 一応、I2C液晶に供給されている、+3.3Vを確認
3.30V来ている。
→ ここで動作確認
@ 一応、液晶表示した。
デバッグ用の、初期 2ライン表示 OK
ただその後の、画面クリアを忘れていたので、ファイル名表示の時、2行目の表示が残って
しまっていた。
A ただここで問題
SDトップの、ファイル名は表示するが、再生中のスキップで次のファイル名を表示しない。
→ これは、単純ミスであった。
SKIPルーチンに、ファイル名表示関数を入れ忘れていた。
→ ソースを修正し、OKを確認
これで問題なさそうである。
<最終回路図>
・こちらから、どうぞ→ 「VS1053b_MIDIプレーヤ_I2C液晶付
回路図」
<最終ソース>
・こちらから、どうぞ→ easy_mp3_and_midi_player_add_i2c_lcd_24f.c
→ メインソース
lcd_i2c_lib.c
→ I2C液晶ライブラリ・ソース
lcd_i2c_lib.h
→ I2C液晶ヘッダファイル
← 実験テーマ1に戻る TOP PAGEに戻る 実験テーマ22へ →