稼働中

マイクロビット(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の動作を確認しました。