数码之家

 找回密码
 立即注册
搜索
查看: 1258|回复: 6

[AVR] CHxduino WS2812 DIY简单编程变色日行灯

[复制链接]
发表于 2022-11-4 21:04:13 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zipcord 于 2022-11-5 18:15 编辑

这周又是因为疫情在家隔离, 于是把之前一直想改造的日行灯改一下, 刚好最近又看到arduino 支持CH552G系列, 这么便宜,那就来啊,互相伤害啊!立创开源上直接免费打板,这里感谢嘉立创免费的板子,感谢作者小安,淘宝了几个CH552G ,照着样子焊接,渣渣焊工,见谅!
pinhout.jpg

开始还想着这价格配置还不错,后来一查,才16k flash,1k ram,能干的大事不多(其实自己也写不了大程序,哈哈),但是anyway ,谁让这么便宜呢,简单点的什么pwm,spi,eeprom都支持,还支持usb。
直接连接usb到电脑,找了一个blink示例,下载 , 搞定, 又试了几个示例,这里有个问题,好多人写刷第二次程序的时候要用10k短接p3.6和vcc,但是后来实践是不需要的,直到我试了模拟USB键盘,arduino IDE死活刷不了了,因为找不到com8了,终于让我用到了上面的短接按钮。而且只能用WCHtools,才能刷回去。
接着看到ws2812,哈哈,太熟悉了。
接线图
conn.jpg
成本,板子免费,552g : 1.5   ws2812:3.0  触摸板 1.5  共6元差不多搞定。
直接上代码吧,这个垃圾代码编辑器 ,弄的很光火。

  1. #include <WS2812.h>

  2. #define NUM_LEDS 8
  3. #define COLOR_PER_LEDS 3
  4. #define NUM_BYTES (NUM_LEDS*COLOR_PER_LEDS)
  5. int pushButton = 11;

  6. #if NUM_BYTES > 255
  7. #error "NUM_BYTES can not be larger than 255."
  8. #endif

  9. __xdata uint8_t ledData[NUM_BYTES];
  10. uint8_t sw1=0;
  11. // eep写地址
  12. uint8_t writePtr = 0;


  13. void setup() {
  14.   pinMode(34, OUTPUT); //Possible to use other pins.
  15.   pinMode(pushButton, INPUT_PULLUP);
  16.    // 读
  17.   sw1 = eeprom_read_byte(writePtr);
  18. }

  19. void loop() {

  20.   int buttonState = digitalRead(pushButton);

  21.   if (buttonState) {
  22.       sw1++;
  23.        // 写
  24.       eeprom_write_byte(writePtr, sw1);
  25.       delay(50);
  26.   }
复制代码


功能就是开机读取存储的灯颜色的开关量,按一次按钮改变灯颜色,然后保存灯颜色开关量

最后上个效果图吧。 开孔什么的都是渣,透明部分是热熔胶的,不知道夏天会融化,等找到合适的东西再补吧。
1.jpg

22.jpg


已根据建议修改switch, 查了一下,好像switch 效率超过3行就比较高。

打赏

参与人数 1家元 +120 收起 理由
家睦 + 120

查看全部打赏

发表于 2022-11-5 08:51:38 | 显示全部楼层
第一次见这么小的板子~
回复 支持 反对

使用道具 举报

发表于 2022-11-5 16:42:05 | 显示全部楼层
这么多if 可以考虑用 switch case 了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-5 18:16:22 | 显示全部楼层
firseve 发表于 2022-11-5 16:42
这么多if 可以考虑用 switch case 了

感谢,已根据建议修改了,
回复 支持 反对

使用道具 举报

发表于 2022-11-6 22:00:07 | 显示全部楼层
会写程序的都是大师级别的
回复 支持 反对

使用道具 举报

发表于 2022-11-9 14:33:49 | 显示全部楼层
会写程序的都是大师级别的
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-5-1 07:25 , Processed in 0.187200 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表