マイクロビット(m_23)SSD1306 OLED(3)
micro:bit_ssd1306 ライブラリー
(4)ssd1306_text.py
ssd1306_text.pyには「set_zoom, screen, Image, set_pos, i2c, add_text, ADDR」の関数が含まれています。
(l-07)add_text(x, y, text, draw=1)
12文字4行の領域でtextで与えられたテキストをx行y列に表示します。パラメータ draw を 0 にすると表示するにはdraw_screen()で呼び出す必要があります。
サンプルスクリプト
add_textのサンプルスクリプトです。「ssd1306_text.py、ssd1306.py」を使うのでmicrofsでモジュールを送ります。
※microfsについてはm-20の記事「(d-20)microfsモジュール」を参照ください。
テキスト文字を表示します。領域の確認をします。
from microbit import *
from ssd1306 import initialize, clear_oled, draw_screen
from ssd1306_text import add_text
initialize()
clear_oled()
#4行12列
add_text(0, 0, "012345678901",0) # ①draw_screen
add_text(0, 1, "1_Hello, world",1) # 1_Hello, wor 12文字 表示
add_text(0, 2, "2_micro:bit", 0) # ②draw_screen
add_text(0, 3, "3_world", 0) # ③draw_screen
sleep(3000)
draw_screen() # ①②③表示
#clear_oled()
実行結果
以下が実行結果になります。4行12文字(英数字)の領域が確認できました。
(5)ssd1306_effects.py
ssd1306_effects.pyには「sleep, blink, command, pulse」の関数が含まれています。
(l-10)pulse(time=500)
画面のコントラストを徐々に変化させ、パルス効果を出します。
(l-11)blink(time=1000)
画面の消灯と点灯を切り替えて点滅させます。
サンプルスクリプト
pulse、blinkのサンプルスクリプトです。
「ssd1306_effects.py、ssd1306_bitmap.py、ssd1306.py」を使うのでmicrofsでモジュールを送ります。※microfsについてはm-20の記事「(d-20)microfsモジュール」を参照ください。
#from microbit import sleep # _effectsで読込んでいる
from ssd1306 import initialize, clear_oled
from ssd1306_bitmap import show_bitmap
from ssd1306_effects import pulse, blink, sleep
initialize()
clear_oled()
sleep(500)
show_bitmap("microbit_logo")
pulse(500) # コントラストを徐々に変化 500ms
pulse(3000)
blink(1000) # 消灯>点灯 1sec
blink(3000)
写真等はありませんが、pulseでは明るさが変化します。blinkは消灯して再点灯します。
まとめ
ライブラリーmicro:bit_ssd1306 のssd1306_text.pyを使って画面に文字列を表示しました。またssd1306_effects.pyを使ってpulse、blinkの動作を確認しました。