Salom do'stlar. Sizlar bilan UzHackerSW jamoasi. Bugungi mavzuyimiz o'tgan darslarimizdagi masofani aniqlash datchigi yordamida aniqlangan masofani LCD displayda tasvirlashni o'rganamiz. Bugungi darsimiz sizlarga va'da berganimiz kabi biror elementgacha bo'lgan masofani aniqlaymiz. Oldingi darsimizda aniq masofani ko'rsatish uchun biz LCD diplaydan foydalanishni o'rganmaganligimiz sababli ko'rsata olmagan edik. Sizlarni kuttirmagan holda buni boshlaymiz. Qani boshladik.
Bizga kerakli elementlar:
1. Arduino Uno platasi
2. Oddiy plata (breadboard).
3. Papa-papa turdagi kabel.
4. 16x2 LCD display - LCD display yozuvlarni yorug'lik orqali chiqarish uchun ishlab chiqilgan. Elektr quvvati bilan ta'minlash va boshqarish elektronikasi bilan aloqa qilish uchun ekran 16 ta kontaktga ega. Ulardan faqat 6 tasi ekranga chiqishini boshqarish uchun ishlatilishi mumkin. Uning portlar vazifasida quyida keltirilgan:
5. Potensiometr - bu o'zgaruvchan qarshilik, sozlanishi qarshilik bilan amalga oshiriladi. Potensiometrlar robotlarda turli parametrlarni tartibga soluvchi vositalar sifatida ishlatiladi - ovoz, kuch, kuchlanish va hokazolarning balandligi shu kabilardir. Bizning modelimizda yorug'lik yorug'ligi potensiometr dastagining aylanishiga bog'liq bo'ladi.
6. Ultratovush moduli - bu modul ultratovush uzatadi va biror narsaga urilib qaytgan ultratovush (ya'ni echo) ga qarab masofani aniqlab beradi. Bunda u 5V kuchlanishda va 2sm dan 400 sm gacha bo'lgan masofada ishlaydi. Unda 4 ta oyoqcha bo'lib, vcc (pitaniya), trig (ultratovush uzatadi), echo(qaytgan echo ni qabul qiliadi), gnd(zemlya)
Ulanish sxemasi:
Dastur:
#include <liquidcrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
int EchoP = 13;
int TrigP = 12;
void setup(){
lcd.begin(16,2);
pinMode(TrigP, OUTPUT);
pinMode(EchoP, INPUT);
}
void loop(){
float dev, masofa;
digitalWrite(TrigP, LOW);
delayMicroseconds(2);
digitalWrite(TrigP, HIGH);
delayMicroseconds(1000);
digitalWrite(TrigP, LOW);
dev = pulseIn(EchoP, HIGH);
masofa = (dev/58);
if (masofa <= 400 || masofa >= 2){
lcd.setCursor(0,0);
lcd.print("Masofa: ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.print(masofa);
lcd.print(" sm");
delay(500);
}
delay(500);
lcd.clear();
}</liquidcrystal.h>
ESLATMA: lcd (7,6,5,4,3,2) portlarni ixtiyoriy raqamli portlarga almashtirishingiz mumkin. Agar qayerdadir xatolik yoki kamchilik bo'lsa, bizga murojaat qiling. Biz buni tezda bartaraf qilamiz.
Agar siz xuddi yo'riqnoma kabi amalga oshirgan bo'lsangiz, sizda LED chiroqcha albatta knopka orqali yoqib o'chira olasiz.Agarda unchalik bu narsaga tushunmagan bo`lsangiz pasda video ko`rsatmani ko`ring.
Agar sizda turli savollar, tushunarsiz bo'lgan narsalar bo'lsa, savollarigizni pastda yozib qoldirishingiz mumkin.
Bundanda qiziqarli ma'lumotlarga ega bo'lish uchun saytimizga tez-tez kirib turing!
Biz eng yaxshilarini sizlarga ilinamiz.