Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Hammaga salom! Biz Tun Xuseyn Onn Malayziya universiteti (UTHM) talabalari, UQD0801 (Robocon 1) o'quv dasturining bir qismi sifatida Tinkercad yordamida harorat sensori, lcd va Arduino -ni qanday taqlid qilishimizni ko'rsatish uchun loyihani amalga oshirmoqdamiz (7 -guruh)
Harorat sensori va LCD displey har xil holatlarda oddiy mexanizm bo'lib xizmat qilishi mumkin, masalan, xona haroratini kuzatish va hatto o'simliklarni kuzatish yoki haroratni muhim element deb biladigan har qanday joy!
1 -qadam: kerakli komponentlar ro'yxati
Ushbu loyiha bozorda juda oson sotib olinadigan komponentlarni talab qiladi.
Komponentlar ro'yxati:
1. Arduino Uno R3 (1)
2. Harorat sensori (TMP36) (1)
3. LCD 16x2 (1)
4. 250kΩ potentsiometr (1)
5. 220Ω qarshilik (1)
2 -qadam: Tinkercad -da kontaktlarning zanglashiga olib kelishi
Tinkercad foydalanuvchilarga noldan qurish orqali o'z davrlarini murakkablashtirmaslikka yordam beradigan oldindan tuzilgan sxemalarni taqdim etadi.
Circuit Desinger-da biz lcd-ni qidirishimiz mumkin, bu Arduino va LCD o'rtasida oldindan ulangan sxemaga ega bo'lgan boshlang'ich sxemasi borligini ko'rsatadi.
3 -qadam: TMP36 harorat sensori
Tinkercad -da faqat bitta harorat sensori mavjud, bu TMP36.
TMP36 harorat sezgir qarshilikka ega emas. Buning o'rniga bu sensor diodlarning xususiyatidan foydalanadi; diod harorat o'zgarganda, u bilan kuchlanish ma'lum tezlikda o'zgaradi. Sensor kichik o'zgarishlarni o'lchaydi va shunga asosan 0 dan 1.75VDC gacha bo'lgan analog kuchlanishni chiqaradi. Haroratni olish uchun biz chiqishni o'lchashimiz va uni Selsiy darajasiga o'tkazish uchun hisob -kitob qilishimiz kerak.
4 -qadam: TMP36 -ni Arduino -ga ulang
TMP36da 3 ta pin bor, ularni sensorning tekis tomonini payqab osongina aniqlash mumkin.
Birinchi pin - bu +5V pin, u tarmoqqa ulanadi.
Ikkinchi pin-bu analog kirish piniga ulanadigan Vout (A0-A5 bo'lishi mumkin). Biz bu loyiha uchun A0 dan foydalanganmiz.
Uchinchi pin - bu GND pinidir, u Arduino eriga ulanadi.
5 -qadam: Keling, kodlashni bajaraylik
Dastlab, Tinkercad -da topilgan kod muharririda kod bo'ladi.
Buning sababi shundaki, biz Tinkercad -dan boshlang'ich sxemasidan foydalanganmiz, uning kodini yuklaymiz va yangi foydalanuvchilarga chiqishni o'rganish va taqlid qilishga ruxsat beramiz.
Biz bularning barchasini o'chirib tashlashimiz va kodimizni loyihalashimiz mumkin.
Biz loyihalashtirmoqchi bo'lgan har qanday Arduino kodi uchun biz loyihaga tegishli kutubxonalarni o'z ichiga olishini ta'minlashimiz kerak.
Bu holda bizga ikkita kutubxona kerak; -LCD uchun kutubxona (LiquidCrystal.h)
-Serial aloqa uchun kutubxona (SoftwareSerial.h)
Bu kutubxonalarning ikkalasi ham Tinkercad -da mavjud, ya'ni hech qanday kutubxonani tashqi manbalardan yuklab olishning hojati yo'q.
Shuning uchun; kodning birinchi qatorlari
#qo'shing
#qo'shing
6 -qadam: Kodning qolgan qismi
// kutubxona kodini o'z ichiga oladi: #include
#qo'shing
LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // rs, en, d4, d5, d6, d7 pinlarini 12 11 5 4 3 2 pinli arduinoga ulash
int tselsiy bo'yicha; // Selsiy funktsiyasini butun son deb e'lon qilish
bo'sh o'rnatish ()
{
Serial.begin (9600); // baud tezligini sekundiga 9600 bit qilib belgilang
lcd.begin (16, 2); // LCD displey hajmi 16x2 // Xabarni LCD displeyda chop etish.
lcd.print ("Haroratni ko'rsatish");
Serial.println ("Haroratni ko'rsatish"); // xabarni ketma -ket monitorda chop eting}
bo'sh halqa ()
{
Selsiy = xarita (((analogRead (A0) -20) * 3.04), 0, 1023, -40, 125); // haroratni matematik usulda olish uchun xarita
lcd.setCursor (0, 0); // lcdning birinchi pikseliga kursor o'rnatilgan.
lcd.print ("Haroratni ko'rsatish"); // xabarni lcd -ga chop etish
lcd.setCursor (0, 1); // kursor ikkinchi qatorning birinchi pikseliga o'rnatiladi
lcd.print (tselsiy bo'yicha); // o'qilgan analogdan tselsiy bo'yicha chiqishni lcdga 0, 1 da bosib chiqaradi
lcd.print ("C"); // "c" alifbosi
Serial.println (tselsiy bo'yicha); // ketma -ket monitorda ko'rsatilgan chiqish
kechikish (1000); // o'qish har 1 soniyada yangilanadi
lcd.clear (); // LCD -ni tozalaydi
}