کد مناسب برای راه اندازی دو سنسور که روی دو پین از آردیونو متصل هستن به چه صورت است؟

2 سال قبل
606 بازدید

0

خودم از این کد استفاده کردم ولی مشکلی که داره  اینه که عدد -127 که نشان دهنده این است که سنسور مشکل داره را نشان میده و هم دمایی که سنسور گزارش میکنه،من نمی دونم مشکل از کجاست

مثلا چیزی که نشون میده:sensor 2 = -127.00 26.5

 

 

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

#define ONE_WIRE_BUS_1 2
#define ONE_WIRE_BUS_2 4

OneWire oneWire_in(ONE_WIRE_BUS_1);
OneWire oneWire_out(ONE_WIRE_BUS_2);

DallasTemperature sensor_inhouse(&oneWire_in);
DallasTemperature sensor_outhouse(&oneWire_out);


uint8_t sensor2[8] = { 0x28, 0x7D, 0xC6, 0x56, 0xB5, 0x01, 0x3C, 0xF3 };
uint8_t sensor3[8] = { 0x28, 0x99, 0x34, 0x79, 0xA2, 0x00, 0x03, 0xC2};
void setup(void)
{
    Serial.begin(9600);
    Serial.println("Dallas Temperature Control Library Demo - TwoPin_DS18B20");

    sensor_inhouse.begin();
    sensor_outhouse.begin();
}

void loop(void)
{
    Serial.print("Requesting temperatures...");
    sensor_inhouse.requestTemperatures();
    sensor_outhouse.requestTemperatures();
    Serial.println(" done");
  
  Serial.print("Sensor 2: ");
  printTemperature(sensor2);
   
  Serial.print("Sensor 3: ");
  printTemperature(sensor3);

    Serial.println();
  delay(3000);

void printTemperature(DeviceAddress deviceAddress)
{
  float tempC1=sensor_inhouse.getTempC(deviceAddress);
   float tempC2=sensor_outhouse.getTempC(deviceAddress);
  
  Serial.print(tempC1);
  
   Serial.println(tempC2);
  
}

16 فروردین 01 در 09:56
امیرحسین شهسواری
1

سلام لطف کنید مدل سنسور خود را نیز مشخص کنید.  – محمد دمیرچی 01-01-17 در 06:07

افزودن دیدگاه

1 پاسخ ثبت شده است
0

درود، تابع printTemperature دو مرتبه سنسور رو چک میکنه و چاپ میکنه به همین دلیل خروجی سریال مانیتور دو عدد نمایش داده میشه.

دو خط تکراری رو حذف کنید و تست بگیرید!

10 آذر 02 در 10:00
میلاد نیک پندار
1

افزودن دیدگاه


انجمن کافه‌ربات © 1400