Ultraschall Sensor und Tone

Hallo

Ich habe ein Projekt in dem ich den Ultraschallsensor und eine 4 stellige 7 Segment Anzeige schon länger integriert habe. Läuft gut. Jetzt wollte ich mit einem einfachen Buzzer noch Töne dazu basteln bekomme aber diesen Fehler:

Tone.cpp.o (symbol from plugin): In function `timer0_pin_port':

(.text+0x0): multiple definition of `__vector_7'

libraries\NewPing\NewPing.cpp.o (symbol from plugin):(.text+0x0): first defined here

collect2.exe: error: ld returned 1 exit status

exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.

Hier ein Teil des Codes auf Arduino UNO R3

#include <Arduino.h>
#include <TM1637Display.h> 
#include <NewPing.h>

void setup() // Im Setup werden keine Informationen benötigt.

{
}

void loop()
{
tone(14, 100); 
delay(20); 
noTone(14); 
delay(1000);
}

Wenn ich #include <NewPing.h.> auskommentiere, dann läuft es, was ja auch zur Fehlermeldung passt. Ich habe schon gelesen, dass es Kollisionen mit den Timern geben kann, aber wie löse ich das? Gibt es andere Bibliotheken, die dafür gut sind? Ich will nicht nur ein Biep, sondern verschiedene Tonhöhen haben. Danke.

Warum schreist du hier so rum ?
Wir lesen den Thread auch ohne dein Fettschrift.
Also ändere das bitte.

Das sollte kein Schreien sein, sondern nur die Lesbarkeit verbessern. Habe es angepasst.

Ahh. Habe jetzt gesehen, dass Fehlermeldungen auch in Code gesetzt werden sollen. Also ...

mgbig:
Das sollte kein Schreien sein, sondern nur die Lesbarkeit verbessern. Habe es angepasst.

Ahh. Habe jetzt gesehen, dass Fehlermeldungen auch in Code gesetzt werden sollen. Also ...

Ok....danke.
So ist das angenehmer.

Du könntest mal versuchen, den US-Sensor direkt, also ohne die NewPing anzusprechen.

Danke. Ich habe immer danach gesucht tone() zu ersetzten. Aber an den UltraSchallSensor habe ich nicht gedacht. Für alle anderen, so geht es:

#include <Arduino.h>
#include <TM1637Display.h> 
// #include <NewPing.h>
int trigger=10; 
int echo=11; 
long dauer=0; 
long entfernung=0; 
void setup() // Im Setup werden keine Informationen benötigt.
{
Serial.begin (9600); 
pinMode(trigger, OUTPUT); 
pinMode(echo, INPUT); 
}

void loop()
{
digitalWrite(trigger, LOW); 
delay(5); 
digitalWrite(trigger, HIGH); 
delay(10);
digitalWrite(trigger, LOW);
dauer = pulseIn(echo, HIGH); 
entfernung = (dauer/2) * 0.03432; 
if (entfernung >= 500 || entfernung <= 0) 
{
Serial.println("Kein Messwert"); 
}
else 
{
Serial.print(entfernung); 
Serial.println(" cm"); 
}
delay(500); 
tone(14, 100); 
delay(100); 
noTone(14);

}

mgbig:
Danke. Ich habe immer danach gesucht tone() zu ersetzten. Aber an den UltraSchallSensor habe ich nicht gedacht.
.....

Prima, dass es jetzt funktioniert.
Und danke für die Rückmeldung.