AXV

Push-Button va LED Indikatorlari (1-qism)

Raqamli kirish (Digital Input), Push-button mexanikasi, INPUT_PULLUP va Serial Monitor

9-sinfIoT3-hafta ยท 8-dars
01

Raqamli Kirish (Digital Input)

Arduino tashqi dunyodan qanday ma'lumot oladi?

OUTPUT vs INPUT Signallari

OUTPUT (Chiqish)

Arduino tashqi qurilmalarga signal yuboradi: LEDni yoqish, tovush chiqarish, motor aylantirish.

Biz mikrokontrollerga buyruq beramiz, u ijro etadi.

INPUT (Kirish)

Arduino tashqi sensorlar va tugmalardan ma'lumot qabul qiladi.

Tugma bosildimi? Eshik ochildimi? Xona qorong'imi?

Mikrokontroller atrof-muhitni "his qiladi".

Push-Button Ichki Mexanikasi

1a 1b Prujina 2a 2b
02

Suzuvchi Pin va INPUT_PULLUP

Tasodifiy elektromagnit to'lqinlardan himoyalanish siri

"Suzuvchi Pin" (Floating Pin) Muammosi

Havoda Osilib Qolgan Pin

Agar tugma qo'yib yuborilganda pin hech qayerga ulanmay qolsa:

Pin mikroantennaga aylanadi va atrofdagi simlar, tarmoq to'lqinlarini ushlaydi.

Natijada goh 0, goh 1 o'qib, o'z-o'zidan LEDni yoqib-o'chirib yuboradi!

Bartaraf Etish: Aniq Potensialga Tortish

Pinni har doim yo 5V ga (Pull-up) yoki GND ga (Pull-down) rezistor orqali bog'lab qo'yish kerak.

Shunda tugma bo'sh turganda ham pin aniq bir mantiqiy darajani bilib turadi.

INPUT_PULLUP: Ichki Tortuvchi Rezistor

Arduino MCU Ichki Tuzilishi +5V R 20-50k Pin 2 Tugma GND Bosilganda: Pin GND ga ulanadi -> LOW (0) Bo'sh turganda: Ichki 5V ushlab turadi -> HIGH (1)
03

Serial Monitor bilan Ishlash

Arduino va kompyuter o'rtasida ma'lumot almashish

Serial Monitor Ma'lumotlar Oqimi

Arduino Uno digitalRead(2) -> 0 yoki 1 USB Kabel (9600 bod) Serial Monitor (PC) Tugma holati: 1 Tugma holati: 0

Tugmani O'qish C++ Kodi

const int buttonPin = 2; // Tugma ulangan pin

void setup() {
  pinMode(buttonPin, INPUT_PULLUP); // Ichki rezistor bilan kirish
  Serial.begin(9600);               // 9600 tezlikda aloqa o'rnatish
}

void loop() {
  int buttonState = digitalRead(buttonPin); // Pin holatini o'qish
  Serial.print("Tugma holati: ");
  Serial.println(buttonState);              // Ekranga chop etish
  delay(200);                               // 200 ms kutish
}

Tugma Bilan LEDni Boshqarish Kodi

const int buttonPin = 2;
const int ledPin = 9;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(buttonPin);

  if (buttonState == LOW) {     // Agar tugma bosilsa (0)
    digitalWrite(ledPin, HIGH); // LED yonadi
  } else {                      // Agar tugma qo'yib yuborilsa (1)
    digitalWrite(ledPin, LOW);  // LED o'chadi
  }
}

Interaktiv Kartochkalar

INPUT_PULLUP da bosilganda nima o'qiladi?

Javobni ko'rish uchun aylantiring

LOW (0 qiymat)

Chunki tugma bosilganda pin to'g'ridan-to'g'ri GND (0V) ga tutashadi.

Serial.begin(9600) vazifasi nima?

Javobni ko'rish uchun aylantiring

Aloqa Kanalini Ochish

Arduino va kompyuter o'rtasida soniyasiga 9600 bit tezlikda ketma-ket port aloqasini yoqadi.

Tezkor Test Savoli

Nima uchun ochiq qolgan raqamli kirish pini "suzuvchi pin" (floating pin) deb ataladi?
A) U suvga tushib ketgani sababli
B) U faqat yuqori kuchlanishda ishlagani uchun
C) Aniq kuchlanishga ulanmagani sababli tasodifiy 0 va 1 qiymatlarini o'qigani uchun
D) Undagi LED sekin miltillagani uchun
04

Xulosa va Keyingi Qadam

3-hafta 8-dars yakunlari

Bugungi Darsda Nimani O'rgandik?

Push-Button

4 kontaktli tugma tuzilishi va uning kirish (INPUT) qurilmasi sifatidagi vazifasini o'rgandik.

INPUT_PULLUP

Suzuvchi pin muammosini ichki tortuvchi rezistor orqali oson bartaraf etishni o'zlashtirdik.

Serial Monitor

Tugma holatini kompyuter ekranida jonli ko'rish va if-else sharti bilan LEDni yoqishni bajardik.