Hi
When I run this code
#include <NewPing.h>
#include <IRremote.h>
#include <IRremoteInt.h>
int RunSonarTime = 0;
int IRpin = 9; // pin for the IR sensor
IRrecv irrecv(IRpin);
decode_results results;
NewPing sonar(12, 13, 200);//sonar pins (trigger pin, echo pin, max distance)
long inches;//set sonar length
//sets a motors
int enableA = 11;
int pinA1 = 5;
int pinA2 = 6;
//sets b motors
int enableB = 10;
int pinB1 = 4;
int pinB2 = 3;
void setup() {
pinMode(enableA, OUTPUT);
pinMode(pinA1, OUTPUT);
pinMode(pinA2, OUTPUT);//set a motor
pinMode(enableB, OUTPUT);
pinMode(pinB1, OUTPUT);//sets b motors
pinMode(pinB2, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
inches = sonar.ping_in();
}
//enable motors
void motorAOn()
{
digitalWrite(enableA, HIGH);
}
void motorBOn()
{
digitalWrite(enableB, HIGH);
}
//disable motors
void motorAOff()
{
digitalWrite(enableB, LOW);
}
void motorBOff()
{
digitalWrite(enableA, LOW);
}
//motor A controls
void motorAForward()
{
digitalWrite(pinA1, HIGH);
digitalWrite(pinA2, LOW);
}
void motorABackward()
{
digitalWrite(pinA1, LOW);
digitalWrite(pinA2, HIGH);
}
//motor B controls
void motorBForward()
{
digitalWrite(pinB1, HIGH);
digitalWrite(pinB2, LOW);
}
void motorBBackward()
{
digitalWrite(pinB1, LOW);
digitalWrite(pinB2, HIGH);
}
//coasting and braking
void motorACoast()
{
digitalWrite(pinA1, LOW);
digitalWrite(pinA2, LOW);
}
void motorABrake()
{
digitalWrite(pinA1, HIGH);
digitalWrite(pinA2, HIGH);
}
void motorBCoast()
{
digitalWrite(pinB1, LOW);
digitalWrite(pinB2, LOW);
}
void motorBBrake()
{
digitalWrite(pinB1, HIGH);
digitalWrite(pinB2, HIGH);
}
//Define high-level H-bridge commands
void enableMotors()
{
motorAOn();
motorBOn();
}
void disableMotors()
{
motorAOff();
motorBOff();
}
void forward(int time)
{
motorAForward();
motorBForward();
delay(time);
}
void backward(int time)
{
motorABackward();
motorBBackward();
delay(time);
}
void turnLeft(int time)
{
motorABackward();
motorBForward();
delay(time);
}
void turnRight(int time)
{
motorAForward();
motorBBackward();
delay(time);
}
void coast(int time)
{
motorACoast();
motorBCoast();
delay(time);
}
void brake(int time)
{
motorABrake();
motorBBrake();
delay(time);
}
void loop() {
//int RunSonarTime = 0;
analogWrite(enableA, 200);
analogWrite(enableB, 200);
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
while (RunSonarTime = 1) {
if (inches < 4) {
analogWrite(enableA, 255);
analogWrite(enableB, 255);
coast(200);
turnLeft(600);
coast(200);
}
else {
forward(1);
}
}
if (results.value == 0xA3C8EDDB) { //button + = set var +1
RunSonarTime = RunSonarTime + 1;
delay(100);
}
if (results.value == 0xF076C13B) { //button - = set var -1
RunSonarTime = RunSonarTime - 1;
delay(100);
}
if (results.value == 0x3D9AE3F7) { //button 2 = Forward.
enableMotors();
forward(1000);
brake(100);
delay(100);
}
if (results.value == 0x8C22657B) { //Button 4 = Left
enableMotors();
turnRight(180);
brake(100);
delay(100);
}
if (results.value == 0x449E79F) { //Button 6 = Right
enableMotors();
turnLeft(180);
brake(100);
delay(100);
}
if (results.value == 0x1BC0157B) { //Button 8 = Backward
enableMotors();
backward(250);
brake(100);
delay(100);
}
if (results.value == 0x488F3CBB) { //Button 5 = Stop
enableMotors();
digitalWrite(pinB1, HIGH);
digitalWrite(pinB2, HIGH);
digitalWrite(pinA1, HIGH);
digitalWrite(pinA2, HIGH);
delay(100);
}
irrecv.resume(); //receive the next value
}
}
I get an error message which I don't understand and have gone through many hours trying to fix
libraries\IR\IRremote.cpp.o (symbol from plugin): In function `MATCH(int, int)':
(.text+0x0): multiple definition of `__vector_7'
libraries\NewPing\NewPing.cpp.o (symbol from plugin):(.text+0x0): first defined here
exit status 1
Error compiling for board Arduino/Genuino Uno.
If anyone could help it would be greatly appreciated