单片机互通调试初步完成
This commit is contained in:
38
esp32_robot_firmware/sensor_handler.h
Normal file
38
esp32_robot_firmware/sensor_handler.h
Normal 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
|
||||
Reference in New Issue
Block a user