著者:米田 聡
シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)のプログラミングが楽しめる拡張ボード「ラズパイ入門ボード」を制作しました。本連載では、ラズパイ入門
ボードを使った電子回路制御を取り上げていきます。第1回はOLEDに日本語文字を表示します。
記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
#!/usr/bin/python3 # -*- coding: utf-8 -*- import time import Adafruit_GPIO.SPI as SPI import Adafruit_SSD1306 from PIL import Image from PIL import ImageDraw from PIL import ImageFont # OLEDのサイズ設定 OLED_WIDTH = 128 OLED_HEIGHT = 64 # OLEDとSPIバスの設定 RST = 24 DC = 23 SPI_PORT = 0 SPI_DEVICE = 0 # フォントの設定 DEFAULT_FONT = '/usr/share/fonts/truetype/fonts-japanese-gothic.ttf' FONT_SIZE = 14 # SPIオブジェクト spi = SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=8000000) # 128×64ドットのOLEDオブジェクト disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST, dc=DC, spi=spi) # OLEDオブジェクトのスタート disp.begin() # OLEDオブジェクトのバッファークリア disp.clear() # バッファの表示 disp.display() # Imageオブジェクトの作成 image = Image.new('1', (OLED_WIDTH, OLED_HEIGHT) ,0) # drawオブジェクトの取得 draw = ImageDraw.Draw(image) # TryeTypeフォントオブジェクト jpfont = ImageFont.truetype(DEFAULT_FONT, FONT_SIZE, encoding='unic') # 文字をimageに描く draw.text((0,0), 'こんにちは', font=jpfont, fill=1) draw.text((0,16), 'Hello, World', font=jpfont, fill=1) draw.text((0,32), 'シェルスクリプトマガジン', font=jpfont, fill=1) draw.text((0,48), 'ラズパイ入門ボード', font=jpfont, fill=1) # imageをOLEDバッファーに書き込む disp.image(image) # バッファーを表示 disp.display() |