以下是一个基本的Arduino蓝牙小车代码示例,通常使用HC-05或HC-06蓝牙模块进行控制。该示例假设你使用的是两个直流电机,并且通过L298N电机驱动模块进行控制。
硬件连接
蓝牙模块 (HC-05/Hc-06):
- VCC -> Arduino 5V
- GND -> Arduino GND
- TX -> Arduino RX (数字口)
- RX -> Arduino TX (数字口)
电机驱动模块 (L298N):
- IN1, IN2 控制一个电机(Motor A)
- IN3, IN4 控制另一个电机(Motor B)
示例代码
// 定义引脚
const int motorA1 = 9; // 电机 A 正转引脚
const int motorA2 = 10; // 电机 A 反转引脚
const int motorB1 = 11; // 电机 B 正转引脚
const int motorB2 = 12; // 电机 B 反转引脚
void setup() {
Serial.begin(9600); // 启动串口通信,波特率与蓝牙模块相同
// 设置马达控制引脚为输出模式
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
}
void loop() {
if (Serial.available()) {
char command = Serial.read(); // 从蓝牙接收命令
switch(command) {
case 'F': // 前进
forward();
break;
case 'B': // 后退
backward();
break;
case 'L': // 左转
turnLeft();
break;
case 'R': // 右转
turnRight();
break;
case 'S': // 停止
stop();
break;
}
}
}
// 前进函数
void forward() {
digitalWrite(motorA1, HIGH);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, HIGH);
digitalWrite(motorB2, LOW);
}
// 后退函数
void backward() {
digitalWrite(motorA1, LOW);
digitalWrite(motorA2, HIGH);
digitalWrite(motorB1, LOW);
digitalWrite(motorB2, HIGH);
}
// 左转函数
void turnLeft() {
digitalWrite(motorA1, LOW);
digitalWrite(motorA2, HIGH);
digitalWrite(motorB1, HIGH);
digitalWrite(motorB2, LOW);
}
// 右转函数
void turnRight() {
digitalWrite(motorA1, HIGH);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, LOW);
digitalWrite(motorB2, HIGH);
}
// 停止函数
void stop() {
digitalWrite(motorA1, LOW);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, LOW);
digitalWrite(motorB2, LOW);
}
控制指令说明
- F:前进
- B:后退
- L:左转
- R:右转
- S:停止
注意事项
确保在上传代码之前已经正确连接了所有硬件。在使用Bluetooth进行无线控制时,需要在手机上下载并使用一个可以发送字符的应用程序,例如“Bluetooth Terminal”来发送控制命令。
希望这能帮助你实现你的Arduino蓝牙小车!如果有其他问题,请随时询问。
内容由零声教学AI助手提供,问题来源于学员提问