O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIALI
“TELEKOMMUNIKATSIYA TEXNOLOGIYALARI VA KASBI TA‘LIM” FAKULTETI
“TELEKOMMUNIKATSIYA INJINIRING” KAFEDRASI
Aqilli Shahar tarmoqlari va tizimlari fanidan
7-8-Laboratoriya ishi
Fan o‘qituvchisi:Bolbekov_M Bajardi:404_19 guruh Djurakulov_A
SAMARQAND _ 2022
№ 7.1. Amaliy mashg’ulot DS18B20-ni Arduino-ga ulash.
Ishning maqsadi: Harorat va namlikni nazorat qilish tizimining apparat va dasturiy ta'minotini o'rganish. Amaldagi tizimning tarkibiy qismlari haqida texnik xususiyatlar va umumiy ma'lumotlarni o'rganish.
OneWire kutubxonasi yordamida termometr qilish uchun DS18B20 va DS18B22 harorat sensorini Arduino-ga qanday ulash mumkin - biz ushbu mashg’ulotda ko'rib chiqamiz. DHT11 harorat va namlik sensoridan farqli o'laroq, sensor keng harorat oralig'ida ishlaydi va salbiy haroratni o'lchashga qodir. Arduino uchun DS18B20 o'rnatilgan harorat sensori 0,0625 °C gacha bo'lgan o'lchov ruxsatiga ega. Umumiy ish rejasi: 1. DS18B20 Arduino sensorining xususiyatlari 2. DS18B20 sensorini Arduino-ga qanday ulash mumkin 3. Harorat sensori uchun DallasTemperature kutubxonasi 4. DS18B20 Arduino sensorini ulash uchun kod 5. Bitta avtobusda bir nechta sensorlar uchun kod DS18B20 sensori: texnik xususiyatlar haroratni o'lchash diapazoni -55 … +125 °C; sensor xatosi 0,5 ° S dan oshmaydi; o'lchamlari 0,0625 ° S ga etadi; DS18B20 sensori zavodda kalibrlangan; bitta liniyada 127 tagacha datchikni ulashingiz mumkin; Ulanish uchun faqat 3 ta sim kerak.
DS18B20 raqamli sensori ma'lumotlarni simli avtobus orqali yuboradi va boshqa ko'plab qurilmalar bilan bir qatorda ishlashi mumkin. Har bir datchikda Arduino mikrokontrolleri bir avtobusda bir vaqtning o'zida bir nechta sensorlar bilan muloqot qilish imkonini beruvchi shaxsiy 64-bitli kodga ega. Sensor atrof-muhit haroratini raqamli kodga aylantiradi, ya'ni. ulanish uchun qo'shimcha ADC kerak emas.
#include "OneWire.h"
#include "DallasTemperature.h"
OneWire oneWire(15); // порт подключения датчиков (A1)
DallasTemperature ds(&oneWire);
byte num; // количество подключенных датчиков
void setup() {
Serial.begin(9600); // инициализация монитора порта
ds.begin(); // инициализация датчика ds18b20
num = ds.getDeviceCount(); // узнаем количество датчиков
Serial.print("Number: "); // выводим полученное количество
Serial.println(num);}
void loop() {
// выполняем цикл столько, сколько найдено датчиков на шине
for (byte i = 0; i < num; i++){
Serial.print("Sensor ");
Serial.print(i);
Serial.print(": ");
ds.requestTemperatures(); // считываем температуру с датчика
Serial.print(ds.getTempCByIndex(i));
Serial.println("C"); }
Serial.println(""); }