数码之家

 找回密码
 立即注册
搜索
查看: 19209|回复: 106

[Arduino] 支付宝盒A2废物再利用,ESP32完美烧写程序并驱动TFT

    [复制链接]
发表于 2021-7-15 18:51:24 | 显示全部楼层 |阅读模式
本帖最后由 hzy3774 于 2021-7-20 16:53 编辑

我的这个A2以前支付宝上推广便宜买的,没啥用,已经吃灰两三年了,
最近突然找了出来,发现是ESP32芯片就来了兴趣


支付宝盒M2,主控是ESP32,配置了2.4寸TFT,双声道喇叭,多个按键和三色LED灯,
这么好的DIY材料,仅仅用来显示个收款码,感觉有点大材小用了,直接盘它。



最终TFT驱动成功了,显示HelloWorld:


这个盒子某宝介绍的配置如下:


拆机的话之乎上有拆解图片,可以参考:
https://zhuanlan.zhihu.com/p/39634765


要盘它关键是要有电路原理图,没图就只能自己摸索,
经过观察结合万用表,找出电路连接对应关系,大概画了个电路逻辑图:



然后软件定义接口:
  1. //按钮输入
  2. #define PAY_KEY_RESET       5   //GPIO5 34 I/O GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK
  3. #define PAY_KEY_ON          34  //VDET_1 10 I GPIO34, ADC1_CH6, RTC_GPIO4
  4. #define PAY_KEY_ADD         39   //SENSOR_VN 8 I GPIO39, ADC1_CH3, RTC_GPIO3
  5. #define PAY_KEY_MINUS       36   //SENSOR_VP 5 I GPIO36, ADC1_CH0, RTC_GPIO0
  6. #define PAY_KEY_REFRESH     35   //VDET_2 11 I GPIO35, ADC1_CH7, RTC_GPIO5


  7. //LED输出
  8. #define PAY_LED_RED            4  //GPIO4 24 I/O GPIO4, ADC2_CH0, RTC_GPIO10, TOUCH0, EMAC_TX_ER, HSPIHD, HS2_DATA1, SD_DATA1
  9. #define PAY_LED_GREEN            33  //32K_XN 13 I/O GPIO33, ADC1_CH5, RTC_GPIO8, TOUCH8, 32K_XN (32.768 kHz 晶振输出)
  10. #define PAY_LED_BLUE            13  //MTCK 20 I/O GPIO13, ADC2_CH4, RTC_GPIO14, TOUCH4, EMAC_RX_ER, HSPID, HS2_DATA3, SD_DATA3, MTCK


  11. //音频数字输出
  12. #define PAY_AUDIO_SDATA          14  //MTMS 17 I/O GPIO14, ADC2_CH6, RTC_GPIO16, TOUCH6, EMAC_TXD2, HSPICLK, HS2_CLK, SD_CLK, MTMS
  13. #define PAY_AUDIO_SCLK           26  //GPIO26 15 I/O GPIO26, ADC2_CH9, RTC_GPIO7, DAC_2, EMAC_RXD1
  14. #define PAY_AUDIO_LRCK           27  //GPIO27 16 I/O GPIO27, ADC2_CH7, RTC_GPIO17, TOUCH7, EMAC_RX_DV
  15. #define PAY_AUDIO_CLKIN          0  //GPIO0 23 I/O GPIO0, ADC2_CH1, RTC_GPIO11, TOUCH1, EMAC_TX_CLK, CLK_OUT1


  16. //TFT输出
  17. #define PAY_TFT_BAK          15  //MTDO 21 I/O GPIO15, ADC2_CH3, RTC_GPIO13, TOUCH3, EMAC_RXD3, HSPICS0, HS2_CMD, SD_CMD, MTDO
  18. #define PAY_TFT_CS           22  //GPIO22 39 I/O GPIO22, U0RTS, VSPIWP, EMAC_TXD1
  19. #define PAY_TFT_MOSI          23  //GPIO23 36 I/O GPIO23, HS1_STROBE, VSPID
  20. #define PAY_TFT_SCLK           19  //GPIO19 38 I/O GPIO19, U0CTS, VSPIQ, EMAC_TXD0
  21. #define PAY_TFT_DC           21  //GPIO21 42 I/O GPIO21, VSPIHD, EMAC_TX_EN
  22. #define PAY_TFT_RST           18  //GPIO18 35 I/O GPIO18, HS1_DATA7, VSPICLK
  23. #define PAY_TFT_MISO           25  //GPIO25 14 I/O GPIO25, ADC2_CH8, RTC_GPIO6, DAC_1, EMAC_RXD0
复制代码


我写的测试代码,可以驱动屏幕和三色LED:
https://gitee.com/zhuhai-esp/PlatformIO-ESP32-PayBoxA2


代码编辑和烧写使用Visual Studio Code结合PlatformIO插件即可,非常方便


小电视效果:


点这里看完整视频效果吧,视频里都有:
https://www.douyin.com/video/6984950660135488768


现在能驱动屏幕了,后面有时间再研究下I2S驱动DAC喇叭,结合按键,做个桌面时钟吧。
宝盒还在吃灰的朋友,大家可以一起研究交流,废物回收再利用了。


补充内容 (2022-3-28 12:55):
音频驱动在这里:
https://www.mydigit.cn/thread-272695-1-1.html

补充内容 (2023-9-13 13:53):
https://github.com/zhuhai-esp/PayBoxA2-ESP32-Clock

本帖子中包含更多资源

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

x

打赏

参与人数 8家元 +202 收起 理由
玛德陛下 + 20 謝謝分享
llcc + 20
springvirus + 20 謝謝分享
llly888 + 10
mjgzdnw + 5 優秀文章
zidian + 7
家睦 + 100
200birds + 20

查看全部打赏

本帖被以下淘专辑推荐:

  • · MCU|主题: 24, 订阅: 18
发表于 2021-7-15 19:06:16 | 显示全部楼层
HelloWorld好熟悉啊,以前就只会写这几个字,现在是全部忘记了。
回复 支持 反对

使用道具 举报

发表于 2021-7-15 19:19:12 | 显示全部楼层
用WIFI投屏显示的?
回复 支持 反对

使用道具 举报

发表于 2021-7-15 21:53:39 来自手机浏览器 | 显示全部楼层
这盒子比较少见啊,现在想找一个都难
回复 支持 反对

使用道具 举报

发表于 2021-7-15 22:13:27 | 显示全部楼层
人家也是用现成的库
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-15 22:51:55 | 显示全部楼层
xueyuking 发表于 2021-7-15 19:19
用WIFI投屏显示的?

是的,wifi投屏那个适配了一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-15 22:53:18 | 显示全部楼层
200birds 发表于 2021-7-15 21:53
这盒子比较少见啊,现在想找一个都难

是的,单独买的话不划算,以前撸羊毛闲置的废物再利用一下还行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-15 22:54:40 | 显示全部楼层
inthsunshine 发表于 2021-7-15 22:13
人家也是用现成的库

是的,Arduino就行,很多现成的库,适配一下就行
回复 支持 1 反对 0

使用道具 举报

发表于 2021-7-16 08:08:35 来自手机浏览器 | 显示全部楼层
楼主的编译器很巴适啊……会英语就是好…看着比arduino快很多…
回复 支持 反对

使用道具 举报

发表于 2021-7-16 17:14:41 | 显示全部楼层
本帖最后由 jjbboox 于 2021-7-16 17:15 编辑
触景情伤 发表于 2021-7-16 08:08
楼主的编译器很巴适啊……会英语就是好…看着比arduino快很多…

那是必须的

VScode+platformIO是Arduino开发的最佳组合,比官方的垃圾IDE好太多了。

对了,有中文版的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-16 18:17:24 | 显示全部楼层
触景情伤 发表于 2021-7-16 08:08
楼主的编译器很巴适啊……会英语就是好…看着比arduino快很多…

platformIO挺好的,可以用ESP32原生的idf,也可以用arduino,语法和arduino IDE一样的
回复 支持 反对

使用道具 举报

发表于 2021-7-19 15:51:14 | 显示全部楼层
你好,请问这个电路里有自动下载电路吗?我试了不能自动下载。
回复 支持 反对

使用道具 举报

发表于 2021-7-19 16:03:49 | 显示全部楼层
下拉gpio0成功下载代码了,但是变砖了。。。。
回复 支持 反对

使用道具 举报

发表于 2021-7-19 18:18:25 | 显示全部楼层
rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6364
secure boot check fail
ets_main.c 371
ets Jun  8 2016 00:22:57
回复 支持 反对

使用道具 举报

发表于 2021-7-19 18:22:31 | 显示全部楼层

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2021-7-19 18:41:33 | 显示全部楼层
本帖最后由 jpdd521 于 2021-7-19 20:20 编辑

来个小电视的固件玩一下吧:lol:主要是不会编译。。
回复 支持 反对

使用道具 举报

发表于 2021-7-20 16:18:01 | 显示全部楼层
ESP32用来做产品,能加密吗,容易破解吗?请教一下。
回复 支持 反对

使用道具 举报

发表于 2021-7-20 16:19:35 | 显示全部楼层
用arduino来开发esp32,可以加密吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-20 16:35:00 | 显示全部楼层
jpdd521 发表于 2021-7-19 18:41
来个小电视的固件玩一下吧主要是不会编译。。

上面工程里有源码,编译只需要安装vscode打开工程就可以编译了,安装包70多M,安装很快
https://code.visualstudio.com/
回复 支持 反对

使用道具 举报

发表于 2021-7-20 16:38:09 | 显示全部楼层
hzy3774 发表于 2021-7-20 16:35
上面工程里有源码,编译只需要安装vscode打开工程就可以编译了,安装包70多M,安装很快
https://code.vis ...

大佬给个固件吧,不赖老师没有教好,只怪自己没学好,26个字母连起来就不太认识了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-25 23:38 , Processed in 0.140400 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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