🔧 Arduino 机器人基础
常用模块
- 数字输入输出:digitalRead / digitalWrite
- 模拟输入:analogRead 光敏、红外、灰度传感器
- PWM 输出:analogWrite 控制电机转速、舵机角度
- 舵机控制:Servo库,角度 0~180°
- 串口调试:Serial.print 查看传感器数据
编程结构
- setup():初始化只运行一次
- loop():循环执行主体逻辑
- 变量定义:int、float、unsigned int
- 延时控制:delay() / millis() 精准计时
📌 PID巡线算法核心笔记
- 误差 e = 目标值 - 当前值
- P 比例:快速响应,偏差大时动作大
- I 积分:消除静差,修正长期偏移
- D 微分:抑制超调,防止抖动、过冲
- 输出 = Kp*e + Ki*∫e + Kd*Δe
- 调参顺序:先P → 加D → 最后加I
- 巡线常用:灰度传感器阵列 + 差分驱动
🚗 巡线小车控制逻辑
传感器处理
- 多路灰度:识别黑线位置、偏移量
- 阈值校准:黑白区分,避免环境干扰
- 滤波处理:去除杂波,稳定读数
运动控制
- 差速驱动:左右电机转速差实现转向
- 基础动作:前进、后退、左转、右转、停止
- 速度限制:防止超速失控、保护电机
- 急停逻辑:异常状态立即停止
📝 竞赛实用技巧
- 先测传感器,再写控制逻辑
- 串口实时查看数据,快速定位问题
- PID参数现场微调,适应场地光线
- 代码模块化,方便调试与修改
- 电池电压监测,避免低压失控