Skip to content

本项目是一种适用于机器人赛道巡线的数字量灰度传感器,可安装IRT9909集成红外传感器以及其他3mm光敏二极管,内置STM32G030F6P6微控制器,可以实现赛道手动按键校准以及串口回传传感器数据等功能。

License

Notifications You must be signed in to change notification settings

zenchrer/zenchrer-GrayscaleSensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zenchrer-GrayscaleSensor

项目介绍

    本项目是一种适用于机器人赛道巡线的数字量灰度传感器,可安装IRT9909集成红外传感器以及其他3mm光敏二极管,内置STM32G030F6P6微控制器,可以实现赛道手动按键校准以及串口回传传感器数据等功能。
    硬件使用立创EDA专业版绘制,请使用立创eda专业版打开工程。软件使用Keil MDK+STM32CubeMX编写。


注意

  • I2C版本建议使用100kbps频率,不容易遇到bug
  • 存在于I2C版本,使用MDK ac5选项编译会硬件上访,使用 MDK ac6则不会
  • 提一嘴,使用Embedded IDE里面的ac5配置没有bug,暂时没搞明白哪里的问题

使用说明

按键操作

单击按键

  • I2C版本中加入单击按键查看器件id(在查看id模式下,闪烁的LED数量即器件id)
    • 进入查看id模式后,单击更改id(单击时间间隔需大于100ms)
    • 查看id模式三秒无操作自动退出
  • Uart版本此操作无效

双击按键

  • 双击按键进入校准模式,进入后依次让每个传感器采集到赛道线与赛道背景信息后,双击按键退出校准模式,退出后赛道数据会保存到MCU的内部flash中,掉电不丢失。

更新固件

  • 关于固件升级
    • 请按照S1->CLKS2->SWD的方式接入Debugger
    • UART版本烧录前,请使用main.h中的DEBUG宏定义来开启关闭SWD调试功能,
      • 关闭SWD调试烧录后,可执行全片擦除后再烧录新的固件
    • I2C版本使用长按开启或关闭SWD接口
    • 开启SWD后S1,S2引脚以及对应的LED失效

通信协议

I2C版本

  • 一条I2C总线上可挂载多个id不同(可单击更改)的传感器,Demo展示了同时挂载两个传感器的例子

UART版本

  • 一发一收,主机发送0x57,传感器返回一个HEX数据,解析为BIN即为灰度数据

About

本项目是一种适用于机器人赛道巡线的数字量灰度传感器,可安装IRT9909集成红外传感器以及其他3mm光敏二极管,内置STM32G030F6P6微控制器,可以实现赛道手动按键校准以及串口回传传感器数据等功能。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages