warum bekomme ich keinen Ton ausgegeben?
Ich habe einen Lautsprecher an Pin 10 angeschlossen und der Serial monitor funktioniert auch gerade nicht.
#include <Adafruit_ADXL345_U.h> //einbinden der Adafriut Sensoren Bibliothek
#include <Adafruit_Sensor.h> //einbinden der Adafruit ADXL 345 Bibliothek
Adafruit_ADXL345_Unified Sensor = Adafruit_ADXL345_Unified(); //Erstellen des Sensors mit dem Namen Sensor
//Definition für Sound an Port 10
#define sound 10
bool done = false; // Variable zum merken ob die Sound ausgeführt wurde
void setup()
{
Serial.begin(9600); //starten der seriellen Kommunikation mit 9600er Übetragung (Standard)
pinMode(sound, OUTPUT); //Pin 10 als Ausgang definiert
Sensor.begin(); //Starten des Sensors
}
// Sound zu einem bestimmten Wert
void loop()
{
sensors_event_t sensor; //Messung der Werte
Sensor.getEvent(&sensor); //Hinzufügen der Werte zum Sensor
if ((sensor.acceleration.x > 2.98 && sensor.acceleration.x < 3.02) && done == false) //Wenn der Wert im Bereich dazwischen liegt
{
digitalWrite (sound,HIGH); // Lautsprecher an Pin10
tone (sound,440); //Pin 10 mit der Frequenz 440Hz ('a')
delay(400); //Dauer des Tones 1 Sekunde
done = true; // ändern des Wertes der Variable
}
else // ansonsten
{
digitalWrite(sound, LOW);
}
Serial.println(sensor.acceleration.x);
}
Das wird interessant. Ich habe mir Beispiele ohne Widerstand angesehen. Da wurde ein Ton ohne Widerstand ausgegeben. 625mA. Muss ich den Lautsprecher auf dem Arduino woanders anschließen?
Ich habe den Fehler gefunden. Habe eine Leitung vergessen und der Lautsprecher und Pin sind noch in Ordnung.
Ich habe allerdings den Fehler, das der Ton nicht abgeschaltet wird, ob wohl ich einen Sekunde eingestellt habe und das dieser zu einem bestimmten Wert zwischen 2,98 und 3,02 ausgegeben wird. Eine Fehlermeldung gibt es nicht.
#include <Adafruit_ADXL345_U.h> //einbinden der Adafriut Sensoren Bibliothek
#include <Adafruit_Sensor.h> //einbinden der Adafruit ADXL 345 Bibliothek
Adafruit_ADXL345_Unified Sensor = Adafruit_ADXL345_Unified(); //Erstellen des Sensors mit dem Namen Sensor
//Definition für Sound an Port 10
#define sound 10
bool done = false; // Variable zum merken ob die Sound ausgeführt wurde
void setup()
{
Serial.begin(9600); //starten der seriellen Kommunikation mit 9600er Übetragung (Standard)
pinMode(sound, OUTPUT); //Pin 10 als Ausgang definiert
Sensor.begin(); //Starten des Sensors
}
// Sound zu einem bestimmten Wert
void loop()
{
sensors_event_t sensor; //Messung der Werte
Sensor.getEvent(&sensor); //Hinzufügen der Werte zum Sensor
if ((sensor.acceleration.x > 2.98 && sensor.acceleration.x < 3.02) && done == false) //Wenn der Wert im Bereich dazwischen liegt
{
tone (sound,440); //Pin 10 mit der Frequenz 440Hz ('a')
delay(1000); //Dauer des Tones 1 Sekunde
done = true; // ändern des Wertes der Variable
}
Serial.println(sensor.acceleration.x);
}