单片机互通调试初步完成

This commit is contained in:
2025-05-27 16:44:45 +08:00
parent 22e1109d81
commit 6aaae06bac
22 changed files with 1678 additions and 129 deletions

View File

@@ -0,0 +1,38 @@
#ifndef SENSOR_HANDLER_H
#define SENSOR_HANDLER_H
#include "config.h"
#include <Arduino.h>
// TCRT5000 循迹传感器阈值 (如果使用数字模式或需要软件比较)
// 这个值需要根据实际传感器和线路进行校准
#define TCRT5000_THRESHOLD 500 // 假设模拟读取值,高于此值为检测到线,低于则为背景
void sensor_setup();
// 超声波传感器
long get_ultrasonic_distance_cm(int trig_pin, int echo_pin);
long get_front_obstacle_distance(); // 获取前方障碍物距离 (cm)
long get_side_spot_distance(); // 获取侧方充电桩距离 (cm)
// TCRT5000 循迹传感器
// 返回值可以根据具体循迹算法设计,例如:
// 0: 均在线上或中间
// -1: 左边传感器在线上,车体偏右
// 1: 右边传感器在线上,车体偏左
// -2: 左边传感器出界
// 2: 右边传感器出界
// 或者直接返回左右传感器的原始值/数字值
struct LineFollowValues {
bool left_on_line;
bool right_on_line;
// 可以添加原始模拟值如果需要
// int raw_left;
// int raw_right;
};
LineFollowValues get_line_follow_values();
// 辅助函数,判断是否在线上 (基于模拟值和阈值)
bool is_on_line(int sensor_pin, int threshold = TCRT5000_THRESHOLD);
#endif // SENSOR_HANDLER_H