あれやこれやの日々

幅広いエンジニアリング情報を掲載

Arduino MEGA ADKで1.8インチLCDを使ってみた!

2015年07月07日 | ブログ

Arduino MEGA ADKの開発環境が整ったので、徐々にペリフェラルを開拓していこうと思い、

いきなりLCDを接続してみることにした。

検索してみると意外とLCDモジュールがあるのに驚いたが、

カラー表示ができ、ある程度表示面積があり、お手頃(失敗してもダメージが少ない)な1.8インチTFTにしてみた。

下調べでは、Arduino UNOと接続する記事はいくつかあり、多少ハードルが高そうだったが、

まあなんとかなるだろうと”ポチッ”とクリック。2日程で到着、流石はAmazon!

中身の確認もしていないのに、マーケットプレイスの評価催促メールが届き、

急いで作業開始した次第・・・・

取り急ぎ、1.8インチLCDの環境構築、立ち上げまでの手順を以下に記載した。

 

1.環境概要

  • 使用するハードウェア

 ボード:Arduino MEGA ADK

 LCD :SainSmart 1.8" TFT カラー LCD ディスプレイモジュール SPI インターフェース &MicroSD 付

 製品URL:http://www.sainsmart.com/sainsmart-1-8-spi-lcd-module-with-microsd-led-backlight-for-arduino-mega-atmel-atmega.html

 電源供給:USBケーブル経由

  • 使用するソフトウェア

 統合開発環境:Arduino IDE

 ライブラリ・サンプルコード:TFT18.rar

 ダウンロード先:http://www.selloutsoon.com/albums/documents/20-011-920/TFT18.rar

 ※Windows環境では、rar形式の解凍ツールが必要

2.ハードウェア環境の構築

  LCDモジュールには接続ケーブル、取説等一切付属していないので、地道に自分で用意することになる。

  LCDモジュールの接続端子確認 

 

   モジュール裏の基盤に端子の詳細がシルク印刷されている。

    写真右から

    1:Vcc   (Arduinoとの接続に使用する)

    2:GND  (Arduinoとの接続に使用する)  

    3:SCL   (Arduinoとの接続に使用する)

    4:SDA   (Arduinoとの接続に使用する)

    5:DC   (Arduinoとの接続に使用する)

    6:RES    (Arduinoとの接続に使用する)

    7:CS   (Arduinoとの接続に使用する)

    8:MISO  (MicroSDインターフェース)

    9:SCLK  (MicroSDインターフェース)

   10:MOSI  (MicroSDインターフェース)

   11:CS    (MicroSDインターフェース)

   今回使用する端子は1-7番ピンである。

 

  ②Arduino MEGA ADKの接続端子確認 

 

 

 

  サンプルコードでは、既にIOポートの割り当てが行われているが、

  これらはユーザーが任意に変更することができる。

  今回は配線が楽なフラットになる様にポートのレイアウトを以下の様に変更した。

  Arduino側 5Vピン  <=> TFT側 1番ピン Vcc

  Arduino側 GNDピン <=> TFT側 2番ピン GND 

  Arduino側 8番ピン  <=> TFT側 7番ピン CS 

  Arduino側 9番ピン  <=> TFT側 6番ピン RES  

  Arduino側 10番ピン <=> TFT側 5番ピン DC 

  Arduino側 11番ピン <=> TFT側 4番ピン SDA

  Arduino側 13番ピン <=> TFT側 3番ピン SCL

 

③配線作業  

 ブレッドボードでもあれば楽なのだが、残念ながら持ち合わせていないので、とりあえず動作確認ができる程度ということで、

 配線用線材を15cm程に切り、ピンヘッダへ1本ずつハンダ付けした。

 ST7735Rの仕様書を見ても、信号周波数に関する値は、高くても1MHz以下の様だったので、大丈夫だろう

 以上でハードウェアの準備が完了したことになる。 

 信号線のアサインが分かれば難しいことはない。しかしこう言った基本的な情報が容易に入手できない所は、昔から

 この業界のダメなところではないだろうか。

 

 3.ソフトウェア環境の構築

 TFTモジュールを使用する方法として、2通りのやり方がある。1つはSainSmart社サイトから入手できるライブラリ・サンプルコードを使用する方法。

もう一つは統合開発環境IDEのスケッチの例にあるTFTサンプルスケッチを使用する方法である。

まずは、前者からやってみた。

1)SainSmart社サイトからのライブラリ・サンプルコードダウンロード

 リンクURL:http://www.selloutsoon.com/albums/documents/20-011-920/TFT18.rar からダウンロードする。

 ダウンロードされたファイルはTFT18.rar。Windows環境ではrar形式を解凍するソフトを別途用意しなければならない。

 今回は7-Zipを使用した。

 

1)統合開発環境IDEへのライブラリ・サンプルコードの組込み

 解凍したフォルダTFT18内には仕様書、ライブラリソース、サンプルスケッチ(フォルダ:examples内)が含まれている。

 IDEへの組込みは、TFT18フォルダごと、スケッチライブラリへコピーすればよい。通常デフォルトでのIDE用スケッチライブラリは

 c:\ユーザー\ユーザー名\マイドキュメント\Arduino\libraries になっているので、c:\...\libraries 下にTFT18フォルダをコピーする。

 

2)統合開発環境IDEでサンプルスケッチの読み込み

 以下の手順でサンプルスケッチを開いてみる。

 1)IDEを起動する。

 2)トップメニュー > ファイル > スケッチの例 > TFT18 を選択する。

  TFT18がリストの一番下に追加されていればOK。 

 3)サンプルスケッチが以下の3つ表示される。

graphicstest

graphicstest_highspeed

spitftbitmap

とりあえずgraphicstestを選択する。

この様に表示されればOK.

さてサンプルコードのままでは当然動作しないので、これからあれこれと修正していくことになる。

 

3)サンプルスケッチの修正

  まず、今表示している ソースコード:graphicstest.pdeを修正する。このファイルではIOポートのアサインの変更を行う。

  2-②の内容に従い、ポート番号を変更する。

#define sclk 13
#define mosi 11
#define cs 8
#define dc 10
#define rst 9  // you can also connect this to the Arduino reset

  この内容で保存する。保存する際、上書きがでいないエラーが表示されるので、新規でスケッチフォルダを作成して保存する。

 

4)ライブラリソースの修正

  修正するライブラリソースファイルは、TFT18フォルダ直下のST7735.Hとglcdfont.cの2つになる。

  1)ST7735.Hの修正

7行目のインクルードファイルがWindows環境のものの様で、どこにもないのでエラーとなる。

そこでWProgram.h =>Arduino.hへと変更する。

 

  2)glcdfont.cの修正

10行目のfont[] 型がstaticになっているのをconstに変更する。

以上でソースコードの修正が完了したことになる。

 

5)サンプルスケッチの実行

 1)ArduinoとTFTの配線接続を確認し、PCとArduinoをUSB接続する。

 2)サンプルスケッチの検証・コンパイルを行う。

 3)マイコンボードへ書き込む

   サンプル動画が表示されれば成功 

 

2)IDE標準TFTスケッチの使用

2つめの方法であるIDE 標準モジュールの使用については、今後でき次第記載する。

 

以上・・・  



最新の画像もっと見る

コメントを投稿