7947| 12
|
【FireBeetle开箱测评】借助DF驱动库实现我的LEDMatrix玩法 |
收到试用品超高兴的~不过也被LED_Matri震撼了~疯狂地把排针排母焊~ 其实主要还研究了一下这个LED矩阵(因为以后的项目也要用到) 大体上呢,我就是觉得用DF提供好的驱动很稳定,但是画图确实有一点费劲,需要在脑子里YY好久才好确定一个图要怎么显示。。 然后我就打开了画图。。。在桌面上新建一张24X8像素的图片(这个很重要!不然下面的代码运行不好的!) 然后下载个Python 这个百度一下就好啦 我下的是3.4版本的,无所谓啦~ 新建一个Python文件~ [mw_shl_code=python,true]from PIL import Image img=Image.open progOut=open("H://Users//Dostin_Ksi//Desktop//Output.txt","w")#改成你的桌面地址+Output.txt(注意要用“//”来划分哈~) progOut.write('#include "DFRobot_HT1632C.h"\n') progOut.write("#define DATA D6\n") progOut.write("#define CS D2\n") progOut.write("#define WR D7\n") progOut.write("DFRobot_HT1632C ht1632c = DFRobot_HT1632C(DATA, WR, CS);\n") progOut.write("void setup() {\n") progOut.write("ht1632c.begin();\n") progOut.write("ht1632c.isLedOn(true);\n") progOut.write("ht1632c.clearScreen();\n") Filename=input("Pic's NAME:") img=Image.open("H://Users//Dostin_Ksi//Desktop//"+Filename+".bmp")#改成你的桌面地址(注意要用“//”来划分哈~) img_array=img.load() for horiz in range(0,8): for vertiz in range(0,24): if(img_array[vertiz,horiz]==(255,255,255)): progOut.write("ht1632c.clrPixel("+str(vertiz)+","+str(horiz)+");\n") progOut.write("ht1632c.writeScreen();\n") else: progOut.write("ht1632c.setPixel("+str(vertiz)+","+str(horiz)+");\n") progOut.write("ht1632c.writeScreen();\n") progOut.write("}\n") progOut.write("void loop(){\n") progOut.write("}\n") progOut.close() print("Done~")[/mw_shl_code] 把代码和图片都放在桌面上; 现在你的桌面上应该有这样婶的两个文件~ 接下来 对着图片右击->编辑 然后我动用了毕生能力学习了支配像素风。。。(PS:画笔的大小可以用Crtl+/-来调节) 然后!然后激动人心的时候到了!保存一下!双击PIC2DF.py 把图片的名字输进去,我的是test~桌面上是不是多了一个文件~是!不!是! 打开新生成的txt文件,放进Arduino里->下载~ LED亮起来效炒鸡棒滴,当然也可以结合PWM调节亮度,再画上几个动作帧,做个动画等等等,反正感觉这LED_Matrix用途真的是大大滴啊! 最后要感谢DF对我的信任,以及表示对DF库的稳定性的大赞,其实这种方法主要就是用来做一些简单编辑,DF的库中本来就已经有更强大的功能了嘿嘿~ 要向DF努力学习!! |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed