Moin zusammen,
es wäre toll, wenn ich mich heute nicht wieder rechtfertigen müsste, wieso ich NewPing.h etc benutze. So wie das Gefährt aktuell konfiguriert ist, läuft alles sehr stabil und damit bin ich zufrieden.
Mein Problem ist folgendes: Ich möchte eine ganz simple "Hupe" einbauen. Dafür habe ich einen 100 Ohm Widerstand an einen passiven Buzzer gelötet und diesen mit digital-Pin 9 und Grd verbunden.
Da Pin 9 ein PWM Pin ist, sollte der Funktion tone() und noTone() nicht entgegen sprechen.
#include <AFMotor.h>
#include <NewPing.h>
#include <Servo.h>
#define relay_pin 2
#define L_S A4
#define R_S A3
//defining pins and variables
#define TRIG_PIN A1
#define ECHO_PIN A2
#define MAX_DISTANCE 200
#define MAX_SPEED 200 // sets speed of DC motors
#define MAX_SPEED_OFFSET 20
#define Taster A5
#define turn_amount 500
int state_bz1 = 0; //The actual state of the state machine
int state_prev_bz1 = 0; //Remember the previous state (useful to know if the state has changed)
int buzzer = 9; //Buzzer pin
int val_bz1 = 0; //Buzzer value (on or off)
unsigned long t_bz1 = 0; //Current time of the buzzer state machine (in milli seconds)
unsigned long t_0_bz1 = 0; //The time that we last passed through a state of interest (in milli seconds)
unsigned long on_delay_bz1 = 500; //On time for the buzzer as it beeps (in milli seconds)
unsigned long off_delay_bz1 = 500; //Off time for the buzzer as it beeps (in milli seconds)
int beep_count_bz1 = 0; //Number of times we've beeped on this journey
int beep_number_bz1 = 4; //Number of times we should beep before resetting
//defining motors,servo,sensor
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor1(1, MOTOR12_8KHZ);
AF_DCMotor motor2(2, MOTOR12_8KHZ);
AF_DCMotor motor3(3, MOTOR12_8KHZ);
AF_DCMotor motor4(4, MOTOR12_8KHZ);
Servo myservo;
const char befehle[] = { 'F', 'B', 'L', 'R', 'S', 'X', 'Y', 'N', 'M' };
byte number;
char command;
//defining global variables
boolean goesForward = false;
int distance = 100;
int speedSet = 0;
void setup() {
Serial.begin(9600);
myservo.attach(10);
myservo.write(90);
delay(2000);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
motor1.setSpeed(100);
motor2.setSpeed(100);
motor3.setSpeed(100);
motor4.setSpeed(100);
pinMode(relay_pin, OUTPUT);
pinMode(L_S, INPUT);
pinMode(R_S, INPUT);
digitalWrite(relay_pin, LOW);
pinMode(Taster, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
action();
connection();
if (digitalRead(Taster) == HIGH) {
digitalWrite(relay_pin, HIGH);
} else {
digitalWrite(relay_pin, LOW);
}
}
void ultrasensor() {
int distanceR = 0;
int distanceL = 0;
delay(40);
Serial.println(distance);
if (distance <= 15) {
Serial.println("Object Detected");
moveStop();
delay(100);
moveBackward();
delay(300);
moveStop();
delay(200);
distanceR = lookRight();
Serial.print("Distance Right = ");
Serial.println(distanceR);
delay(200);
distanceL = lookLeft();
Serial.print("Distance Left = ");
Serial.println(distanceL);
delay(200);
if (distanceR >= distanceL) {
turnRight();
moveStop();
} else {
turnLeft();
moveStop();
}
} else {
moveForward();
}
//reseting the variable after the operations
distance = readPing();
}
int lookRight() {
myservo.write(0);
delay(500);
int distance = readPing();
delay(100);
myservo.write(90);
return distance;
}
int lookLeft() {
myservo.write(180);
delay(500);
int distance = readPing();
delay(100);
myservo.write(90);
return distance;
delay(100);
}
int readPing() {
delay(70);
int cm = sonar.ping_cm();
if (cm == 0) {
cm = 250;
}
return cm;
}
void moveStop() {
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
void moveForward() {
if (!goesForward) {
goesForward = true;
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
}
}
void moveBackward() {
goesForward = false;
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
}
void turnRight() {
Serial.println("Turning Right");
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
delay(turn_amount);
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
}
void turnLeft() {
Serial.println("Turning Left");
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
delay(turn_amount);
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
}
void turnLeft2() {
Serial.println("Turning Left");
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
delay(turn_amount);
}
void turnRight2() {
Serial.println("Turning Right");
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
delay(turn_amount);
}
void drive() {
number = random(3);
if (number == 1) {
turnLeft();
delay(1500);
} else {
turnRight();
delay(1500);
}
}
void connection() {
if (Serial.available() > 0) {
char newCommand = Serial.read();
Serial.println(command); // Read the incoming command
if (newCommand != command && isPrintable(newCommand)) // Neues Zeichen und ist anzeigbar
{
Serial.print(F("Neues Commando: ")); // ausgeben
Serial.println(newCommand);
for (byte b = 0; b < sizeof(befehle) / sizeof(befehle[0]); b++) // zähle durch alle vorandenen Werte
{
if (befehle[b] == newCommand) // wenn vorhanden, dann übernehmen
{
command = newCommand;
}
}
}
}
}
void action() {
switch (command) {
case 'F': moveForward(); break;
case 'B': moveBackward(); break;
case 'L': turnLeft(); break;
case 'R': turnRight(); break;
case 'S': moveStop(); break;
case 'X':
ultrasensor();
break;
case 'Y': linefollow(); break;
case 'n':
case 'N': StateMachine_bz1(); break;
case 'm':
case 'M': break;
}
}
void linefollow() {
int rechter_Sensor, linker_Sensor;
rechter_Sensor = analogRead(R_S);
linker_Sensor = analogRead(L_S);
Serial.print("Rechts:");
Serial.println(rechter_Sensor);
Serial.print("Links:");
Serial.println(linker_Sensor); // active by over 900, deactivated by 0
if (linker_Sensor >= 300) {
turnRight2();
} else if (rechter_Sensor >= 300) {
turnLeft2();
} else if (rechter_Sensor <= 300 && linker_Sensor <= 300) {
moveForward();
}
}
void StateMachine_bz1() {
//Almost every state needs these lines so I'll put it outside the State Machine
state_prev_bz1 = state_bz1;
//State Machine Section
switch (state_bz1) {
case 0: //RESET
//Set Beep Count to 0 then proceed to WAIT
beep_count_bz1 = 0;
state_bz1 = 1;
break;
case 1: //WAIT
//do nothing, the main loop can progress this Machine from state 1 to state 2
break;
case 2: //TURN ON
//Start buzzer, record time then proceed to ON,
tone(buzzer, 1000, 500);
t_0_bz1 = millis();
state_bz1 = 3;
break;
case 3: //ON
//Wait for time to elapse, then proceed to TURN OFF
t_bz1 = millis();
if (t_bz1 - t_0_bz1 > on_delay_bz1) { state_bz1 = 4; }
break;
case 4: //TURN OFF
//Increment the beep counter, turn off buzzer, proceed to OFF
beep_count_bz1++;
noTone(buzzer);
t_0_bz1 = millis();
state_bz1 = 5;
break;
case 5: //OFF
t_bz1 = millis();
if (t_bz1 - t_0_bz1 > off_delay_bz1) { state_bz1 = 2; }
if (beep_count_bz1 >= beep_number_bz1) { state_bz1 = 0; }
break;
}
}
Ich hab ja dazu gelernt und wollte eine ISM einbauen. Ich schmücke mich ja nicht mit fremden Federn (https://gist.github.com/NormalUniverse/f807ca9f267b861365c688193ddfdd68
Ich bekomme jetzt die Fehlermeldung
FQBN: arduino:avr:uno
Verwende das Board 'uno' von der Plattform im Ordner: C:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Verwendung des Kerns 'arduino' von Platform im Ordner: C:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Verwendete Bibliotheken erkennen ...
C:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\sketch\Obstacle_Avoiding.ino.cpp -o nul
Alternativen für AFMotor.h: [Adafruit Motor Shield library@1.0.1]
ResolveLibrary(AFMotor.h)
-> Kandidaten: [Adafruit Motor Shield library@1.0.1]
C:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -Ic:\Users\Natalie\Documents\Arduino\libraries\Adafruit_Motor_Shield_library C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\sketch\Obstacle_Avoiding.ino.cpp -o nul
Alternativen für NewPing.h: [NewPing@1.9.7]
ResolveLibrary(NewPing.h)
-> Kandidaten: [NewPing@1.9.7]
C:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -Ic:\Users\Natalie\Documents\Arduino\libraries\Adafruit_Motor_Shield_library -Ic:\Users\Natalie\Documents\Arduino\libraries\NewPing\src C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\sketch\Obstacle_Avoiding.ino.cpp -o nul
Alternativen für Servo.h: [Servo@1.2.2]
ResolveLibrary(Servo.h)
-> Kandidaten: [Servo@1.2.2]
C:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -Ic:\Users\Natalie\Documents\Arduino\libraries\Adafruit_Motor_Shield_library -Ic:\Users\Natalie\Documents\Arduino\libraries\NewPing\src -IC:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\sketch\Obstacle_Avoiding.ino.cpp -o nul
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: c:\Users\Natalie\Documents\Arduino\libraries\Adafruit_Motor_Shield_library\AFMotor.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: c:\Users\Natalie\Documents\Arduino\libraries\NewPing\src\NewPing.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src\avr\Servo.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src\mbed\Servo.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src\megaavr\Servo.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src\nrf52\Servo.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src\renesas\Servo.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src\sam\Servo.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src\samd\Servo.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src\stm32f4\Servo.cpp
Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die Datei: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src\xmc\Servo.cpp
Funktionsprototypen werden generiert ...
C:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\Natalie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -Ic:\Users\Natalie\Documents\Arduino\libraries\Adafruit_Motor_Shield_library -Ic:\Users\Natalie\Documents\Arduino\libraries\NewPing\src -IC:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo\src C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\sketch\Obstacle_Avoiding.ino.cpp -o C:\Users\Natalie\AppData\Local\Temp\2640630763\sketch_merged.cpp
C:\Users\Natalie\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\Natalie\AppData\Local\Temp\2640630763\sketch_merged.cpp
Sketch wird kompiliert ...
"C:\\Users\\Natalie\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Natalie\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\Natalie\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\standard" "-Ic:\\Users\\Natalie\\Documents\\Arduino\\libraries\\Adafruit_Motor_Shield_library" "-Ic:\\Users\\Natalie\\Documents\\Arduino\\libraries\\NewPing\\src" "-IC:\\Users\\Natalie\\AppData\\Local\\Arduino15\\libraries\\Servo\\src" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\sketch\\Obstacle_Avoiding.ino.cpp" -o "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\sketch\\Obstacle_Avoiding.ino.cpp.o"
Bibliotheken werden kompiliert ...
Bibliothek "Adafruit Motor Shield library" wird kompiliert
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Adafruit_Motor_Shield_library\AFMotor.cpp.o
Bibliothek "NewPing" wird kompiliert
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\NewPing\NewPing.cpp.o
Bibliothek "Servo" wird kompiliert
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Servo\mbed\Servo.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Servo\nrf52\Servo.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Servo\avr\Servo.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Servo\renesas\Servo.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Servo\sam\Servo.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Servo\xmc\Servo.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Servo\megaavr\Servo.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Servo\stm32f4\Servo.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\Servo\samd\Servo.cpp.o
Kern wird kompiliert ...
Verwendung des vorkompilierten Kerns: C:\Users\Natalie\AppData\Local\arduino\cores\arduino_avr_uno_3ab054e155476055df87795c09d2fb9c\core.a
Alles zusammenlinken...
"C:\\Users\\Natalie\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc" -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180/Obstacle_Avoiding.ino.elf" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\sketch\\Obstacle_Avoiding.ino.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Adafruit_Motor_Shield_library\\AFMotor.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\NewPing\\NewPing.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Servo\\avr\\Servo.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Servo\\mbed\\Servo.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Servo\\megaavr\\Servo.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Servo\\nrf52\\Servo.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Servo\\renesas\\Servo.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Servo\\sam\\Servo.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Servo\\samd\\Servo.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Servo\\stm32f4\\Servo.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180\\libraries\\Servo\\xmc\\Servo.cpp.o" "C:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180/..\\..\\cores\\arduino_avr_uno_3ab054e155476055df87795c09d2fb9c\\core.a" "-LC:\\Users\\Natalie\\AppData\\Local\\arduino\\sketches\\AFDB961B823F147FBB2CCE37CC8DE180" -lm
Tone.cpp.o (symbol from plugin): In function `timer0_pin_port':
(.text+0x0): multiple definition of `__vector_7'
C:\Users\Natalie\AppData\Local\arduino\sketches\AFDB961B823F147FBB2CCE37CC8DE180\libraries\NewPing\NewPing.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
Bibliothek Adafruit Motor Shield library in Version 1.0.1 im Ordner: C:\Users\Natalie\Documents\Arduino\libraries\Adafruit_Motor_Shield_library wird verwendet
Bibliothek NewPing in Version 1.9.7 im Ordner: C:\Users\Natalie\Documents\Arduino\libraries\NewPing wird verwendet
Bibliothek Servo in Version 1.2.2 im Ordner: C:\Users\Natalie\AppData\Local\Arduino15\libraries\Servo wird verwendet
exit status 1
Compilation error: exit status 1
Ich denke mal, der Fehler sagt mir, dass die Funktionen in den Bibliotheken bereits besteht und ich es deswegen nicht nutzen kann. Gibts da ne Möglichkeit das zu fixen? Ohne die Bibliotheken zu löschen und das ganze umzuschreiben?