发新帖本帖赏金 10.00元(功能说明)我要提问
12下一页
返回列表
打印

分享下这个霸气侧漏的串口屏【已上传源代码】

[复制链接]
7454|50
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 chongdongchen 于 2018-8-21 14:08 编辑

已经实现:modbus串口屏&网络信息展示器(另加WiFi模块)功能。
详情以及源代码请去这里--> https://bbs.21ic.com/forum.php?mod=viewthread&tid=2522820&page=2#pid9532304


节前某宝买了个双色LED点阵屏(30cm*7.5cm),算上邮费不到50,打算做个串口显示器。

手上有以前买好的 STM8S003最小系统板 + GT20L16S1Y字库芯片 + 5V/3A电源。
到了后迫不及待地就开始了,中间当然也有曲曲折折(略过)。
现在,英文和汉字都成功点亮了。上个图看看先。。

红蓝灯那个就是
STM8S003最小系统板。


板子后面焊一个GT20L16S1Y字库芯片,在3.3稳压管旁边。



打赏榜单

21ic小喇叭 打赏了 10.00 元 2018-07-24
理由:感谢原创分享

评论
chongdongchen 2018-6-22 22:17 回复TA
@一路向北lm :谢谢支持! 
一路向北lm 2018-6-22 20:29 回复TA
DIY的不错,支持一波。 

相关帖子

沙发
chongdongchen|  楼主 | 2018-6-20 21:41 | 只看该作者
下一步做串口字符串接收,后期再考虑加ESP8266,就可以做个WiFi时钟、天气预报什么的(纯娱乐)。

使用特权

评论回复
板凳
chongdongchen|  楼主 | 2018-6-20 21:48 | 只看该作者
一共16行,250us扫描一行,那就是250us*16 = 4ms一个周期,也就是一秒刷新250次,所以看上去不会晃眼,手机拍摄也不会有条纹。
亮度0-100可调(占空比控制),能区别但不是很明显,最亮和最暗还是容易区分的。

对了,这个点阵里面的列驱动是恒流的,红色的温度比绿色的高很多,摸上去有点烫,但是手摸得住,应该问题不大

使用特权

评论回复
地板
chongdongchen|  楼主 | 2018-6-21 10:38 | 只看该作者
本帖最后由 chongdongchen 于 2018-6-21 10:52 编辑

刚刚更新了亮度算法,已经实现0-250级亮度调整,从微微亮到全亮。加油加油,继续modbus协议

亮度演示.gif (3.29 MB )

亮度演示.gif

使用特权

评论回复
评论
chongdongchen 2018-6-25 11:00 回复TA
想了想亮度0-250,其实比较鸡肋,微微亮时变化明显,亮度高了后就不明显了,这是人眼感觉非线性导致。 所以后期可能会增加算法,改成0-15(或0-31)级,让人感觉变化是线性的,这样比较实用。 
chongdongchen 2018-6-22 22:13 回复TA
@一路向北lm :是很好看,组合后其实是三色了 
一路向北lm 2018-6-22 20:29 回复TA
双色的很炫啊 
5
caijie001| | 2018-6-21 12:33 | 只看该作者
.6666666666666666666666666666666666牛X牛X

使用特权

评论回复
6
6688hyc| | 2018-6-21 13:00 | 只看该作者
8787

使用特权

评论回复
7
ddllxxrr| | 2018-6-21 13:30 | 只看该作者
不错,已经侧漏

使用特权

评论回复
8
ningling_21| | 2018-6-21 14:03 | 只看该作者
已经侧漏

使用特权

评论回复
9
chongdongchen|  楼主 | 2018-6-21 14:46 | 只看该作者
谢谢大佬们支持,小弟再接再励

使用特权

评论回复
10
飞得更高254| | 2018-6-21 18:31 | 只看该作者
围观

使用特权

评论回复
11
chongdongchen|  楼主 | 2018-6-22 11:32 | 只看该作者
MODBUS通讯上了,目前实现如下功能:

        //检查站号
        if(mb_rsp16_adu.StationNumber == MODBUS_STATION_NUMBER_DEFAULT)
        {
            //检查命令
            if(mb_rsp16_adu.cmd == 16)
            {
                //检查数量
                tmp16 = ((u16)mb_rsp16_adu.WriteLen[0]<<8) | mb_rsp16_adu.WriteLen[1];
                if((tmp16 << 1) == mb_rsp16_adu.Bytelen)
                {
                    //检查crc
                    tmp16 = ((u16)mb_rsp16_adu.crc[1]<<8) | mb_rsp16_adu.crc[0];
                    if(tmp16 == CRC16_calculation((u8*)&mb_rsp16_adu,sizeof(mb_rsp16_adu)-2))
                    {
                        switch(((u16)mb_rsp16_adu.WriteAddr[0]<<8) | mb_rsp16_adu.WriteAddr[1])
                        {
                            case 0:     //清屏
                                HUB08_ClearScreen(mb_rsp16_adu.data[0][0],mb_rsp16_adu.data[0][1]);
                            break;
                            case 10000: //第一行字符串
                                memcpy(HUB08Data.string[0].str,mb_rsp16_adu.data[0],mb_rsp16_adu.Bytelen);
                                HUB08_StringToBuf(0);
                            break;
                            case 20000: //第二行字符串
                                memcpy(HUB08Data.string[1].str,mb_rsp16_adu.data[0],mb_rsp16_adu.Bytelen);
                                HUB08_StringToBuf(1);
                            break;
                            case 30000: //开关、亮度等系统设置
                                HUB08Data.DisplaySwitch = mb_rsp16_adu.data[0][0]?1:0;  //显示屏开关
                                HUB08Data.brightness = mb_rsp16_adu.data[0][1];         //亮度
                            break;
                            default:
                            break;
                        }
                    }
                }
            }
        }
用起来感觉越来越方便了,串口直接发送字符串,不过还有一些细节功能要慢慢完善,比如字体设置,颜色设置等等,,甚至动画效果。。


使用特权

评论回复
12
一路向北lm| | 2018-6-22 20:30 | 只看该作者
有这么便宜吗?求链接

使用特权

评论回复
评论
chongdongchen 2018-6-23 09:42 回复TA
@一路向北lm :这东西可玩性还是很高的,加油! 
一路向北lm 2018-6-22 22:36 回复TA
@chongdongchen :我搜搜,也来捣鼓捣鼓 
chongdongchen 2018-6-22 22:25 回复TA
@chongdongchen :如果你没有合适的开发板,可以买他家的控制卡(25 RMB),好像是stm32的,自己重新写个程序玩玩,比我的STM8可就快多了。。可以玩更多花样 
chongdongchen 2018-6-22 22:15 回复TA
是的,应该有好几家,我买的标题是“室内F3.75双色单元板1*4字表贴红绿半板 P4.75LED显示屏广告屏”。 你搜索一下应该就可以了,37元,喜欢DIY可以买个玩玩 
13
ecoren| | 2018-6-23 10:38 | 只看该作者
腻害。。。。

使用特权

评论回复
14
chongdongchen|  楼主 | 2018-6-24 10:40 | 只看该作者
本帖最后由 chongdongchen 于 2018-6-24 10:49 编辑

还是忍不住去试了下动画效果,果然不出所料STM8的速度有点吃紧了。
最后修改了一下刷新频率,从原来250us/行,降到了300us/行(算下来每秒还有208帧,还算挺快),给单片机解解压。
但是发现就算降低了刷新频率,如果运行动画效果,CPU都在超负荷运行了(从GIF图片上看不出来的),所以想要流畅运行的话还需要再降,或者用更快的STM32。。
还是看下效果吧。
纵向移动:

横向移动:



纵向移动.gif (2.24 MB )

纵向移动.gif

横向11.gif (3.33 MB )

横向11.gif

横向2.gif (2.78 MB )

横向2.gif

使用特权

评论回复
评论
chongdongchen 2018-6-24 10:50 回复TA
刚开始图片太大上传失败,压缩后可以了 
15
chongdongchen|  楼主 | 2018-6-24 14:34 | 只看该作者
本帖最后由 chongdongchen 于 2018-6-24 14:39 编辑

优化了底层驱动,又恢复到了250帧/秒,对于自用已经很足够,纵横向同时移动的效果:



同时移动.gif (2.71 MB )

同时移动.gif

使用特权

评论回复
16
877049204| | 2018-6-25 08:08 | 只看该作者
厉害!收藏了

使用特权

评论回复
17
chongdongchen|  楼主 | 2018-6-25 08:50 | 只看该作者
谢谢大家的支持,等做好后,有人需要固件的话,就共享出来

使用特权

评论回复
18
duhemayi| | 2018-6-25 09:33 | 只看该作者
厉害

使用特权

评论回复
19
chongdongchen|  楼主 | 2018-6-28 17:21 | 只看该作者
买了一对无线串口收发模块,433Mhz,最大20db,串口最高波特率115200,两边可以不一样:



使用特权

评论回复
20
441920801| | 2018-6-28 20:53 | 只看该作者
不错哦 厉害

使用特权

评论回复
发新帖 本帖赏金 10.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

1233

帖子

10

粉丝