Arduino工作講座 小さな液晶ディスプレイに文字を表示しよう

Arduino工作講座

Arduino Unoを利用した電子工作を学習する講座シリーズ。Arduino工作講座の第12弾。この講座では、小さな液晶ディスプレイに文字を表示させる方法を学ぶことができます。

Arduino工作講座 小さな液晶ディスプレイに文字を表示しよう

このレッスンはELEGOO社のArduino基本セットのチュートリアルのレッスン14、そして、Ardiono IDE に最初から入っているサンプルプログラムを参考にさせていただいています。

この講座をクリアすると小さな液晶ディスプレイに文字を表示させる方法を学ぶことができるようになります。

この小さな液晶ディスプレイはLCD(Liquid Crystal Display)と英語3文字で表されることが多いです。何か液晶ディスプレイというと大変そうなのですが、今回は16行2列の大きさで文字を表示することができるディスプレイを使用します。

必要となる部品

  • Arduino Uno
  • LCD1602モジュール
  • 半固定型可変抵抗 10Ω
  • ジャンパー線 赤色と黒色と黄色といろいろな色(もちろん、色は何でもOKです)

回路と回路図

プログラムコード Hello World と秒数の表示

//www.elegoo.com
//2016.12.9

/*
  LiquidCrystal Library - Hello World

 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.

 This sketch prints "Hello World!" to the LCD
 and shows the time.

  The circuit:
 * LCD RS pin to digital pin 7
 * LCD Enable pin to digital pin 8
 * LCD D4 pin to digital pin 9
 * LCD D5 pin to digital pin 10
 * LCD D6 pin to digital pin 11
 * LCD D7 pin to digital pin 12
 * LCD R/W pin to ground
 * LCD VSS pin to ground
 * LCD VCC pin to 5V
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */

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

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("Hello, World!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis() / 1000);
}
LiquidCrystal.h 液晶ディスプレイ用のヘッダファイル

Arduinoでよく使われる液晶ディスプレイ用のヘッダファイル

lcd.begin(cols、rows)

LCD画面へのインターフェースを初期化し、ディスプレイの寸法(幅と高さ)を指定します。begin関数は、他のLCDライブラリコマンドの前に呼び出す必要があります。

lcd.print(data)

LCD画面へ文字を表示します。今までに使ってきたSerial.printのLCD版になります。

setCursor(col、row)

LCDカーソルを置きます。つまり、LCDに書き込まれる後続のテキストが表示される場所を設定します。どちらも、0から始まります。0なら、1行目、または、1列目。

液晶ディスプレイともなると、ジャンパー線の数がとても多くなってきます。

この回路では、半可変抵抗を入れています。この抵抗は、つまみをつけることで、抵抗の値を変えることができます。それによって、ディスプレイの表示の明暗を調整できます。

このまま、実行するとさかさまに文字が表示されるので、上下を入れ替えてくださいね。

Hello World と1行目に表示されます。そして、2行目に秒が表示され、カウントされていきます。

今までに学習したセンサーの値などをこのディスプレイに表示することができるようになります。今までは、シリアルモニターに文字を表示していましたが、それ以外の新しい装置に表示することができるようになりました。表示装置には、まだ、いろいろとあります。少しずつ覚えていきましょう。このLCDは16*2の表示ですが、それ以外の表示サイズの物でも、基本は同じです。

コメント

タイトルとURLをコピーしました