Hallo zusammen,
ich habe folgendes Programm ohne Fehlermeldung. Warum wird kein Ton ausgegeben? Im positiven Bereich geht es, nur im negativen nicht. Der Monitor zeigt mir diese Werte an, wie ich sie eingegrenzt habe.
#include <Adafruit_ADXL345_U.h>
#include <Adafruit_Sensor.h>
Adafruit_ADXL345_Unified Sensor = Adafruit_ADXL345_Unified();
bool done = false;
#define sound 10
void setup()
{
Serial.begin(9600);
pinMode(sound, OUTPUT);
Sensor.begin();
}
void loop()
{
sensors_event_t sensor;
Sensor.getEvent(&sensor);
if ((sensor.acceleration.x > -7.70 && sensor.acceleration.x < -8.20) && done == false)
{
tone (sound, 440);
delay (500);
noTone (sound);
done = true;
}
Serial.println(sensor.acceleration.x);
}
noiasca
September 16, 2022, 9:59am
2
Schreib dir doch auch ein Print an den begin deines If dann siehst du ob du reinkommst.
lies einmal deinen Sensorwert in eine Variable und verwende diesen einen Wert für alle deine Bedingungen und Testausgaben.
done wird nie wieder false gesetzt - wird also wenn auch nur einmal angesprungen.
Das wird nichts, weil die Bedingung nie zutreffen kann.
Mal Dir einen Zahlenstrahl auf.
-1 ist größer als -4
void setup()
{
Serial.begin(115200);
Serial.println(F("Start..."));
if (-1 > -4)
{
Serial.println(F("stimmt"));
}
}
void loop()
{
}
Meinst Du so?
Da klappt es auch nicht.
#include <Adafruit_ADXL345_U.h>
#include <Adafruit_Sensor.h>
Adafruit_ADXL345_Unified Sensor = Adafruit_ADXL345_Unified();
bool done = false;
#define sound 10
void setup()
{
Serial.begin(9600);
pinMode(sound, OUTPUT);
Sensor.begin();
}
void loop()
{
sensors_event_t sensor;
Sensor.getEvent(&sensor);
Serial.println(sensor.acceleration.x);
if ((sensor.acceleration.x > -7.70 && sensor.acceleration.x < -8.20) && done == false)
{
tone (sound, 440);
delay (500);
noTone (sound);
done = true;
}
}
noiasca
September 16, 2022, 10:05am
5
-10 ... -8.2 ... -7.7 ... 0 ... 1 ...4
deine < > sind falsch
Ja, habe gerade die Werte getauscht. Ein ändern der Pfeile ist noch einfacher. Man denke an den Zahlenstrahl. Danke euch beiden.
Danke. Oh man. Ja, der Zahlenstrahl. Ich habe die Werte getauscht. Ein ändern der Werte ist noch einfacher. Jetzt passt es.
system
Closed
March 15, 2023, 10:07am
8
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.