ZR-7 ATtiny85 摩托车尾灯

基于 ATtiny85 的 Kawasaki 川崎 ZR-7 DIY定制尾灯方案,易于移植到其他MCU平台。

ZR-7 ATtiny85 摩托车尾灯封面
dianzi_01012026-02-26 13:59:35MIT License
114
Star

PCBA

设计文件

KiCad图标zr7-taillight.zip3.24MB

EDA查看器

复制嵌入代码

详细介绍

项目概述

这是一个为 川崎 (Kawasaki) ZR-7 摩托车设计的定制尾灯项目。该项目以 ATtiny85 微控制器为核心,涵盖了从电路原理图、PCB 设计到低级固件和动画逻辑的完整堆栈,重点关注鲁棒性、简洁性和视觉清晰度。

该项目的目标不仅是作为一个功能性的尾灯,而且是作为一车规级的嵌入式产品。

功能特性

  • 控制逻辑:基于 ATtiny85 微控制器。

  • LED 布局:采用可寻址 RGB LED(WS2812B/NeoPixel)布局。

  • 工作模式:

    • 行车灯(Running light)

    • 刹车灯(Brake light)

    • 左/右转向灯(Left / right indicators)

  • 固件设计:确定性、非阻塞式固件架构。

  • 电气兼容性:专为摩托车 12V 电气系统设计(具备电压波动耐受性)。

  • 硬件设计:紧凑且专用化的 PCB。

设计说明

硬件设计主要的难点:

  • 车载信号噪声:采用了输入信号调理和下拉电阻策略,以避免引脚出现浮空或不稳定的逻辑状态。

  • 电源完整性:电路设计能够耐受摩托车电气系统中典型的电压波动。

  • 机械约束:PCB 形状、连接器位置以及 LED 布局均针对尾灯外壳进行了优化。

固件

固件采用 C 语言编写,直接面向 ATtiny85 硬件底层(Bare-metal)。程序未运行任何操作系统(RTOS),且不使用动态内存分配(No dynamic memory usage),以确保系统的极高稳定性和预测性。

架构亮点

  • 基于状态的渲染 (State-based rendering):行车灯(Tail)、刹车灯(Brake)和转向灯(Indicator)的控制逻辑最终会被整合并解析到一个单一的渲染流水线中,确保不同灯光模式切换时的平滑与逻辑一致。

  • 时间驱动型动画 (Time-driven animations):所有动画效果均采用**非阻塞(Non-blocking)**设计,并基于 Tick(时钟滴答) 运行。这意味着 CPU 在处理动画的同时,仍能实时响应刹车或转向信号的变化。

  • 预留配置架构 (Config-ready architecture):固件结构设计超前,如果未来需要通过 EEPROM 添加持久化配置(如保存用户自定义的闪烁频率或亮度),现有的架构可以轻松扩展。

资源文件:固件源代码见顶部附件 zr7-taillight-attiny85.zip

固件编译与烧录

固件开发和烧录工作使用 Arduino IDE 配合外部 ISP 编程器完成。

环境要求

  • 软件环境:

    • Arduino IDE

    • ATtiny 开发板内核(推荐使用 Spence Konde 的 ATTinyCore)

    • Adafruit_NeoPixel 库(用于驱动 LED)

  • ISP 编程器(任选其一):

    • USBtinyISP

    • USBasp

Arduino IDE 配置

  1. 通过开发板管理器(Boards Manager)安装 ATtiny 开发板扩展包。

  2. 通过库管理器(Library Manager)安装 Adafruit_NeoPixel 库。

  3. 将 ISP 编程器连接至 ATtiny85 的 ISP 接口 (Header)。

  4. 在 Arduino IDE 的“工具”菜单中进行如下配置:

    • 开发板 (Board): ATtiny85

    • 时钟频率 (Clock): 16.5 MHz (Internal)

    • 欠压检测 (B.O.D Level): 4.3V(防止电压不稳定导致固件异常)

    • 编程器 (Programmer): 根据你的设备选择 USBtinyISP 或 USBasp

烧录固件 (Flashing)

请执行以下操作:Sketch → Upload Using Programmer

此操作将编译固件并将其直接烧录到 ATtiny85 芯片中。

注意:本项目不使用引导程序 (No bootloader is used),从而节省了 Flash 空间并加快了启动速度。

安全与免责声明

本项目仅供教育和实验目的使用。

  • 作者不对本项目的道路合法性、安全合规性或对任何特定车型的适用性提供任何保证。

  • 对车辆灯光系统的改装,可能会受到不同国家或地区法律法规的限制。

  • 您有责任自行确保任何实施方案均符合当地法律、机车管理条例以及安全标准。

请自行承担风险。

License

开源协议:MIT License

项目仓库:https://github.com/slabua/zr7-taillight