rzegkly 发表于 2018-11-16 09:32:40

【掌控】光线传感器—送给妈妈的礼物


母亲是一艘大船,载着我驶向大海,去追寻生命的奥秘,去探索世界的神奇;母亲是一座高山,蕴藏着万物,哺育我成长,强壮我的身心;母亲是丝丝春雨,滋润着大地万物;母亲,我爱你,你是我心中永远的最爱;
   母亲马上过生日了,为妈妈设计一个小礼物—智能灯光生日音乐盒, 祝母亲永远幸福,永远健康!
一、要求: 1、当light>3000时,全部蜡烛点亮,红灯亮,音乐BIRTHEDAY 响起2、当light>1500时,一半蜡烛点亮,蓝灯亮,音乐BIRTHEDAY响起3、当light>200时,三分之一蜡烛点灭,绿灯亮,音乐BIRTHEDAY响起4、当light<200时,蜡烛未亮,灯灭,音乐BIRTHEDAY停止二、生日蛋糕图形处理:
1、利用美图秀秀分别将生日蛋糕分辨率图片处理成45*45(蛋糕)2、利用取模工具对图片进行取模。网上有PCtoLCD、lcd image converter等取模软件,可根据自己喜好自行选择。以下使用的是Img2Lcd工具。步骤1.导入刚才修改后的图片步骤2.选择参数,输出数据类型语言数组]、扫描模式[水平扫描]、输出灰度[单色]、宽高(注意:一定要根据实际图片效果来调整亮度和对比度,已达到最佳显示效果)步骤3.保存数据:点击保存,填写好文件名,自动会弹出图像的取模值。但是我们在使用的时候一定要注意:前面的注释部分(下图中的蓝色部分)不能写入一会儿的程序中。三、编写代码1.库的说明:掌控库:mpython*; 音乐库:music.py;时间库:time.py; 图片库:framebuf.py2.编程流程图:3.代码编写from mpython import * #掌控库
import time         #时间库
import music    #音乐库
import framebuf   #图片bitmap数组
bmp1 = bytearray([\
0X00,0X01,0X2D,0X00,0X2D,0X00,
0X00,0X00,0X00,0X01,0X00,0X00,0X01,0X00,0X30,0X43,0X04,0X00,0X03,0X84,0X38,0XE2,
0X8E,0X00,0X02,0X8E,0X28,0XA6,0X8A,0X00,0X06,0X8A,0X69,0XA6,0X8B,0X00,0X06,0X8A,
0X69,0XA6,0X9B,0X00,0X06,0X8A,0X28,0XA3,0X8A,0X00,0X03,0X0E,0X38,0XE3,0X8E,0X00,
0X06,0X8E,0X69,0XA6,0X8A,0X00,0X04,0X9A,0X49,0XB6,0X9B,0X00,0X04,0X92,0X4D,0XB4,
0X9B,0X00,0X04,0X92,0X4D,0XB4,0XD3,0X00,0X04,0XD3,0X4D,0X94,0XD1,0X00,0X04,0X92,
0X45,0X14,0XDF,0XC0,0X3F,0XFF,0XFF,0XFF,0XFF,0XE0,0X3E,0X00,0X00,0X00,0X00,0X60,
0X20,0X00,0X00,0X00,0X00,0X60,0X20,0X00,0X00,0X00,0X00,0X40,0X20,0X00,0X00,0X00,
0X00,0X40,0X20,0X00,0X00,0X00,0X00,0X40,0X20,0X00,0X00,0X00,0X00,0X40,0X20,0X00,
0X00,0X00,0X00,0X40,0X20,0X00,0X00,0X0E,0X00,0X60,0X20,0X30,0X38,0X1B,0X07,0X60,
0X20,0X28,0X78,0X11,0X05,0X60,0X24,0X48,0X4C,0X21,0X0D,0X60,0X3C,0X48,0XC4,0X61,
0X8F,0X60,0X14,0XCC,0XCC,0X40,0X9B,0XE0,0X06,0X85,0X7E,0XCE,0XB3,0XC0,0X0E,0X83,
0X33,0X9A,0X7D,0X00,0X0D,0X9C,0X00,0X13,0X01,0X00,0X0C,0X24,0X00,0X13,0X01,0X00,
0X0E,0X24,0X1C,0X1E,0X07,0X00,0X0D,0X1C,0X34,0X00,0X0D,0X00,0X0D,0X00,0X26,0X00,
0X09,0X00,0X05,0X00,0X34,0X00,0X0D,0X00,0X06,0X1C,0X1C,0X70,0X05,0X00,0X04,0X3E,
0X00,0XD8,0X03,0X00,0X04,0X22,0X00,0X88,0X01,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XF0,
0X60,0X00,0X00,0X00,0X00,0X18,0X60,0X00,0X00,0X00,0X00,0X10,0X7F,0XFF,0XFF,0XFF,
0XFF,0XF0,0X40,0X00,0X00,0X00,0X00,0X10,0X7F,0XFF,0XFF,0XFF,0XFF,0XF0,
    ]) # 生日蛋糕 该部分代码来自取模工具   
fb1 = framebuf.FrameBuffer(bmp1,45,45, framebuf.MONO_HLSB)#创建45x45大小帧缓存区储存图片帧,水平扫描   
while True:
    display.fill(0)   #清屏
    display.DispChar(' 祝你生日快乐! ',20,0)      
    display.DispChar("亮度:",0,45)    #显示亮度到0,45
    display.text("%d" % (light.read()), 35, 48)#显示板载光线传感器
    display.blit(fb1,65,15)#将fb1帧缓存送至oled显示,起始位(65,15)
    display.show()   #刷新
    time.sleep_ms(10) #延时10ms
    if light.read()> 3000 :
         rgb = (255,0,0)    # 设置红色
         rgb = (255,0,0)# 设定为红色
         rgb = (255,0,0)   # 设置为红色
         rgb.write()
         music.play(music.BIRTHDAY)
    else:
         if light.read() >1500:
             rgb = (0,255,0)    # 设置绿色
             rgb = (0,255,0)# 设定为绿色
             rgb = (0,255,0)   # 设置为绿色
             rgb.write()   
            #music.play(music.PYTHON)
             music.play(music.BIRTHDAY)
         else:
             if light.read() > 200 :
               rgb = (0,0,255)    # 设置蓝色
               rgb = (0,0,255)# 设定为蓝色
               rgb = (0,0,255)   # 设置为蓝色
               rgb.write()
               music.play(music.BIRTHDAY)
             else:
               if light.read() < 200 :
               rgb = (0,0,0)   
               rgb = (0,0,0)
               rgb = (0,0,0)   
               rgb.write()四、知识拓展:1、OLED显示技术具有自发光的特性,采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,而且OLED显示屏幕可视角度大,并且能够节省电能,以OLED使用的有机发光材料来看,2、以染料及颜料为材料的小分子器件系统,同时由于有机电致发光器件具有发光二极管整流与发光的特性,因此小分子有机电致发光器件亦被称为OLED(Organic Light Emitting Diode),3、OLED的基本结构是由一薄而透明具半导体特性之铟锡氧化物(ITO),与电力之正极相连,再加上另一个金属阴极,包成如三明治的结构。整个结构层中包括了:空穴传输层(HTL)、发光层(EL)与电子传输层(ETL)。4、当电力供应至适当电压时,正极空穴与阴极电荷就会在发光层中结合,产生光亮,依其配方不同产生红、绿和蓝RGB三基色,构成基本色彩。5、OLED的特性是自己发光,不像TFT LCD需要背光,因此可视度和亮度均高,其次是电压需求低且省电效率高,加上反应快、重量轻、厚度薄,构造简单,成本低等,被视为 21世纪最具前途的产品之一.6、一行显示不到12个汉字,即占点阵11*11,中文标点占11*11点阵,数字约6*9点阵。小写字母约点6*12点阵。大写字母约占8*9点阵。(仅供参考)五、视频回放https://v.youku.com/v_show/id_XMzkyMDk0NTIwMA==.html?spm=a2hzp.8244740.0.0

rzyzzxw 发表于 2018-11-16 09:58:34

康老师很有爱啊,大赞。{:5_148:}

44107900 发表于 2018-12-29 16:37:19

谢谢分享!

rzegkly 发表于 2018-12-30 09:59:17

多交流,多沟通
页: [1]
查看完整版本: 【掌控】光线传感器—送给妈妈的礼物