|
本帖最后由 hzy3774 于 2022-5-19 17:08 编辑
斥资9.9,买了一块开发板来做个实时时钟:
1. 现在玩Arduino成本越低了,特别是乐鑫推出了ESP32-C3芯片,价格比原来的ESP32便宜,
但是保留了有用的2.4G WiFi和低功耗蓝牙功能,可谓简单实用

2. 基于此芯片,合宙推出了现在爆火的LuatOS 核心板,投资9.9元,再找一根typec线,就可以开始开发了

3. 板载外设有2颗LED灯珠,可以用来验证单片机是否正常运行,其他IO可以通过焊接排针引出。
当然,如果嫌这样的外设太过简陋,可以再投资9.9,就可以加一块豪华LCD+摇杆外设扩展板

4. 开发板相关详细资料在这里有介绍:
https://wiki.luatos.com/chips/esp32c3/board.html
5. 再来张合照,板子做工不错,结构也合理
6. 接下来就进入了激动人心的写代码环节,
合宙他们自己搞了个Lua的开发环境,可以参考他们的文档
https://wiki.luatos.com/index.html
比如他们的点灯 Demo- PROJECT = "gpiodemo"
- VERSION = "1.0.0"
- -- 一定要添加sys.lua !!!!
- local sys = require "sys"
- sys.taskInit(
- function()
- -- 开发板上的2个LED
- local LED_D4 = gpio.setup(12, 0)
- local LED_D5 = gpio.setup(13, 0)
- while 1 do
- LED_D4(0)
- LED_D5(1)
- sys.wait(500)
- LED_D4(1)
- LED_D5(0)
- sys.wait(500)
- log.info("main", "code", "https://gitee.com/dreamcmi/LuatOS-ESP32")
- log.info("main", "wiki", "https://wiki.luatos.com")
- end
- end
- )
- -- 用户代码已结束---------------------------------------------
- -- 结尾总是这一句
- sys.run()
- -- sys.run()之后后面不要加任何语句!!!!!
复制代码
7. 然而对于熟悉了ESP32 Arduino开发的用户来说,用C++代码开发也是可以的
比如使用Arduino IDE,或者PlatformIO,我比较习惯Platform IO,因为操作简单,
只需要下载个VSCode,右键打开工程,刷新之后,就可以自动装好各种编译器插件和下载工具。
VSCode下载地址:https://code.visualstudio.com/
先来个点灯程序吧(下载个VSCode打开即可)
8. 接下来就搞个时钟程序,首先要配个WiFi网,然后从网络上获取时间
配网就简单点吧,用SDK自带的SmartConfig来配置:
9. SmartConfig配网使用很简单,手机上下载个ESPTouch就可以玩了。
连上WiFi网络,就可以玩其他网络功能了,比如实时显示时间。
附上代码(VSCode打开即可)
关键代码:
- struct tm info;
- getLocalTime(&info);
- strftime(buf, 32, "%T", &info);
- tft.fillScreen(TFT_BLACK);
- tft.setTextColor(TFT_CYAN);
- tft.drawCentreString(buf, 80, 10, 4);
- strftime(buf, 32, "%F", &info);
- tft.setTextColor(TFT_PINK);
- digitalWrite(PIN_LED1, HIGH);
- tft.drawCentreString(buf, 80, 50, 2);
- digitalWrite(PIN_LED1, LOW);
复制代码 10. 这样子,我们要的网络实时时钟就显示出来了,然而,LCD显示驱动,我还没说,因为我直接用的TFT_eSPI库。
这个LCD是80x160的全彩屏,驱动为ST7735,Arduino下多亏TFT_eSPI的加持,我们就不需要去研究驱动了,把端口和相关参数配置好,
就可以开始显示了,引脚定义如下:
- #define TFT_MISO -1
- #define TFT_MOSI 3
- #define TFT_SCLK 2
- #define TFT_CS 7 // Chip select control pin
- #define TFT_DC 6 // Data Command control pin
- #define TFT_RST 10 // Reset pin (could connect to RST pin)
- #define TFT_BL 11 // LED back-light
复制代码
至此,我相信坛友们已默默打开PDD下了一单,毕竟这点私房钱还是有的
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|