Új hozzászólás Aktív témák

  • Janos46

    tag

    Sziasztok. Lenne pár kérdésem, amivel nem boldogulok.
    BMP280, amivel nem jutok dűlóre. Szkennerrel látom a címét 0x76. Van egy program, ami megállapítja, hogy BME280 vagy BMP280 van-e használva. Megállapítja a BMP280-at és fut. Azonban bármilyen más programot futtatok, nem található érvényes BMP280 érzékelő. A hardware-n (UNO) minden más eszköz működik (BMP180 BME/BMP280. Mi lehet a baj? Régebben nem volt gond.
    Más:
    Az alábbi címról töltöttem le a következőt. Eredtileg nem futott, de kicsit átbuheráltam az elejét, most jó lenne, de csak akkor ír ki értelmes karaktereket, ha előtte futtatok bármilyen LCD-s programot. Egy részét küldöm.
    // https://masterclub.online/topic/15014-domashnyaya-meteostantsiya
    #include <Wire.h>
    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>
    #include "DHT.h"
    #include <SFE_BMP180.h>
    #define ALTITUDE 20.56
    #define DHTPIN 2     // what digital pin we're connected to
    #define DHTTYPE DHT11   // DHT 11, DHT 22 (AM2302), AM2321
    DHT dht(DHTPIN, DHTTYPE);
    LiquidCrystal_I2C lcd(0x27,16,2); 
    SFE_BMP180 pressure;
    float t1,t2; 
      
    void setup()
    {
     Serial.begin(9600);
     lcd.begin (16,2); // <<-- our LCD is a 20x4, change for your LCD if needed
     
    lcd.setBacklight(HIGH);
    lcd.home(); // go home on LCD
    lcd.print("Weather Station");
    delay(5000);
    dht.begin();
      pressure.begin();
    }
    void loop()
    {
     char status;
      double T,P,p0,a;
       status = pressure.startTemperature();
      if (status != 0)
      {
        delay(status);
      
        status = pressure.getTemperature(T);
        if (status != 0)
        {
          Serial.print("1");
          lcd.clear();
          lcd.setCursor(0,0);
          lcd.print("Baro Temperature: ");
          lcd.setCursor(0,1);
          lcd.print(T,2);
          lcd.print(" C\xDF");
          t1=T;
          delay(5000);
          status = pressure.startPressure(3);
          if (status != 0)
          {
            // Wait for the measurement to complete:
            delay(status);
            status = pressure.getPressure(P,T);
            if (status != 0)
            {lcd.clear();
              lcd.setCursor(0,0);
              lcd.print("abslt pressure: ");
              lcd.setCursor(0,1);
              lcd.print(P,2);
              lcd.print(" hPa ");
              delay(5000);
              p0 = pressure.sealevel(P,ALTITUDE); // we're at 1655 meters (Boulder, CO)
              a = pressure.altitude(P,p0);
              lcd.clear();
              lcd.setCursor(0,0);
              lcd.print("Altitude: ");
              lcd.setCursor(0,1);
              lcd.print(a,0);
              lcd.print(" meters");
              delay(5000);
      }}}}
    }
    Van még egy gondom. Ez egy oldal a sok közül. Az összesnél hiba a tm1637.init(); sorban van. Mi a megoldás erre is.
    https://portal-pk.ru/news/94-arduino-chasy-podklyuchaem-k-arduino-ds3231-modul-i-ik-priemnik.html
    Sajnos nagyon hiányosak a programozási ismereteim. Megköszönöm ha tudnátok segíteni.

    Artillery, lelkes újonc vagyok, tanulni akarok!

Új hozzászólás Aktív témák