不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

CrowPiレッスン10:LCDディスプレイの制御

2020-11-08 00:30:02 | CrowPi

Controlling the LCD Display

レッスン10"LCDディスプレイの制御"をやっていく。
LCDとは、liquid crystal displayの略で液晶ディスプレイのこと。

何を学習するか

このレッスンを終了すると、次のことができるようになります。
  • LCDディスプレイを制御してデータを書き込む方法を学びます

何が必要か

  • 初期設定後のCrowPiボード

Requires switching modules using the switch

  • いいえ

CrowPiのLCD画面の位置



LCDの明るさの設定


↑ここのネジにより、LCD画面の明るさとコントラストを調整することができる

LCDの操作

このレッスンで使用するPythonスクリプトは以下の通り。

Examples/lcd.py
#!/usr/bin/python
# -*- coding: utf-8 -*-

# Example using a character LCD backpack.
import time
import Adafruit_CharLCD as LCD

# Define LCD column and row size for 16x2 LCD.
lcd_columns = 16
lcd_rows = 2

# Initialize the LCD using the pins
lcd = LCD.Adafruit_CharLCDBackpack(address=0x21)

try:
 # Turn backlight on
 lcd.set_backlight(0)

 # Print a two line message
 lcd.message('Hello world!')

 # Wait 5 seconds
 time.sleep(5.0)

 # Demo showing the cursor.
 lcd.clear()
 lcd.show_cursor(True)
 lcd.message('Show cursor')

 time.sleep(5.0)

 # Demo showing the blinking cursor.
 lcd.clear()
 lcd.blink(True)
 lcd.message('Blink cursor')

 time.sleep(5.0)

 # Stop blinking and showing cursor.
 lcd.show_cursor(False)
 lcd.blink(False)

 # Demo scrolling message right/left.
 lcd.clear()
 message = 'Scroll'
 lcd.message(message)
 for i in range(lcd_columns-len(message)):
  time.sleep(0.5)
  lcd.move_right()
 for i in range(lcd_columns-len(message)):
  time.sleep(0.5)
  lcd.move_left()

 # Demo turning backlight off and on.
 lcd.clear()
 lcd.message('Flash backlight in 5 seconds...')
 time.sleep(5.0)
 # Turn backlight off.
 lcd.set_backlight(1)
 time.sleep(2.0)
 # Change message.
 lcd.clear()
 lcd.message('Goodbye!')
 # Turn backlight on.
 lcd.set_backlight(0)
 # Turn backlight off.
 time.sleep(2.0)
 lcd.clear()
 lcd.set_backlight(1)
except KeyboardInterrupt:
 # Turn the screen off
 lcd.clear()
 lcd.set_backlight(1)

LCDの場合も、GPIOではなくI2Cを使用する。
また、LCDの制御には、AdafruitフレームワークであるAdafruit_CharLCDBackpackを使用する。

このスクリプトを実行すると、LCDに色々なメッセージが表示される。



↑カーソルが点滅する

↑大きいカーソルが点滅する

↑"Scroll"という文字が右や左にスクロールする

↑バックライトが5秒間点灯し

↑バックライトが消える

↑"Goodbye!"と表示され終了する

レッスン動画では、LCDのデモを行うはずが、Segment LED(スクリプトはsegment.py)を使った時刻表示のデモが行われる。
どうやらレッスン10とレッスン15のデモ部分が入れ替わってしまっているらしい。
レッスン動画は、解説部分とデモ部分の2部構成になっており、解説部分は正しいのにデモ部分をつなぎ合わせるときに混乱したのかな?
Youtubeのコメント欄にも動画がチグハグになっているよって指摘が寄せられているみたいだけど、対応できていないんだな😅 

ちなみに、このレッスンの動画から小太り兄ちゃんの服が変わっている。
黒のロンティー→パーカー
また、この動画により、撮影場所が香港であることが分かる。
Elecrowって香港にある会社なんだな。


最新の画像もっと見る