電子元件有micro:bit主板、iot:bit底板、以及SSD OLED1306
OLED驅動程式:fizban99/microbit_ssd1306
程式編輯工具:micro:bit Python Editor
程式檔案管理:除了main.py外,其餘檔案來自OLED驅動程式
1.利用小畫家以128*64來設計畫面
2.改寫OLED驅動程式microbit_ssd1306/sample_images/bitmapconverter.py的程式實現轉換:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import struct from PIL import Image filename = 'treeart' pic = [0x00 for _ in range(128*64)] bmp_image = Image.open( filename+'.bmp' ) index=0 for i_horizon in range(bmp_image.width): for i_vertical in range(bmp_image.height//8): b=0x0 for i in range(0, 8): b>>=1 if bmp_image.getpixel((i_horizon, i_vertical*8+i)) == 255: b |= 0x80 pic[i_horizon+i_vertical*bmp_image.width]=b index+=1 newFileByteArray = bytearray(pic) with open(filename, 'wb') as newFile: newFile.write(newFileByteArray) print("Done") |
3.把相關檔案載入
4.利用步驟2的程式進行轉碼,再撰寫micro:bit Python程式:
5.下載到micro:bit後,執行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from ssd1306 import initialize, clear_oled from ssd1306_bitmap import show_bitmap from microbit import * initialize() clear_oled() while True: show_bitmap('microbit_logo') display.scroll('Welcome to ') show_bitmap('craft_center') display.scroll('National Taiwan Craft Research and Development') show_bitmap('nfu') display.scroll('National Formosa University') show_bitmap('treeart') display.scroll('Workshop of Tree Art') show_bitmap('steam') display.scroll('OUTSTEAM International') show_bitmap('smartcreating') display.scroll('SmartCreating Co., Ltd.') show_bitmap('goods') display.scroll('Taiwan Rural Goods Promotion Alliance') |
5.下載到micro:bit後,執行。
沒有留言:
張貼留言