Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali “kompyuter injiniringi” fakulteti individual loyiha 1 Mavzu




Download 148 Kb.
bet2/3
Sana12.01.2024
Hajmi148 Kb.
#135997
1   2   3
Bog'liq
Arduino platasi imkoniyatlari

Qurilmaning ishlashi tavsifi


DS 18 B 20 harorat sensorini Arduino platformasiga ulaymiz Quyidagi diagramma bo'yicha UNO (1-rasm):





Guruch. 1. Ulanish sxemasi

Sensorning ma'lumotlariga va quvvat oyoqlariga tortish rezistorini ulaymiz, bu signalning quvvat manbaiga yoki erga tortilishini ta'minlaydi.


Shuningdek, biz potentsiometrni 1-rasmdagi diagramma bo'yicha ulaymiz. Potansiyometr tugmachasini aylantirib, uning qarshiligini sozlash orqali kontrastni sozlashingiz mumkin.
Sensorni 7-pinga ulaymiz. O'chirish qo'shimcha ADCni talab qilmaydi, chunki harorat ushbu sensor tomonidan darhol raqamli kodga aylanadi.
Arduino dasturi orqali mikrokontrollerga yuklangan dasturiy kod orqali ishlaydi IDE . Arduino IDE - Muhit o'z dasturlaringizni yozish, kompilyatsiya qilish va Arduino-mos keladigan qurilma platasida o'rnatilgan mikrokontroller xotirasiga yuklash uchun mo'ljallangan. Rivojlanish muhitining asosi Processing/Wiring tilidir - bu aslida oddiy C++.
Arduino muhitiga kiritilgan misollardan olingan Dallas Temperature kutubxonasidan foydalanmasdan pinout uchun moslashtirilgan IDE . OneWire protokoli uchun OneWire Arduino kutubxonasini va displey uchun LiquidCrystalni o'rnatish kerak edi . Kod Unda bor ko'rinish :

#o'z ichiga


#o'z ichiga
OneWire ds(7);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
bekor o'rnatish (yaroqsiz)
{
lcd.begin(16, 2);
lcd.print("Temp DS18B20:");
}
bekor halqa (bo'sh)
{
bayt i;
bayt ma'lumotlari[12];
bayt manzili[8];
float selsiy, farengeyt;
ds.search(addr);
ds.reset();
ds.select(addr);
ds.write (0x44, 1);
kechikish (1000);
ds.reset();
ds.select(addr);
ds.write(0xBE);
uchun (i = 0; i < 9; i++)
{
data[i] = ds.read();
}
int16_t raw = (ma'lumotlar [1] << 8) | maʼlumotlar[0];
agar (ma'lumotlar [7] == 0x10)
{
xom = (xom va 0xFFF0) + 12 - ma'lumotlar[6];
} boshqa {
bayt cfg = (ma'lumotlar [4] & 0x60);
agar (cfg == 0x00)
xom = xom << 3;
Aks holda (cfg == 0x20)
xom = xom << 2;
Aks holda (cfg == 0x40) \
xom = xom << 1;
}
Selsiy = (suzuvchi) xom / 16,0;
Farengeyt = Selsiy * 1,8 + 32,0;
lcd.setCursor(0, 1);
lcd.print("C:");
lcd.setCursor(2, 1);
lcd.print(selsiy);
lcd.setCursor(8, 1);
lcd.print("F:");
lcd.setCursor(10, 1);
lcd.print (farengeyt);
}


Download 148 Kb.
1   2   3




Download 148 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali “kompyuter injiniringi” fakulteti individual loyiha 1 Mavzu

Download 148 Kb.