Wemos D1 + DS18B20

Masz problem, z którym nie możesz sobie poradzić? Pisz śmiało!
ODPOWIEDZ
prosajmon
Młodszy majsterkowicz
Posty: 4
Rejestracja: 27 lis 2018, 14:06

Wemos D1 + DS18B20

Post autor: prosajmon » 27 lis 2018, 14:35

Witam majsterkowiczów,

staram się zaprogramować czujnik temperatury DS18B20 podłączony do płytki WEMOS D1, ale ciągle wyskakują mi jakieś błędy... Poniżej zamieszczam mój sketch:

Kod: Zaznacz cały

#include <OneWire.h>
#include <DS18B20.h>

// Numer pinu do którego podłaczasz czujnik
#define ONEWIRE_PIN D1

// Adres czujnika
byte address[8] = {0x28, 0xFF, 0x61, 0x4F, 0x51, 0x17, 0x4, 0xDD};

float temperature;

OneWire onewire(ONEWIRE_PIN);
DS18B20 sensors(&onewire);

void setup() 
{ 
  
  while(!Serial);
  Serial.begin(9600);
  
  sensors.begin();
  sensors.request(address);
}

void loop()
{
    
    temperature = sensors.readTemperature(address);

    Serial.println("temperatura rzeczywista: ");
    Serial.print(temperature);
    Serial.println(F(" 'C\n"));
    delay(2000);
    
}
błędy:
C:\Users\micha\Documents\Arduino\libraries\DS18B20\DS18B20.cpp: In member function 'void DS18B20::_readFlashAddress(const __FlashStringHelper*, uint8_t*)':

C:\Users\micha\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2/tools/sdk/include/c_types.h:89:66: error: section attribute cannot be specified for local variables

#define ICACHE_RODATA_ATTR __attribute__((section(".irom.text")))

^

C:\Users\micha\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\cores\esp8266/pgmspace.h:13:21: note: in expansion of macro 'ICACHE_RODATA_ATTR'

#define PROGMEM ICACHE_RODATA_ATTR

^

C:\Users\micha\Documents\Arduino\libraries\DS18B20\DS18B20.cpp:243:29: note: in expansion of macro 'PROGMEM'

const uint8_t *pgmAddress PROGMEM = (const uint8_t PROGMEM *) _address;

^

exit status 1
Błąd kompilacji dla płytki WeMos D1 R1.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Awatar użytkownika
Slawek
Starszy majsterkowicz
Posty: 448
Rejestracja: 29 mar 2015, 15:05

Re: Wemos D1 + DS18B20

Post autor: Slawek » 1 gru 2018, 08:15

Biblioteka OneWire dla esp8266 różni się od tej dla atmegi, musisz ściągnąć właściwą i podmienić.

Pozdr
ODPOWIEDZ

Strony partnerskie: