RecyclerView按照屏幕宽度均分子View
换了个主题以后发现以前的一些并排显示失效了,然后寻求一种新的并排显示方法.好水的文章啊
使用方式
锵锵!利用表格显示
| 图片1 | 图片2 | 图片3 | 图片4 |
|---|---|---|---|
展示一下自己制作迷你版本的像素显示屏的过程
之前疫情期间(2020-02~2020-03)做过一个大号的像素屏幕作为生日礼物送人了,当时使用的芯片是ESP32,开发语言是micropython。
那个初号机的性能表现不是很好,所以计划做一个使用C/C++的版本,能够更高帧率运行。
如果只是纯粹的重写固件,那么和大多数人做的AWatrix就没多大区别了,所以决定做一个迷你版本的像素显示屏出来。
很多地方是参考了AWatrix的代码,因为AWatrix除了必须连接服务器才可以使用以外,真的是非常优秀的一个固件。
AWatrix使用到的一些库很具有参考价值,比FastLED_NexPixel如它把LED点阵当作一块”屏幕”来使用,可以很方便的绘制出一些基础图形。
开发工具为PlantformIO,也是一个很方便的工具了,VSCode装上插件就好了。
万能的某宝上能够找到的内置WS2812的LED贴片灯最小的就是2020LED,长宽各为2mm,比常规AWatrix使用的5050或者3535小很多。
奈何没有现成品,就只能自己画一个电路板了,好在电路非常简单,就是一个接一个,然后绕成S型就好啦。
这次选择的PCB绘制软件为Eagle PCB,因为免费小巧。(但是我打算以后用KiCad画电路图了,因为开源强大)
磨磨唧唧的画完了电路图。
然后提交Gerber文件到厂家,等待3天后就收到了成品。
这一步没什么好说的,我用的是锡膏,熔点在182度,于是先涂抹在板子上,然后风枪对着就是一阵吹。
大概花费了半天时间才焊完所有的贴片灯,因为实在是太麻烦了啊,不小心就碰掉了一个,然后发生一系列连锁反应。
代码位于Github
下载以后,使用PlantformIO导入工程。
1 |
1 | // WiFi名称 |
使用PlantformIO可以直接下载到板子上,也可也Build以后使用其他烧录工具烧录。
我使用的烧录软件是NodeMCU Firmware Programmer
插上板子选择对应的端口号,然后点击Flash就可以进行烧录了。
| 序号 | 名称 | 数量 | 备注 |
|---|---|---|---|
| 1 | WeMos D1 mini | 1 | 无 |
| 2 | LED板 | 1 | 自制 |
| 3 | htu01d | 1 | 温湿度传感器 |
| 4 | 导线 | ? | 无 |
| 5 | 3D打印外壳 | 1 | 无 |
| 6 | 亚克力光栅 | 1 | 无 |
| 7 | A4纸 | 1 | 无 |
| 8 | 深色半透亚克力 | 1 | 无 |
| 9 | 后盖 | 1 | 可以采用任意材料自制 |
| WeMos D1 mini引脚名称 | htu01d |
|---|---|
| 5V | VCC |
| GND | GND |
| D3 | SDA |
| D1 | SCL |
| WeMos D1 mini引脚名称 | LED屏幕 |
|---|---|
| 不接 | 正面从上至下第2个孔 |
| GND | 正面从上至下第2个孔 |
| 5V | 正面从上至下第3个孔 |
| D2 | 正面从上至下第4个孔 |
| WeMos D1 mini引脚名称 | 散热风扇 |
|---|---|
| 5V | 红线 |
| GND | 黑线 |
光栅制作使用的是定制亚克力,而外壳使用的3D打印,按照下图的顺序组装,需要注意的是光栅与深色半透亚克力之间需要加一层A4纸进行柔光。
参考资料:
AWatrix
我的回合,抽卡。发动魔法卡–融合!
第一篇文章中介绍了如何控制LED的亮灭,而第二篇文章中介绍了如何控制舵机旋转到指定的角度,那么现在让它们融合起来了吧!
在LED的Demo中,每次开灯关灯操作都会调用**led_write(bool status)**函数,所以我们只需要根据传进来的status值,旋转舵机到对应的角度即可。
先让我们从mcpwm_servo_control_example.c中提取出需要的方法, 内容如下:
1 | // 引入的头文件 |
完整的文件位于
HomeKitServoLight.c
现在舵机就听我们的指令了哦!
再配合上一个简陋的结构,就可以控制开关了。
别担心,最终的成品可不会这样寒酸。
本系列还没有结束,还有第四部分的结构设计,尽请期待吧!
参考资料:
ESP-IDF 编程指南