小型グラフィックLCDモジュールの「S95160-32」を、STM32F4-Discoveryで制御するためのソフトウエアサブルーチンライブラリです。手軽にprintf()関数で簡単に文字表示を行う事が出来ます。4線抵抗型タッチスクリーンもサポートしています。
S95160 は、SUCCESS ELECTRONIC社で製造している3.2ンチ240×320ドットTFTの LCDモジュールで、aitendoで安価にて入手可能な表示装置です。接続が16bitパラレルと使いにくい面もありますが、3V単一電源でタッチパネル付き、1mmピッチで直接ハンダ付けも十分可能です。
これは、その制御ソフトウエアの部分を克服するためのサブルーチンです。
目次
主な仕様
対応LCDモジュール: SUCCESS ELECTRONIC社 S95160
I/Oポート: 24本、内2本はアナログポート
座標: X方向左=0、X方向右=239、Y方向上=0、 Y方向下=319
表示図形: 塗りつぶし矩形、任意角度・任意幅の直線、固定6サイズの文字、円弧
文字種: ASCII 7bitコード0x20-0x7f
文字フォント: 6×8, 8×12, 12×16, 16×24, 18×24, 24×36ドット
文字数: 40桁×40行(6×8の場合)
カーソル機能: なし
スクロール機能: なし(ラップアラウンド表示されます)
バックライト制御: なし
動作に必要なもの
ハードウェア
STM32F4-Discovery
STマイクロエレクトロニクス社の開発評価ボードで、3軸モーションセンサー、マイクロホンやDAC付きD級アンプなどが乗った豪華仕様のものです。すぐマイクロコントローラのソフトウェア開発が始められるセットです。今回は、”STM32F4DISCOVERY”というボードで、秋月電子では3千円台で購入できます。
S95160
SUCCESS ELECTRONIC社のグラフィックLCDモジュールで、TFT液晶カラー240×320ドット3インチクラスのバックライト+タッチパネル付きです。
安定的に入手できる部品ではありませんが、互換品などを探すと比較的入手しやすい製品だと思います。見た目が同じような感じで、コントローラチップが”SOLOMON SYSTECH SSD1289Z”であれば、たぶん使えます。
私は、”aitendo”からS95160-32という品番で2480円で購入しました。また、液晶キャリーボードIFB-S95517-PCB/350円というピッチ変換基板があったので、これも購入。工作が楽になります。
半田付け
評価ボードとLCDモジュール間を結線する必要があります。
ソフトウェア
開発環境
STM32のソフトウェアを開発するPC環境が必要です。ここでは、Eclipseを利用しましたので、これを動かせるPCが必要です。Windows, Linux, MacOSを選択できます。また、EclipseにSTM32のソフトウェアを開発するための機能追加と設定が必要になっています。設定方法は、インターネット検索して調べて下さい。
OS: MacOSX 10.8.3
Java: JRE 1.6.0_43
IDE: Eclipse 4.2.1.v20120814-120134
Eclipse IDE for C/C++ Developers 1.5.1.20121004-1506
Compiler: GNU toolchain from ARM Cortex-M & Cortex-R processors
GCC ARM Embedded in Lanchpad 4.7 2012q4
Library: STM32F4xx_StdPeriph_Driver
ROM Writer: QSTLink2
プログラム書き込みには、QSTLink2というアプリケーションを使用しましたが、同じ機能があれば何でもOKです。
ダウンロード
ソースファイル
関連ソース全てとサンプルプログラムが入ったEclipse用のプロジェクトファイル
「GraphicLCD_S95160_Sample 0.2.zip」(5.9MB) V0.2(2014.3.23更新:GUIサポート)
※[2014.3.23] V0.2で簡単なGUI機能もサポートしました。
回路図ファイル
サンプル回路図のEAGLE用のプロジェクトファイル
「GraphicLCD_sample_s95160.zip」(132kB)
<リセットピンの処理の仕方とバックライトの電源の取り方を変えています。2014.2.1>
サンプルの動かし方
・STM32F4-DiscoveryとLCDモジュール間を配線する。
・適当なディレクトリにダウンロードしたファイルを展開します。
・STM32F4-DiscoveryとPCをUSBケーブルで接続し、プログラム書込みツールでBINファイルを書込み。
・書込み完了と同時に、画面に”Hello world”の表示が出るはずです。
・バックライトの電源に関係なく、表示は行われます。
・IDE(eclipse)でビルドが出来る状態であれば、サンプルが4種類含まれていますので、ソースファイルの有効/無効にする操作を行う事で、色々試してみる事が出来ます。
・main_sample2.cでは、 画面を触ると、その位置に押した強さに応じた色が塗られます。
ユーザアプリケーションプログラムでの使い方
ソースコードで提供されるライブラリですので、ユーザプロジェクトでコンパイル対象に入れれば、本ライブラリを呼び出せる様になります。具体的には、ユーザのプロジェクトのディレクトリ内に本ライブラリソースファイル全てをコピーし、プロジェクトにもソースファイルを追加登録しておきます。
使用するI/Oポートを変更したい場合、下記のソースファイルの#define定義を変える事で対応できます。
文字を表示するだけのアプリケーションプログラムでは、printf()を使うだけで画面表示されます。#includeする必要もありません。それ以上の事を行いたい場合は、以下のAPIを使って下さい。
API(アプリケーションプログラムインタフェース)
このページを参照ください。
Copyright©2013-2014 Toyohiko TOGASHI
コメントを残す