Bubble, bubble, toil and cuddle !!!

2019/07/09(火)20:54

Shigezoneで買ったArduino Uno互換ボードにLCDを接続してみた

作りモノ(210)

今日は早めで帰宅は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表示例 電源入れて動作させた様子を動画で示します。 Arduino Uno互換ボードでLCDモジュールにhello world! こんな感じで割と簡単にLCDモジュールに文字表示することができました。AVRマイコン単体でプログラミングしてたときよりはるかに楽チンですね。Arduinoをみんなが使う理由が少しわかりました。(^^;; --- 20:45 ---

続きを読む

このブログでよく読まれている記事

もっと見る

総合記事ランキング

もっと見る