Arduino Polska Forum
Problem z programowaniem Arduino Pro mini - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino)
+--- Wątek: Problem z programowaniem Arduino Pro mini (/watek-problem-z-programowaniem-arduino-pro-mini)

Strony: 1 2


Problem z programowaniem Arduino Pro mini - Armin0899 - 03-01-2017

Witam, jestem początkującym użytkownikiem Arduino więc proszę o wyrozumiałość. Chcę zbudować bezprzewodową stacje meteorologiczną. Znalazłem w internecie schemat połączeń wraz z kodem. Po połączeniu układu i próbie wgrania programu do Pro mini wyskakuje mi taki błąd:https://zapodaj.net/0051ea8a4c4cf.jpg.html
Kod:
#include <idDHT11.h>

Kod:
#include <Wire.h>
#include <VirtualWire.h>
#include <BMP180.h>

int idDHT11pin = 3;
int idDHT11intNumber = 1;

void dht11_wrapper(); // must be declared before the lib initialization

idDHT11 DHT11(idDHT11pin,idDHT11intNumber,dht11_wrapper);

BMP180 barometer;
// float seaLevelPressure = 101000;

String calosc, wilg, cisn, temp, wilg1, cisn1, temp1;
char Msg[27];


void setup()
{
 vw_setup(2000);
 
 wilg = String("W: ");
 cisn = String ("C: ");
 temp = String ("T: " );
 Serial.begin(9600);
 delay(5000);
 Serial.println("Stacja Meteo by ElektroMaras");
 
 Wire.begin();
 barometer = BMP180();
 if(barometer.EnsureConnected())
 {
   Serial.println("Connected to BMP180."); // Output we are connected to the computer.
   barometer.SoftReset();
   barometer.Initialize();
 }
 else
 {
   Serial.println("Could not connect to BMP180.");

 }
 Serial.print("DHT 11 LIB version: ");
 Serial.println(IDDHT11LIB_VERSION);
 Serial.println("---------------");
 }

// This wrapper is in charge of calling
// mus be defined like this for the lib work
void dht11_wrapper()
{  DHT11.isrCallback();  }

void loop()
{
 Serial.print("\nRetrieving information from sensor: ");
   //delay(100);
 DHT11.acquire();
 while (DHT11.acquiring())
   ;
 int result = DHT11.getStatus();
 switch (result)
 {
 case IDDHTLIB_OK:
   Serial.println("OK");
   break; }
 /* case IDDHTLIB_ERROR_CHECKSUM:
   Serial.println("Error\n\r\tChecksum error");
   break;
 case IDDHTLIB_ERROR_ISR_TIMEOUT:
   Serial.println("Error\n\r\tISR Time out error");
   break;
 case IDDHTLIB_ERROR_RESPONSE_TIMEOUT:
   Serial.println("Error\n\r\tResponse time out error");
   break;
 case IDDHTLIB_ERROR_DATA_TIMEOUT:
   Serial.println("Error\n\r\tData time out error");
   break;
 case IDDHTLIB_ERROR_ACQUIRING:
   Serial.println("Error\n\r\tAcquiring");
   break;
 case IDDHTLIB_ERROR_DELTA:
   Serial.println("Error\n\r\tDelta time to small");
   break;
 case IDDHTLIB_ERROR_NOTSTARTED:
   Serial.println("Error\n\r\tNot started");
   break;
 default:
   Serial.println("Unknown error");
   break;
 } */

int a = (DHT11.getHumidity());
String wilg1 = wilg + a + "%";
Serial.println (wilg1);

if(barometer.IsConnected)
 {
   // Retrive the current pressure in Pascals.
   long currentPressure = barometer.GetPressure();
   
   int b = (currentPressure/100);
   String cisn1 = cisn + b + " hPa"  ;
   Serial.println (cisn1);

   // Retrive the current temperature in degrees celcius.
   float currentTemperature = barometer.GetTemperature();

   int c = (currentTemperature);
   String temp1 = temp + c + " stC";
   Serial.println (temp1);
 
  String calosc = wilg1 + temp1 + cisn1 ;
  Serial.println(calosc);  
 
   calosc.toCharArray(Msg,(calosc.length()+1));
   for (int i = 0; i <= calosc.length(); i++) {
   Serial.print(Msg[i]);
  }
 
   vw_send((uint8_t *)Msg, strlen(Msg));
   vw_wait_tx();
   
   Serial.println("poszlo");         }
   Serial.println(); // Start a new line.
   delay(10000);
}
[url=https://zapodaj.net/27a55eadfd539.jpg.html][/url]


Jaki jest powód takiego błędu?


RE: Problem z programowaniem Arduino Pro mini - -adamek - 03-01-2017

Jaki jest powód takiego błędu?

Ano w katalogu bmp180 jest plik BMP180.h a tam jest deklaracja #include "../Wire/Wire.h" a kompilator upiera się że na tej ścieżce Wire.h niema i co ty na to ?
Pod warunkiem że masz wire zamień tak #include <Wire.h>
albo #include "Wire.h" w pliku BMP180.h i próbuj .
Jeśli to nie tajemnica to podaj link do tej strony ?


RE: Problem z programowaniem Arduino Pro mini - Armin0899 - 04-01-2017

Witam, poprawiłem deklaracje w pliku BMP180.h i program już nie zawiera błędów.
Link do stacji meteo https://www.youtube.com/watch?v=j7jtJ4oOp1Y
Dla czujnika DHT11 zastosowano bibliotekę idDHT11.h a jakbym chciał zamienić ten czujnik na DHT22 to muszę mieć bibliotekę idDHT22.h czy DHT22.h ?


RE: Problem z programowaniem Arduino Pro mini - -adamek - 04-01-2017

idDHT11.h -to jest plik nagłówkowy
Id* to jest z (callback) https://pl.wikipedia.org/wiki/Wywo%C5%82anie_zwrotne.
Adafruit ma taką bibliotekę oryginalną do dht 11,21,22 na początku wskazuje się czujnik ,na forum stacji pogody pisali o SHT31 bardziej dokładny od dht u Ali ok.20zł . https://www.aliexpress.com/item/Free-shipping-SHT31-Temperature-SHT31-D-Humidity-Sensor-module-Breakout-Weather-for-Arduino/32697128202.html?spm=2114.13010208.99999999.592.pUKfoE ------ https://learn.adafruit.com/adafruit-sht31-d-temperature-and-humidity-sensor-breakout/wiring-and-test
Mam dwa dht11 to jakieś głupoty wyświetla.


RE: Problem z programowaniem Arduino Pro mini - Armin0899 - 04-01-2017

Chcę zamienić czujnik DHT11 na DHT22. Więc co muszę zmienić w programie aby czujnik ten działał?


RE: Problem z programowaniem Arduino Pro mini - -adamek - 04-01-2017

Zainstalować i dodać do projektu bibliotekę dht22 ,podpatrzeć jak jest w przykładzie każda biblioteka ma przykład.


RE: Problem z programowaniem Arduino Pro mini - Armin0899 - 07-01-2017

Zainstalowałem bibliotekę dht22 ale nie wiem jak pozmieniać w kodzie aby działał czujnik dht22 .


RE: Problem z programowaniem Arduino Pro mini - -adamek - 07-01-2017

Są różne biblioteki imają inne deklaracje wywołania ,pomocnym jest przykład Plik >Przykłady


RE: Problem z programowaniem Arduino Pro mini - MarcinOlsztyn - 28-01-2017

zrób sobie najpierw jakiś test z serialem by wyświetlic co sekunde temp....
i wklej to z przykłady dht22
wtedy wiesz że dziala i wkładasz to gdzie chcesz ;-)


RE: Problem z programowaniem Arduino Pro mini - Armin0899 - 29-01-2017

Po wgraniu biblioteki DHT.h i po zweryfikowaniu programu wyskakuje taki błąd:
UWAGA: Błędny folder .github w bibliotece 'DHT sensor library'
In file included from C:\Users\Marcin\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:22:0:

C:\Users\Marcin\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

#include <Adafruit_Sensor.h>

                            ^

compilation terminated.

exit status 1