Hallo zusammen
Ich habe mir auf AliExpress ein BMP280 Modul gekauft (mit 4 Pins, VIN,
GND, SCL und SDA).
Ich habs nach Anleitung verdrahtet, jedoch kommt immer die Meldung
"Could not find a valid BMP280 sensor, check wiring!".
Ich finde den Fehler einfach nicht. Die Adresse von 0x77 auf 0x76 ändern
bringt auch keine Änderung...
Hier mein Code:
Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));
24
while(1);
25
}
26
}
27
28
voidloop(){
29
30
Serial.print(F("Temperature = "));
31
Serial.print(bmp.readTemperature());
32
Serial.println(" *C");
33
34
Serial.print(F("Pressure = "));
35
Serial.print(bmp.readPressure());
36
Serial.println(" Pa");
37
38
Serial.println();
39
delay(2000);
40
}
Im Anhang hab ich ein Bild der Schaltung angefügt. Vielleicht noch eine
kurze Erklärung, falls man es nicht gut sieht.
-Vin geht auf 5V
-GND geht auf GND
-SCL geht auf SCL
-SDA geht auf SDA
Beste Grüsse
DerFragende
Lukas schrieb:> Das Board hat normalerweise unten einen 3,3V Regler, sowie einen> Pegelwandler.
Ja keine Ahnung, welches "Board" er da verwendet. Ich sehe da
ausschließlich den BMP280 und gehe davon aus das er da ohne weiteres
Hühnerfutter werkelt. Somal auch nichts Gegenteiliges gesagt wurde
außer: 5V->Vin.
Lass mich da aber gerne eines besseren belehren. Bzw eine komplette
Schaltung wäre da halt hilfreich. ;-)
Ich hab jetzt die Library zu BME geändert und auch den Vorschlag von
Kaffeetas versucht. Jedoch haben beide nicht funktioniert. Ich hab es
noch mit einem zweiten BME versucht, mit dem selben Resultat. Könnte es
sein, dass beide defekt sind?
DerFragende schrieb:> Vielleicht noch eine kurze Erklärung, falls man es nicht gut sieht.
Ja, warum machst du dann so ein Photo?
Leider ist an der Unerkennbarkeit der Leitungsführung auch durch
fokussierung auf den relevanten Bildteil nicht dran zu ändern.
DerFragende schrieb:> Ich hab die Schaltung aufgezeichnet
Warum ist die GND-Leitung gestrichelt, hast du die evtl. gar nicht
angeschlossen?
Das ist die wichtigste Leitung überhaupt!
DerFragende schrieb:> schaltungszeichnung.jpg
Hast du schon mal ein Bildbearbeitungsprogramm aufgerufen?
Woher soll die Kamera wissen, dass Papier weiss ist und wo dadrauf deine
Schaltung gemalt ist. Das musst du ihr schon irgendwie sagen. :-(
Hp M. schrieb:> Warum ist die GND-Leitung gestrichelt, hast du die evtl. gar nicht> angeschlossen?
Guckst du weiße Leitung
Forist schrieb:> BMP280_UNO.jpg
Ich bin mir nicht sicher, ob ich deine Frage richtig verstehe. Du meinst
einen Widerstand (10k Ohm?) and +5V hängen? Gabs da nicht was mit
pinMode(), also schon im Atmega eingebaute Pullups die man ansteuern
kann?
DraconiX schrieb:> DerFragende schrieb:>> Vin geht auf 5V>> Mal das Datenblatt geblättert? Vielleicht schon gegrillt den kleinen?> ;-)>> Sensor Supply Voltag: Typ:1.8V Max:3.6VLukas schrieb:> Das Board hat normalerweise unten einen 3,3V Regler, sowie einen> Pegelwandler.
Das sollte der TO erstmal klären. Ich habe ein ähnliches Breakoutboard
mit dem bmp280 hier, auf dem nur Pullups und ein Stützkondensator sind.
Neben der Versorgungsspannung müssen die Pegel vom I2C dann natürlich
auch passen
So es scheint endlich zu funktionieren. Ich hab eine weitere, noch nicht
versuchte, Bibliothek gefunden.
https://github.com/Seeed-Studio/Grove_BME280
Damit hat es geklappt. Ich benutze jetzt denn 3.3V Pin und ich hab SCL
auf A5 und SDA auf A4 gelegt. Die 5V scheinen ihn jedoch nicht gegrillt
zuhaben und sollten es nach verschiedenen Angaben auch nicht.
Was genau das Problem war, weiss ich nicht. Problem in der Adafruit
Bibliothek? Mit der neuen Schaltung läufts zumindest auch nicht mit der
Adafruit Bibliothek.
Temp: 26.75C
Pressure: 98759.00Pa
Altitude: 216.17m
Humidity: 38%
Da scheinen gewisse Werte nicht in Ordnung zu sein (vielleicht doch
gegrillt?). Die Höhe kann mit 216.17m nicht stimmen. Wohnort ist auf
~250m. Temperatur ist innen vielleicht 2-3 Grad tiefer und die Feuchte
zeigt mir eine App draussen mit 48% an. Der Luftdruck scheint +/-
zustimmen. 984hPa bei mir auf der App.
Muss der Sensor sich "aklimatisieren", also eine Weile laufen, bis er
zuverlässigere Angaben macht?
Der Sensor kann die Höhe nicht wissen, die kann man nur bei bekanntem
Luftdruck ausrechnen.
Du kannst nur in der Software eine bekannte Höhe vorgeben, wenn Du dann
auf einen Berg steigst zeigt die Software de Höhe an
Am nächsten Tag ist das aber schon wieder alles anders, wieder von
vorne...
Im Zweiffelsfall noch mal kurz damit beschäftigen was man da messen
will.
Höhe ist ja schon genannt worden. Die wird aus dem Luftdruck berechnet -
wozu man einen bekannten Bezug braucht.
Luftfeuchtigkeit ist die sog. relative Luftfeuchtigkeit - die hängt ganz
entscheidend von der Temperatur ab und ist daher drinnen/draußen nicht
vergleichbar.
Danke fürs Feedback, ich hab mir das mit der Höhe nochmal angeschaut und
bin auf folgende Formel gestossen:
Altitude = 44330.0 * ( 1.0 -
(gemessenerDruck/DruckAufMeereshöhe)^(1/5.255)
Aber wie bereits von Heinz erwähnt wurde, wird sich der Luftdruck auf
Meereshöhe dauernd ändern, die Frage ist wie stark das schwankt. Ich hab
folgenden benutzt, mal schauen wie er sich in den nächsten Tagen
verändert, vielleicht kann man ja einen "Durchschnittswert" ermitteln
und den dann benutzen um immer ein mehr oder weniger genaues Ergebnis zu
erzielen:
1
floatseaLevelPressure=102260;
Die Höhe beträgt jetzt 292.73m. Das passt schon eher da ich höher
gelegen Wohne.
DerFragende schrieb:> Die Höhe kann mit 216.17m nicht stimmen. Wohnort ist auf ~250m.
Wie soll der BME280 die Höhe auch bestimmen können. Das Ding kann den
Luftdruck messen. Mehr nicht. Um daraus eine Höhe zu berechnen, braucht
die Software den Luftdruck auf Meeresspiegelhöhe. Die ist in der Methode
calcAltitude() entsprechend der internationalen Höhenformel fest als
1013.25hPa kodiert.
https://de.wikipedia.org/wiki/Barometrische_H%C3%B6henformel#Internationale_H.C3.B6henformelDerFragende schrieb:> Aber wie bereits von Heinz erwähnt wurde, wird sich der Luftdruck auf> Meereshöhe dauernd ändern, die Frage ist wie stark das schwankt.
Der Luftdruck in Meeresspiegelhöhe kann locker mal zwischen 970 und
1030hPa schwanken, in extremen Wettersituationen noch deutlich mehr. Aus
der barometrischen Höhenformel ergibt sich, dass 1 hPa Druckänderung
nahe NN einer Höhendifferenz von etwa 8 Metern entspricht. Wenn man den
aktuellen Luftdruck auf Meereshöhe nicht berücksichtigt, entspricht der
oben genannten Druckbereich einem Höhenbereich von 500 Metern.
und wenn die Meereshöhe von größerer Bedeutung sein sollte, dann ist ein
GPS Modul besser dafür geeignet. Das zeigt dir die Höhe direkt ohne
Bezug an.
Gruß Tom
Tom schrieb:> und wenn die Meereshöhe von größerer Bedeutung sein sollte, dann ist ein> GPS Modul besser dafür geeignet. Das zeigt dir die Höhe direkt ohne> Bezug an.
Dann probiere mal, mit GPS die Höhe im Dezimeterbereich zu bestimmen.
Das geht aber soetwas von schief.
Vergleiche mal die Höhenanzeige von GPS und barometrischem Höhensensor
über einige Stunden.
Hallo,
noch ein kleiner Nachtrag:
du hast lt deinen Bildern den Chip per SPI verkabelt.
im Programm aber I2C ausgewählt.
[c]
Adafruit_BMP280 bmp; // I2C
//Adafruit_BMP280 bmp(BMP_CS); // hardware SPI
//Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK);
[c/]
Wenn du die letzte Zeile nimmst und die erste auskommentierst sollte es
klappen
Gruß medisnake
Hi ich habe das selbe Problem. :(
Ich habe den BME280 an einen UNO angeschlossen.
Vin = 3.3V
GND = GND
SCL = A4
SDA = A5
Was cool wäre wenn jemand jetzt das Richtige Programm reinstellen
könnte.
Mit Libs und und und...
Eigentlich war mein Plan das Ding an das Stemedu Board anzuschließen.
Ich habe den Code von AEQ-WEB genommen. Aber da wir mir dann keine Daten
auf dem ESP32 angezeigt.
Hier auch nochmal der Link:
https://www.aeq-web.com/stemedu-low-power-atmega-328-lora-board/
Viele Grüße TOM!