一个外行财务学Beetle ESP32-C3免费试用活动的学习日记

2023-05-166713
AI 快速预览详细 收起
这篇学习日记详细记录了一个外行财务人员学习Beetle ESP32-C3的过程。从拆封到焊接,再到测试功耗和联网显示网络时钟,每一步都有详细的说明。硬件清单包括Beetle ESP32-C3开发板、锂电池、0.96寸屏幕等。最终效果包括成功显示网络时钟和WS2812流水灯。难度等级适中,适合零基础新手入门。


一个外行财务学Beetle ESP32-C3免费试用活动的学习日记

2023年5月16日
昨天收到了样品
今天拆封,为了方便后期学习,做项目,所以没有焊接死,全部做成活的,把底板焊接成母座, 主控焊接成公针
同时给底板的电池口那里焊接一个ph2.0的电池插头母头,尺寸有点大所以对ph2.0的针脚 老虎钳帮助弯折一下
然后给10号引脚拉高让他板载灯常亮,测试下一节400ma的锂电池能待机多久,看看功耗如何。
5月16日下午看了下c3模拟的输入引脚只能选 0 1 2 3 4 5 所以如果我打算做一个遥控器 使用espnow通信 给另外一个c3 摇杆就只能用那几个引脚打算就用 4 和5 来分别给2个摇杆用 另外2个方向 有 2 3 备用 他的输出是从0到21个脚可以用 ,sda是8 scl是9 需要注意的也就这些点,模拟输出也是只有 2 6 8 10 4个引脚可以选择
下午开始设计遥控器pCB


5月17日
今天起来想测试一下联网点亮0.96的屏幕 显示一个网络时钟
代码如下:
#include <WiFi.h>
#include <TimeLib.h>
#include <NtpClientLib.h>
#include <U8g2lib.h>
#include <Wire.h>
#include <SimpleTimer.h>

int8_t timeZone = 8;
const PROGMEM char *ntpServer = "ntp1.aliyun.com";
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,  20, 21, U8X8_PIN_NONE);
SimpleTimer timer;

void Simple_timer_1() {
  u8g2.firstPage();
  do
  {
    page1();
  }while(u8g2.nextPage());
}

void page1() {
  u8g2.setFont(u8g2_font_timR18_tf);
  u8g2.setFontPosTop();
  u8g2.setCursor(0,2);
  u8g2.print(String(NTP.getDateYear()) + String("-") + String(((NTP.getDateMonth() < 10)?"0":"")) + String(NTP.getDateMonth()) + String("-") + String(((NTP.getDateDay() < 10)?"0":"")) + String(NTP.getDateDay()));
  u8g2.setFont(u8g2_font_timR24_tf);
  u8g2.setFontPosTop();
  u8g2.setCursor(0,30);
  u8g2.print(String(((NTP.getTimeHour24() < 10)?"0":"")) + String(NTP.getTimeHour24()) + String(":") + String(((NTP.getTimeMinute() < 10)?"0":"")) + String(NTP.getTimeMinute()) + String(":") + String(((NTP.getTimeSecond() < 10)?"0":"")) + String(NTP.getTimeSecond()));
}

void setup(){
  WiFi.begin("******", "********");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("Local IP:");
  Serial.print(WiFi.localIP());

  NTP.setInterval (600);
  NTP.setNTPTimeout (1500);
  NTP.begin (ntpServer, timeZone, false);
  u8g2.setI2CAddress(0x3C*2);
  u8g2.begin();
  timer.setInterval(1000L, Simple_timer_1);

  u8g2.enableUTF8Print();

}

void loop(){
  timer.run();

}


效果如图:


再点亮一下 ws2812的流水灯 代码如下:


#include <Adafruit_NeoPixel.h>

Adafruit_NeoPixel rgb_display_0 = Adafruit_NeoPixel(64,0,NEO_RGB + NEO_KHZ800);

void setup(){
  rgb_display_0.begin();
  rgb_display_0.setBrightness(250);
}

void loop(){
  for (int i = 1; i <= 64; i = i + (1)) {
    for (int i = 1; i <= 64; i = i + (1)) {
      rgb_display_0.setPixelColor((i)-1, (((0 & 0xffffff) << 16) | ((0 & 0xffffff) << 8) | 0));
    }
    rgb_display_0.setPixelColor((i)-1, (0xff0000));
    rgb_display_0.show();
    delay(100);
  }

}


效果如图:
5月17日晚
发现充电指示灯1.0版本是绿色灯珠而且特别亮,我家有小朋友 怕伤害到小朋友眼睛 所以果断给吹下来换成红色灯珠,降低亮度
不过他是0402规格 我手里只有0603规格的灯珠,没办法就只能排列方法换一下竖过来找个1k电阻并排放 一个点焊接一个,然后电阻和灯珠串联搞定
主要充电过程红色更加符合逻辑,绿色我感觉应该是充满了才是绿色容易给人逻辑错觉,实际说明书上说充满是灭灯的

效果看照片:

1.jpg (400.52 KB, 下载次数: 2411)

Beetle ESP32-C3 · 外行财务的学习日记_image_3.webp

3.jpg (456.83 KB, 下载次数: 2512)

Beetle ESP32-C3 · 外行财务的学习日记_image_6.webp

2.jpg (442.64 KB, 下载次数: 2537)

Beetle ESP32-C3 · 外行财务的学习日记_image_9.webp

微信图片_20230517001414.png (209.71 KB, 下载次数: 2556)

Beetle ESP32-C3 · 外行财务的学习日记_image_12.webp

微信图片_20230517001429.png (216.64 KB, 下载次数: 2499)

Beetle ESP32-C3 · 外行财务的学习日记_image_15.webp

微信图片_20230517083615.jpg (299.25 KB, 下载次数: 2481)

网络时钟

Beetle ESP32-C3 · 外行财务的学习日记_image_18.webp

微信图片_20230517085412.jpg (236.99 KB, 下载次数: 2514)

Beetle ESP32-C3 · 外行财务的学习日记_image_21.webp

微信图片_20230517191919.jpg (227.2 KB, 下载次数: 2497)

更换灯珠闪亮后效果

Beetle ESP32-C3 · 外行财务的学习日记_image_24.webp

微信图片_20230517191909.png (405.3 KB, 下载次数: 2597)

更换灯珠灭的效果

Beetle ESP32-C3 · 外行财务的学习日记_image_27.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
物联网学习
物联网学习
66666666666666
- 没有更多了 -