Micropython TurnipBit LCD5110显示英文词句
相信大家对Microbit这款开发板都是很熟悉的了,之前发过一些Micropython开发板做的小实验,大多数都用的TPYboard这款开发板。今天我们这个实验将使用一款全新的开发板Turnipbit,使用和Turnipbit异曲同工,更加适合青少年使用,更加方便简介。准备工作 TurnipBit开发套件(板子+扩展板) 1套 Nokia LCD5110(PCD8544)显示屏 1块 面包板 1个 杜邦线 若干 可接入互联网的电脑 1台(需要进入TurnipBit的在线编程器) 地址:http://turnipbit.com/PythonEditor/editor.html实验步骤 1、参考的TPYBoard v102控制5110的实验和代码,进行相应的修改。链接如下: http://docs.tpyboard.com/zh/latest/tpyboard/tutorial/v10x/script/2、将TurnipBit开发板与扩展板对接起来,连接实物图如下: 扩展板的作用就是将TurnipBit开发板上所有的引脚进行了引出,同时还进行了分类,增加了3.3V、5V和GND的引脚,方便大家开发使用。3、接下来将lcd5110显示屏与扩展板进行相应的连接。接线图如下: LCD5110显示屏 | TurnipBit扩展板 |
RST | P0 |
CE | P1 |
DC | P5 |
DIN | P14 |
CLK | P13 |
VCC | 3.3V |
BL | 3.3V(常亮,也可接入其他引脚通过高低电平控制亮灭) |
GND | GND |
4、点击连接:http://turnipbit.com/PythonEditor/editor.html进入TurnipBit的在线编程器。录入一下代码: #*********************** # - File Name:turnipbit_lcd5110.py # - Author:山东萝卜电子科技有限公司 # - Date:2018年03月04日 # - Description:RST=>pin0,CE=>pin1,DC=>pin5,DIN=>pin14,CLK=>pin13 #*************************
from microbit import *
#ASCII 5x8 font = bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x07\x00\x07\x00\x14\x7f\x14\x7f\x14\x24\x2a\x7f\x2a\x12\x23\x13\x08\x64\x62\x36\x49\x55\x22\x50\x00\x05\x03\x00\x00\x00\x1c\x22\x41\x00\x00\x41\x22\x1c\x00\x14\x08\x3e\x08\x14\x08\x08\x3e\x08\x08\x00\x50\x30\x00\x00\x08\x08\x08\x08\x08\x00\x60\x60\x00\x00\x20\x10\x08\x04\x02\x3e\x51\x49\x45\x3e\x00\x42\x7f\x40\x00\x42\x61\x51\x49\x46\x21\x41\x45\x4b\x31\x18\x14\x12\x7f\x10\x27\x45\x45\x45\x39\x3c\x4a\x49\x49\x30\x01\x71\x09\x05\x03\x36\x49\x49\x49\x36\x06\x49\x49\x29\x1e\x00\x36\x36\x00\x00\x00\x56\x36\x00\x00\x08\x14\x22\x41\x00\x14\x14\x14\x14\x14\x00\x41\x22\x14\x08\x02\x01\x51\x09\x06\x32\x49\x79\x41\x3e\x7e\x11\x11\x11\x7e\x7f\x49\x49\x49\x36\x3e\x41\x41\x41\x22\x7f\x41\x41\x22\x1c\x7f\x49\x49\x49\x41\x7f\x09\x09\x09\x01\x3e\x41\x49\x49\x7a\x7f\x08\x08\x08\x7f\x00\x41\x7f\x41\x00\x20\x40\x41\x3f\x01\x7f\x08\x14\x22\x41\x7f\x40\x40\x40\x40\x7f\x02\x0c\x02\x7f\x7f\x04\x08\x10\x7f\x3e\x41\x41\x41\x3e\x7f\x09\x09\x09\x06\x3e\x41\x51\x21\x5e\x7f\x09\x19\x29\x46\x46\x49\x49\x49\x31\x01\x01\x7f\x01\x01\x3f\x40\x40\x40\x3f\x1f\x20\x40\x20\x1f\x3f\x40\x38\x40\x3f\x63\x14\x08\x14\x63\x07\x08\x70\x08\x07\x61\x51\x49\x45\x43\x00\x7f\x41\x41\x00\x02\x04\x08\x10\x20\x00\x41\x41\x7f\x00\x04\x02\x01\x02\x04\x40\x40\x40\x40\x40\x00\x01\x02\x04\x00\x20\x54\x54\x54\x78\x7f\x48\x44\x44\x38\x38\x44\x44\x44\x20\x38\x44\x44\x48\x7f\x38\x54\x54\x54\x18\x08\x7e\x09\x01\x02\x0c\x52\x52\x52\x3e\x7f\x08\x04\x04\x78\x00\x44\x7d\x40\x00\x20\x40\x44\x3d\x00\x7f\x10\x28\x44\x00\x00\x41\x7f\x40\x00\x7c\x04\x18\x04\x78\x7c\x08\x04\x04\x78\x38\x44\x44\x44\x38\x7c\x14\x14\x14\x08\x08\x14\x14\x18\x7c\x7c\x08\x04\x04\x08\x48\x54\x54\x54\x20\x04\x3f\x44\x40\x20\x3c\x40\x40\x20\x7c\x1c\x20\x40\x20\x1c\x3c\x40\x30\x40\x3c\x44\x28\x10\x28\x44\x0c\x50\x50\x50\x3c\x44\x64\x54\x4c\x44\x00\x08\x36\x41\x00\x00\x00\x7f\x00\x00\x00\x41\x36\x08\x00\x10\x08\x08\x10\x08\x00\x00\x00\x00\x00')
#reset def reset(): pin0.write_digital(0) # RST on sleep(0.01) pin0.write_digital(1) # RST off
def lcd_write(dc,data): pin5.write_digital(dc)#DC=0 select CMD DC=1 select DATA pin1.write_digital(0) #CE=0 open spi.write(data) pin1.write_digital(1) #CE=1 close
def lcd_init(): reset() #初始化配置 data=bytearray(b'\x21\xC8\x06\x13\x0C\x20\x0C') lcd_write(0,data) #清屏 data = bytearray(504) lcd_write(1,data)
#X 0-83 #Y 0-5 #光标位置 指定位置显示字符 def lcd_postion(x,y): val_x = bytearray() val_x.append (0x80 + x) lcd_write(0,val_x) val_y = bytearray() val_y.append (0x40 + y) lcd_write(0,val_y)
def lcd_print_string(message,x,y): lcd_postion(x,y) data = bytearray() for letter in message: i = (ord(letter) - 32)*5 for b in range (0,5): data.append(font[i+b]) data.append(0x00) lcd_write(1, data)
spi.init(baudrate = 328125, sclk = pin13, mosi = pin14) lcd_init() lcd_print_string('I am TurnipBit',0,2)
|
5、将TurnipBit通过USB数据线接入电脑,电脑正常显示出[TURNIPBIT]可移动存储设备。点击页面最底部的[下载hex]按钮,目录选择[TURNIPBIT]磁盘,将代码下载到TurnipBit中。6、等待下载完毕,TurnipBit会自动运行程序。实物效果图: