Skip to content

zhpy2004/esp32c3-embedded-projects

Repository files navigation

ESP32-C3 嵌入式系统设计项目

基于 ESP32-C3 的四个嵌入式课程设计项目,全部采用 Arduino 框架开发,不使用任何第三方库,所有外设驱动均为底层手写实现。

项目列表

项目 1 — 超声波测距仪

基于 CS100 超声波模块的测距系统,带蜂鸣器分级报警和 OLED 实时显示。

  • 传感器: CS100 超声波测距模块 (中断驱动)
  • 显示: SSD1315 OLED (I2C, 裸驱动 + 帧缓冲)
  • 报警: 无源蜂鸣器 (LEDC PWM, 三级距离报警)
  • 滤波: 中值滤波 (5 点) + 指数移动平均 (EMA)

项目 2 — 电子密码锁

触摸键盘输入密码,支持设定/验证/错误锁定/管理员串口解锁。

  • 键盘: TTP229-LSF 16 键触摸 (I2C)
  • 显示: SSD1315 OLED (I2C)
  • 指示: RGB 三色 LED 状态指示
  • 安全: 3 次错误锁定 30 秒,串口管理员密码解锁

项目 3 — 电子时钟

RTC 实时时钟 + WiFi NTP 校时 + EEPROM 闹钟存储。

  • 时钟: DS1307 RTC (I2C)
  • 存储: AT24C32D EEPROM (I2C, 闹钟持久化)
  • 显示: SSD1315 OLED (I2C, 大字体时间显示)
  • 按键: TTP229-LSF 触摸键盘 (I2C)
  • 校时: WiFi NTP 网络对时
  • 闹钟: 可设定/开关/持久存储

项目 4 — 公交报站器

LED 点阵滚动显示站名 + 语音合成播报,非阻塞状态机驱动。

  • 显示: HT16K33 双芯片 16×16 LED 点阵 (I2C)
  • 字库: GT30L32S4W 字库芯片 (SPI, 中文点阵取模)
  • 语音: SYN6658 语音合成 (UART, 中文 TTS)
  • 按键: TTP229-LSF 触摸键盘 (I2C)
  • 架构: 非阻塞报站状态机 (到站/离站自动切换)

硬件平台

  • MCU: ESP32-C3 (RISC-V, 160MHz, WiFi/BLE)
  • 开发框架: Arduino
  • IDE: Arduino IDE / PlatformIO

电路图

各项目电路原理图位于 diagrams/ 目录。

目录结构

├── 项目1(测距仪)/          # 超声波测距仪
├── 项目2(电子密码锁)/      # 电子密码锁
├── 项目3(电子时钟)/        # 电子时钟
├── 项目4(报站器)/          # 公交报站器
└── diagrams/                  # 电路原理图

About

ESP32-C3 嵌入式课程设计:超声波测距仪、电子密码锁、电子时钟、公交报站器 (Arduino, 全裸驱动)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors