LCDディスプレイ表示とSDカード記録

これは有名な話ですが Arduino とは市販のマイコンに入出力ポートやソフトウェア開発環境 Arduino IDE を組み合わせて、誰でも簡単に扱えるようにパッケージ化されたものです。

逆に言えば Arduino IDE を用いてプログラムを書き込まれたマイコンは Arduino というパッケージから切り離されても単体で動作するということでもあります。

もちろん Arduino IDE に備わっているシリアルモニタも使えない上に USB-TTL シリアル変換もありません。そこでマイコンの挙動を確認するための液晶ディスプレイ (LCD) と単体で記録を保持するための記録メディアへの書き込み、もしくは無線通信機能はほぼ必須になります。

今回の対象は LCD への文字表示と SDカードへの書き込みです。やることは 過去記事1 (液晶ディスプレイ表示) 過去記事2 (SDカード書き込み) の組み合わせになります。


まず接続ピンのおさらいです。こちらは液晶ディスプレイモジュール AQM1602XA-RN-GBW

AQM1602XA-RN-GBW ARDUINO UNO Pin
V+ VCC 5V
SCL SCL A5
SDA SDA A4
GND GND GND




こちらがSDカードモジュール AE-M-SD-DIP です

AE-M-SD-DIP ARDUINO UNO Pin
#2 CD/DAT3 chip select D4 #10
#3 CMD/DI host command/data MOSI #11
#4 VDD supply voltage 3V3 3.3V
#5 CLK clock SCL #13
#6 VSS supply ground GND GND
#7 DAT0 host data/status MISO #12

これらの配線を接続して動かすスケッチは以下のようになります。

前回は I2C の Wire ライブラリのみを用いて LCD に文字表示をしましたけれども、本題と無関係なところでソースコードが冗長になるので今回は ST7032_asukiaaa を使用します。

ライブラリマネージャから導入可能かつ最終更新日が新しいという基準で選定していますので、他のライブラリではいけないというわけではありません。

今回はブレッドボードに移植することを考えてシリアルモニタを使用していませんので、この LCD 表示が頼りです。

2行目の SPI.h は SPI インターフェイスを持つデバイスとのデータの受け渡しを行うための Arduino IDE の標準ライブラリです。SD カードドライブは通信の際に SPI バスを使用するためライブラリが必要になります。

SD カードの読み書きに関連してもう一点、気をつけないといけないのは Arduino の対応フォーマットは FAT または FAT32 であることです。使用する SD カードは化石のような 2GB のほうが認識する可能性が高く、伝聞によると 16GB 以上の容量を持つ SDHC では使用できないこともあるらしいです。

私は一応 SanDisk Ultra PLUS microSDHC 16GB (SDSDQUPN-016G-J35A) と TOSHIBA microSDHC 16GB (MSDAR40N) の2種類を使用して動作確認をしています。

スケッチを書き込んで動くことを確認できましたら Arduino からマイコン ATMEGA328P-PU を引き抜いて移植するだけです。

ただマイコンをブレッドボードに載せれば良いわけではなく、デジタル回路のクロック源として水晶振動子、電圧を平滑化しマイコンを正しく動作させるためのキャパシタ、それから 5V と 3.3V のそれぞれの電源が必要になります。

現在ちょうど手元に部品が揃っていないので、ブレッドボード上でマイコンを動かすために必要な部品は次回にまとめるかもしれません。


作る・できる/基礎入門 電子工作の素

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact Us