相信大家对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会自动运行程序。实物效果图: