爱板网论坛

查看: 617|回复: 0

[原创] Micropython TurnipBit LCD5110显示英文词句

[复制链接]

主题

好友

637

积分

举人

  • TA的每日心情
    慵懒
    2018-1-6 09:01
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-3-5 17:26:27 |显示全部楼层
    本帖最后由 酥小小酥 于 2018-3-6 13:08 编辑

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

    回复

    使用道具 举报

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

    关闭

    站长推荐上一条 /4 下一条

    手机版|爱板网

    GMT+8, 2018-6-18 17:35 , Processed in 0.126368 second(s), 12 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部