4454577 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

Bubble, bubble, toil and cuddle !!!

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
July 9, 2019
XML
カテゴリ:作りモノ
今日は早めで帰宅は18時半。

昨日、Shigezoneで買ったArduino Uno互換ボードでLチカを実行してみたんやけど、Lチカの次は液晶表示やろう、っちゅうことで、LCDモジュールを接続してみました。

使用したLCDモジュールは、aitendoの STN液晶モジュール(16文字x1桁) [ZJM161A] という代物です。LCDモジュールの手持ちがないか部品箱をゴソゴソ探してみたらこれが出てきました。いつ買ったのかは定かではありません。(^^;

aitendoのページに書いてあるように、LCDモジュールを Arduino Uno 互換ボードと接続します。左がモジュールのピン番号、→の先が Arduino Uno互換ボードの接続先です。

1番ピン:VSS → GND
2番ピン:VDD → 5V
3番ピン:V0 → GND (ホンマはコントラスト調整するのに抵抗かますようです)
4番ピン:RS → 12
5番ピン:R/W → GND
6番ピン:Enable → 11
7番ピン:DB0 → 接続しない
8番ピン:DB1 → 接続しない
9番ピン:DB2 → 接続しない
10番ピン:DB3 → 接続しない
11番ピン:DB4 → 5
12番ピン:DB5 → 4
13番ピン:DB6 → 3
14番ピン:DB7 → 2
15番ピン:NC → 接続しない
16番ピン:NC → 接続しない

私はジャンパピンをあまり持ってないので、1-3-5番ピンをリード線で半田付けしてしまいました。(^^;;

Arduino Uno互換ボードとLCDモジュールの接続の様子
接続の様子

接続ができたらスケッチを書き込みます。ベースとなるのは、[スケッチ例][LiquidCrystal][HelloWorld]です。このスケッチは16桁2行のLCDモジュール向けなので、16桁1行のaitendoのLCDモジュールZJM161A用には書き換える必要があります。幸い、aitendoのZJM161Aのページにサンプルスケッチが載ってるので参考にします。

どうもこのZJM161Aは、8桁2行の構成の行を横に並べたようなメモリ構造をしてるようです。カーソルでいうと、

(0,0)(1,0)(2,0)(3,0)(4,0)(5,0)(6,0)(7,0)(0,1)(1,1)(2,1)(3,1)(4,1)(5,1)(6,1)(7,1)

というように並んでるようです。

っちゅうことで、スケッチのコードです。


// include the library code:
#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(8, 2);
// set cursor to the first column of the left side
lcd.setCursor(0,0);
// Print a half of the message to the LCD.
lcd.print("hello,wo");
// set cursor to the first column of the right side
lcd.setCursor(0,1);
// Print rest of the message to the LCD.
lcd.print("rld!");
}

void loop() {
// set the cursor to column 5, line 1 (right side)
// (note: line 1 is the right side, since counting begins with 0):
lcd.setCursor(5, 1);
// print the number of seconds since reset:
lcd.print(millis() / 1000);
}


変なメモリ構造のせいで、hello, world!が変な風に切れてしまってますが... (^^;; このスケッチでは、LCDモジュールにhello, world!を表示した後、1秒ごとにカウントアップする数値を右の方に表示します。
#インデント無くてスイマセン... pre要素を使うとなぜか空行がいっぱい入るので。

LCD表示例
LCD表示例

電源入れて動作させた様子を動画で示します。

Arduino Uno互換ボードでLCDモジュールにhello world!


こんな感じで割と簡単にLCDモジュールに文字表示することができました。AVRマイコン単体でプログラミングしてたときよりはるかに楽チンですね。Arduinoをみんなが使う理由が少しわかりました。(^^;;
--- 20:45 ---





お気に入りの記事を「いいね!」で応援しよう

Last updated  July 9, 2019 08:54:43 PM
コメント(0) | コメントを書く
[作りモノ] カテゴリの最新記事


PR

Keyword Search

▼キーワード検索

Free Space

Category

Favorite Blog

まだ登録されていません

Comments

通りすがりの者です@ Re:LIFEBOOK U939/B に WANカードを載せた(01/21) 私のLIFEBOOKではnanoSIMを装着後に再起動…
aki@ Re:秋葉原に寄った(01/14) この様な書込大変失礼致します。日本も当…
BOOSAN@ Re:SPY x FAMILY CODE:White を観た(01/08) 私は明日、PERFECT DAYS観ます。ビム・ベ…
かいじゅう@ Re:dynabook T55 にインストールした PearOS Monterey が起動するようになった(06/15) 同じくpear osで画面が出なくて困ってまし…

Freepage List


© Rakuten Group, Inc.