极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3674|回复: 0

Micropython TurnipBit LCD5110显示英文词句

[复制链接]
发表于 2018-3-5 17:32:43 | 显示全部楼层 |阅读模式
相信大家对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的在线编程器。录入一下代码:

  1. from microbit import *

  2. #127 character ascii font, 5x8 size characters
  3. 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')

  4. #reset
  5. def reset():
  6. pin0.write_digital(0) # RST on
  7. sleep(0.01)
  8. pin0.write_digital(1) # RST off

  9. def lcd_write(dc,data):
  10. pin5.write_digital(dc)#DC=0 select CMD DC=1 select DATA
  11. pin1.write_digital(0)
  12. spi.write(data)
  13. pin1.write_digital(1)

  14. def lcd_init():
  15. reset()
  16. #初始化配置
  17. data=bytearray(b'\x21\xC8\x06\x13\x0C\x20\x0C')
  18. lcd_write(0,data)
  19. #清屏
  20. data = bytearray(504)
  21. lcd_write(1,data)

  22. #X 0-83
  23. #Y 0-5
  24. def lcd_postion(x,y):
  25. val_x = bytearray()
  26. val_x.append (0x80 + x)
  27. lcd_write(0,val_x)
  28. val_y = bytearray()
  29. val_y.append (0x40 + y)
  30. lcd_write(0,val_y)

  31. def lcd_print_string(message,x,y):
  32. lcd_postion(x,y)
  33. data = bytearray()
  34. for letter in message:
  35. i = (ord(letter) - 32)*5
  36. for b in range (0,5):
  37. data.append(font[i+b])
  38. data.append(0x00)
  39. lcd_write(1, data)

  40. spi.init(baudrate = 328125, sclk = pin13, mosi = pin14)
  41. lcd_init()
  42. lcd_print_string('I am TurnipBit',0,2)
复制代码


5、将TurnipBit通过USB数据线接入电脑,电脑正常显示出[TURNIPBIT]可移动存储设备。点击页面最底部的[下载hex]按钮,目录选择[TURNIPBIT]磁盘,将代码下载到TurnipBit中。

6、等待下载完毕,TurnipBit会自动运行程序。实物效果图:


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-7-11 20:04 , Processed in 0.074797 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表