arduino智能循迹小车代码(三个循迹模块)

这篇博客分享了使用Arduino实现智能循迹小车的代码。通过读取A0、A1、A2三个传感器的模拟读数,判断小车的行驶方向,控制四个电机的转速来实现循迹功能。当检测到不同传感器读数时,小车会根据条件做出相应的转向调整。代码详细展示了如何处理传感器数据和调整电机转速。
摘要由CSDN通过智能技术生成

#include <Servo.h>
int leftMotor1 = 3;
int leftMotor2 = 5;
int rightMotor1 = 6;
int rightMotor2 = 11;
int sum=0;
void setup() {
Serial.begin(9600);
pinMode(leftMotor1, OUTPUT);
pinMode(leftMotor2, OUTPUT);
pinMode(rightMotor1, OUTPUT);
pinMode(rightMotor2, OUTPUT);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
}
void loop() {
tracing();
}
void tracing()
{
int data[4];
data[0]=analogRead(A0);
data[1]=analogRead(A1);
data[2]=analogRead(A2);

if(data[0]<210&&data[1]>500&&data[2]<210)//向前走
{
analogWrite(3,100);
analogWrite(5,0);
analogWrite(6,100);
analogWrite(11,0);
}
if(data[0]>500 &&data[1]<210 && data[2]<210) // 小车偏左

Arduino八路循迹小车代码是一种控制八路循迹小车运动的程序代码,主要实现小车的自动寻迹、避障等功能。具体实现方式可以参考以下代码: ``` #include <SoftwareSerial.h> SoftwareSerial BTSerial(10, 11); // SoftwareSerial连接到蓝牙模块 int M1_1 = 6; int M1_2 = 5; int M2_1 = 7; int M2_2 = 4; int M3_1 = 9; int M3_2 = 8; int M4_1 = 12; int M4_2 = 2; void setup() { pinMode(M1_1, OUTPUT); pinMode(M1_2, OUTPUT); pinMode(M2_1, OUTPUT); pinMode(M2_2, OUTPUT); pinMode(M3_1, OUTPUT); pinMode(M3_2, OUTPUT); pinMode(M4_1, OUTPUT); pinMode(M4_2, OUTPUT); BTSerial.begin(9600); // 初始化蓝牙串口 } void loop() { if (BTSerial.available()) { char c = BTSerial.read(); if (c == 'W') { // 前进 digitalWrite(M1_1, HIGH); digitalWrite(M1_2, LOW); digitalWrite(M2_1, HIGH); digitalWrite(M2_2, LOW); digitalWrite(M3_1, HIGH); digitalWrite(M3_2, LOW); digitalWrite(M4_1, HIGH); digitalWrite(M4_2, LOW); } else if (c == 'S') { // 后退 digitalWrite(M1_1, LOW); digitalWrite(M1_2, HIGH); digitalWrite(M2_1, LOW); digitalWrite(M2_2, HIGH); digitalWrite(M3_1, LOW); digitalWrite(M3_2, HIGH); digitalWrite(M4_1, LOW); digitalWrite(M4_2, HIGH); } else if (c == 'A') { // 左转 digitalWrite(M1_1, HIGH); digitalWrite(M1_2, LOW); digitalWrite(M2_1, LOW); digitalWrite(M2_2, HIGH); digitalWrite(M3_1, HIGH); digitalWrite(M3_2, LOW); digitalWrite(M4_1, LOW); digitalWrite(M4_2, HIGH); } else if (c == 'D') { // 右转 digitalWrite(M1_1, LOW); digitalWrite(M1_2, HIGH); digitalWrite(M2_1, HIGH); digitalWrite(M2_2, LOW); digitalWrite(M3_1, LOW); digitalWrite(M3_2, HIGH); digitalWrite(M4_1, HIGH); digitalWrite(M4_2, LOW); } else if (c == 'Q') { // 停止 digitalWrite(M1_1, LOW); digitalWrite(M1_2, LOW); digitalWrite(M2_1, LOW); digitalWrite(M2_2, LOW); digitalWrite(M3_1, LOW); digitalWrite(M3_2, LOW); digitalWrite(M4_1, LOW); digitalWrite(M4_2, LOW); } } } ``` 此代码实现了一个简单的控制八路循迹小车运动的蓝牙程序,其中,'W'表示前进,'S'表示后退,'A'表示左转,'D'表示右转,'Q'表示停止。通过在手机上发送相应的命令,即可控制八路循迹小车运动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值