فهرست مطالب:

شماره سریال DS18B20 را با آردوینو دریافت کنید: 5 مرحله
شماره سریال DS18B20 را با آردوینو دریافت کنید: 5 مرحله

تصویری: شماره سریال DS18B20 را با آردوینو دریافت کنید: 5 مرحله

تصویری: شماره سریال DS18B20 را با آردوینو دریافت کنید: 5 مرحله
تصویری: FLProg10: سنسور دما DS18B20 | ESP32 NodeMCU | برنامه نویسی Visual Embedded Arduino 2024, نوامبر
Anonim
شماره سریال DS18B20 را با آردوینو دریافت کنید
شماره سریال DS18B20 را با آردوینو دریافت کنید

این یک راهنمای سریع در مورد نحوه دریافت شماره سریال جداگانه سنسورهای دما 1 سیم DS18B20 است.

این برای پروژه هایی که نیاز به چند سنسور دارند مفید است.

چیزهایی که شما نیاز دارید:

  • Arduino 5v (UNO ، Mega ، Pro Mini و غیره) - Arduino UNO R3 - AliExpress - eBay
  • سنسور Temp DS18B20 - AliExpress - eBay
  • 4.7k - 1/4w Resistor THT - AliExpress - eBay
  • Breadboard - AliExpress - eBay
  • Jumper Wires - مرد به مرد - AliExpress - eBay
  • رایانه ای با Arduino IDE نصب شده است

مرحله 1: کتابخانه مورد نیاز را به Arduino IDE اضافه کنید

کتابخانه مورد نیاز را به Arduino IDE اضافه کنید
کتابخانه مورد نیاز را به Arduino IDE اضافه کنید
  1. Arduino IDE را باز کنید (من از 1.8.1 استفاده می کنم)
  2. روی "طرح" -> "شامل کتابخانه" -> "مدیریت کتابخانه ها …" کلیک کنید.
  3. نوار جستجو را انتخاب کرده و "dallas" را تایپ کنید
  4. روی "DallasTemperature" و "نصب" کلیک کنید

متناوباً می توانید کتابخانه را از اینجا بارگیری کنید:

این کتابخانه شامل کتابخانه OnWire است.

مرحله 2: DS18B20 را سیم کشی کنید

DS18B20 را سیم کشی کنید
DS18B20 را سیم کشی کنید
DS18B20 را سیم کشی کنید
DS18B20 را سیم کشی کنید

با استفاده از تخته نان +5V ، GND و پین دیجیتال 2 (پین 2 قبلاً در طرح اولیه تنظیم شده است) را از آردوینو با استفاده از بلوزهای نان به نر به نر متصل کنید.

DS18B20 را به موازات نوارهای پایانه 3x روی تخته نان متصل کنید.

  • پین 1 (GND) -> GND (زمین 0 ولت)
  • پین 2 (DATA) -> پین دیجیتال 2
  • پین 3 (Vdd) -> +5V

برای حالت برق معمولی ، یک مقاومت 4.7K از +5V را به سیم پین 2 دیجیتال روی صفحه نان متصل کنید.

پیوند زیر منبع خوبی برای سنسور درجه حرارت 1 سیم DS18B20 است.

www.tweaking4all.com/hardware/arduino/ardu…

مرحله 3: طرح نمونه "Single" را بارگذاری کنید

بارگیری طرح نمونه
بارگیری طرح نمونه
بارگیری طرح نمونه
بارگیری طرح نمونه

پس از اتمام کار ، آماده بارگیری Sketch دمای دالاس "Single" هستید (Arduino IDE را باز کنید (من از 1.8.1 استفاده می کنم) روی "پرونده" -> "مثالها" -> "دمای دالاس" -> "Single" کلیک کنید با تاخیر (5000) ؛ در خط 103 به من زمان دهید تا شماره سریال را کپی کنم فرم هیئت مدیره مناسب خود را "Tools" -> "Board" را انتخاب کنید "Tools" -> "Port" خود را انتخاب کنید "حالا" طرح "Sketch" -> "Upload" را بارگذاری کنید روی "Tools" -> "Serial Monitor" کلیک کنید تا مطمئن شوید که نرخ baud با من 9600 مطابقت دارد. اگر اسکیس را بارگذاری نکرده اید ، درایورهای Board ، Port ، USB و غیره خود را بررسی کنید.

مرحله 4: شماره سریال را کپی کنید

شماره سریال را کپی کنید
شماره سریال را کپی کنید
شماره سریال را کپی کنید
شماره سریال را کپی کنید

از "مانیتور سریال" خط 4 را مشاهده می کنید که "دستگاه 0 آدرس: xxxxxxxxxxxxxxx" است.

این شماره سریال DS18B20 است

اگر "000000000000000000" است ، هنگام خواندن DS18B20 شما مشکلی وجود دارد.

آن را با موس خود برجسته کرده و CTRL+C را روی صفحه کلید خود فشار دهید و سپس آن را در دفترچه یادداشت بگذرانید

در پروژه های دیگر من ، کد من از آرایه ای از این اعداد استفاده می کند. رشته HEX را مجدداً به فرمت زیر قالب بندی کردم.

DeviceAddress tempSensorSerial [9] = {

{0x28، 0xFF، 0x07، 0xA6، 0x70، 0x17، 0x04، 0xB5}، {0x28، 0xFF، 0xB2، 0xA6، 0x70، 0x17، 0x04، 0x28}، {0x28، 0xFF، 0x42، 0x04، 0x94، 0x94، 0x94، 0x04، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x94، 0x04 ، 0xD3} ، {0x28 ، 0xFF ، 0x86 ، 0xA8 ، 0x70 ، 0x17 ، 0x04 ، 0xA6} ، {0x28 ، 0xFF ، 0x2B ، 0x65 ، 0x71 ، 0x17 ، 0x04 ، 0x76} ، {0x28 ، 0xFF ، 0xF6 ، 0xF6 ، 0xF6 ، 0xFF ، 0xF6 ، 0xF6 ، 0xF6 ، 0xF6 ، 0xFF ، 0x76 ، 0x76 ، 0xFF ، 0x7 ، 0x17، 0x04، 0xF5}، {0x28، 0xFF، 0xD9، 0x9B، 0x70، 0x17، 0x04، 0x9C}، {0x28، 0xFF، 0x98، 0x6A، 0x71، 0x17، 0x04، 0xED، 0xED، 0xED، ، 0x42 ، 0x71 ، 0x17 ، 0x04 ، 0x4C}} ؛

مرحله 5: تمام شد

تمام شده
تمام شده

اکنون می توانید هر یک از حسگرهای دما 1 سیم DS18B20 را در کد خود شناسایی کرده و از عملکردی مانند این استفاده کنید:

شناور getTemperature (بایت j) {

sensors.requestTemperaturesByAddress (tempSensorSerial [j])؛

float tempC = sensors.getTempC (tempSensorSerial [j])؛

بازگشت tempC؛

}

توصیه شده: