0

我正在建造一辆 Arduino 汽车,它可以避开障碍物,当我尝试从 Atom 的 PlatformIO 包将代码上传到我的 Arduino 时,我收到如下错误消息:

avrdude:正在 验证...
avrdude: 验证 错误, 第一个 不匹配 字节0x0aaa 0x68 != 0x60 avrdude 验证错误;内容不匹配

完成 了。 谢谢你。

几天前无缘无故开始发生这种情况。它运行良好,突然我开始收到此错误消息。

我的代码是:

#include <Arduino.h>
#include <Servo.h>

const int trigPin = 6;
const int echoPin = 7;
const int motorRF = 3;
const int sleep = 4;
const int motorRB = 9;
const int motorLF = 10;
const int motorLB = 11;

int minDistance = 350;
long value;
int speed = 1000;
int randNum;

void setup() {
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);

    pinMode(motorRF, OUTPUT);
    pinMode(motorRB, OUTPUT);
    pinMode(motorLF, OUTPUT);
    pinMode(motorLB, OUTPUT);
    pinMode(sleep, OUTPUT);

    Serial.begin(9600);
}

//Define the directions of the motors
void forward() {
    analogWrite(motorRF, speed);
    analogWrite(motorLF, speed);
    analogWrite(motorRB, 0);
    analogWrite(motorLB, 0);
}
void backward() {
    analogWrite(motorRF, 0);
    analogWrite(motorLF, 0);
    analogWrite(motorRB, speed);
    analogWrite(motorLB, speed);
}
void right() {
    analogWrite(motorRF, 0);
    analogWrite(motorLF, speed);
    analogWrite(motorRB, speed);
    analogWrite(motorLB, 0);
}
void left() {
    analogWrite(motorRF, speed);
    analogWrite(motorLF, 0);
    analogWrite(motorRB, 0);
    analogWrite(motorLB, speed);
}

void loop() {
//Ultrasonic sensor
    digitalWrite(trigPin, LOW);
    delayMicroseconds(5);

    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);

    value = pulseIn(echoPin, HIGH);
    Serial.println("Value = "); Serial.println(value);

    delay(50);

//Motors
    digitalWrite(sleep, HIGH);
    if(value > minDistance) {
    //Drive forward
        backward();
    }
    else {
    //Drive backward
        forward();
        delay(1000);

    //Pick between number 1 and 2
        randNum = random(0, 2);
        Serial.println("Random Num = "); Serial.println(randNum);

    //If the number is 2 then drive right
        if(randNum == 1) {
            right();
            delay(500);
        }
    //Else drive left
        else {
            left();
            delay(500);
        }
    }
}

谢谢你。

4

1 回答 1

0

这是一个硬件问题。程序很好。我试图将它上传到另一个 Arduino,它运行良好。谢谢你。

于 2020-01-29T20:50:49.243 回答