2016年5月18日水曜日

Nucleo F401RE(mbed)でNokia5110を動かす。

NucleoF401REでNokiaのSPI LCDのLCD5110を動作させてみた。

ブレッドボード図


5V->3.3Vのレベル変換には74HC4050を使った。(参考「ロジックICでSPIの5V->3.3Vレベルシフト Nokia LCD5110を動かす」)

<追記:2016.05.19>

Nucleoは3.3V駆動のようで5V->3.3Vのレベル変換は不要でした。3.3VのLCDに直結して大丈夫です。

</追記>

mbedのオンライン・コンパイラで、「5110_Display」というプログラムを見つけてインポートして使った。

main.cppのN_5110_Displayクラスのコンストラクタで、引数をブレッドボード図の接続の通りNucleoのPin名(Arduino互換名)に変更。

//N_5110_Display Display( p5, p6, p7, p8, p9, p10 );
N_5110_Display Display( D11, NC, D13, D10, D9, D8 );

また、cmsis.hが見つからないというエラーが出たが、mbedライブラリをアップデートしたらコンパイルできた。


プログラムワークスペースで「mbed」の上で右クリック。

メモ:


このN_5110_DisplayクラスはmbedのSPIを使っているようだ。

無償のSTM32用のIDEに「CooCox」意外にも「AC6 SW4STM32」というのがあるようだ。

ARM Cortex-M4でIOピンも多いし安いし(\1,500@秋月)シーケンサーはArduinoからNucleoに移行しようかな…

ToDo:


タイマー割り込み、PSoCとSPI通信、ロータリーエンコーダー、タクトスイッチのチャタリング対策