ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2009/06/16
    4
    0

    شیلد سنسور دمای DS18B20 برد Wemos Mini D1

    من برای اطمینان از صحت محاسبات و کیفیت محصول «شیلد سنسور دمای DS18B20 برد Wemos Mini D1» رو به همراه Wemos Mini D1 خریداری کردم.(از eca.ir) ولی متاسفانه هیچ دیتاشیتی برای ان ارایه نشد. من با توجه به کدهای دوستان هر چه تلاش کردم موفق به خواندن دما نشدم.

    #include <OneWire.h>
    #include <DallasTemperature.h>

    #define ONE_WIRE_BUS 2

    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature sensors(&oneWire);

    void setup() {
    // put your setup code here, to run once:
    Serial.begin(115200); //Serial connection
    sensors.begin();
    }

    void loop() {
    // call sensors.requestTemperatures() to issue a global temperature
    // request to all devices on the bus
    Serial.print("Requesting temperatures...");
    sensors.requestTemperatures(); // Send the command to get temperatures
    Serial.println("DONE");
    // After we got the temperatures, we can print them here.
    // We use the function ByIndex, and as an example get the temperature from the first sensor only.
    float celsius = sensors.getTempCByIndex(0);

    // Check if reading was successful
    if(celsius != DEVICE_DISCONNECTED_C)
    {
    Serial.print("Temperature for the device 1 (index 0) is: ");
    Serial.println(celsius);
    }
    else
    {
    Serial.println("Error: Could not read temperature data");
    }

    HttpPost(celsius);
    delay(1000*(delaytime-1));
    Serial.println("LOOP...");
    }


    برنامه من خطای
    0906.692 -> Requesting temperatures...DONE
    0906.692 -> Error: Could not read temperature data
    میدهد.
    لطفا کمک نمایید.
    مشکل از کجاست؟ ایا مشکل نرم افزاریه یا سخت افزاری؟
  2. #2
    2018/02/22
    1,096
    688

    پاسخ : شیلد سنسور دمای DS18B20 برد Wemos Mini D1

    درود ، بعیده سخت افزاری باشه ، لطفاً برنامه زیر رو تست کنید

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  3. #3
    2009/06/16
    4
    0

    پاسخ : شیلد سنسور دمای DS18B20 برد Wemos Mini D1

    ممنون از راهنمایی شما
    ولی این بار دیگر هیچ پاسخی دریافت نشد.
    با یک کد دیگر که امتحان کردم این جواب رو میداد:
    14:01:11.381 -> Requesting temperatures...DONE
    14:01:11.419 ->
    Temp C: -127.00 Temp F: -196.60
    یعنی همیشه منفی 127؟؟؟؟ احساس میکنم که شیلد مربوطه با خود سنسور DS18B20 متفاوت باشه!
    ویرایش توسط rrreza : 2019/01/21 در ساعت 13:12
  4. #4
    2009/06/16
    4
    0

    پاسخ : شیلد سنسور دمای DS18B20 برد Wemos Mini D1

    من این بار حرفه ای تر اقدام کردم. اول آدرس را به دست آوردم و سپس کد زیر را نوشتم ولی باز پاسخ گرفتم:
    Temp C: -127.0000 Temp F: -196.6000
    نمی دونم ماژول خریداری شده از eca مشکل داره و یا برنامه نویسی ماژول با سنسورش متفاوته! نظر دوستان چیست؟

    #include <DallasTemperature.h>
    #include <OneWire.h>

    // OneWire DS18S20, DS18B20, DS1822 Temperature Example

    OneWire ds(D2); // on pin D4 (a 4.7K resistor is necessary)
    DeviceAddress adress1={0x28, 0xFF, 0xBF, 0x29, 0x64, 0x16, 0x04, 0x97 };
    void setup(void)
    {
    Serial.begin(9600);
    }

    void loop(void)
    {
    byte i;
    byte present = 0;
    byte type_s;
    byte data[12];
    byte addr[8];
    float celsius, fahrenheit;

    if ( !ds.search(addr))
    {
    ds.reset_search();
    delay(250);
    return;
    }

    if (OneWire::crc8(addr, 7) != addr[7])
    {
    Serial.println("CRC is not valid!");
    return;
    }

    // the first ROM byte indicates which chip
    switch (addr[0])
    {
    case 0x10:
    type_s = 1;
    break;
    case 0x28:
    type_s = 0;
    break;
    case 0x22:
    type_s = 0;
    break;
    default:
    Serial.println("Device is not a DS18x20 family device.");
    return;
    }

    ds.reset();
    ds.select(addr);
    ds.write(0x44, 1); // start conversion, with parasite power on at the end
    delay(1000);
    present = ds.reset();
    ds.select(addr);
    ds.write(0xBE); // Read Scratchpad

    for ( i = 0; i < 9; i++)
    {
    data[i] = ds.read();
    }

    // Convert the data to actual temperature
    int16_t raw = (data[1] << 8) | data[0];
    if (type_s) {
    raw = raw << 3; // 9 bit resolution default
    if (data[7] == 0x10)
    {
    raw = (raw & 0xFFF0) + 12 - data[6];
    }
    }
    else
    {
    byte cfg = (data[4] & 0x60);
    if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms
    else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
    else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms

    }
    celsius = (float)raw / 16.0;
    fahrenheit = celsius * 1.8 + 32.0;
    Serial.print(" Temperature = ");
    Serial.print(celsius);
    Serial.print(" Celsius, ");
    Serial.print(fahrenheit);
    Serial.println(" Fahrenheit");
    }
نمایش نتایج: از 1 به 4 از 4

موضوعات مشابه

  1. خطا در نمایش دمای خوانده شده از سنسور ds18b20
    توسط milad1987 در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2018/10/02, 19:32
  2. کپی برنامه روی wemos D1 mini
    توسط saeid_k68 در انجمن ماژول های شبکه و WIFI
    پاسخ: 3
    آخرين نوشته: 2018/09/22, 09:50
  3. 1wire در بسکام و 6 عدد سنسور دمای ds18b20
    توسط mammmad96 در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2016/12/27, 04:28
  4. مشکل برفک زدن سنسور DS18b20 در دمای زیر صفر
    توسط edisone2005 در انجمن سنسورها
    پاسخ: 1
    آخرين نوشته: 2015/08/22, 19:52
  5. راه اندازی سنسور دمای DS18B20 با بسکام
    توسط nilofar1036 در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2013/12/31, 21:25

کاربرانی که این تاپیک را مشاهده کرده اند: 0

هیچ عضوی در لیست وجود ندارد.

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •