Raqamli kirish (Digital Input), Push-button mexanikasi, INPUT_PULLUP va Serial Monitor
9-sinfIoT3-hafta ยท 8-darsArduino tashqi dunyodan qanday ma'lumot oladi?
Arduino tashqi qurilmalarga signal yuboradi: LEDni yoqish, tovush chiqarish, motor aylantirish.
Biz mikrokontrollerga buyruq beramiz, u ijro etadi.
Arduino tashqi sensorlar va tugmalardan ma'lumot qabul qiladi.
Tugma bosildimi? Eshik ochildimi? Xona qorong'imi?
Mikrokontroller atrof-muhitni "his qiladi".
Tasodifiy elektromagnit to'lqinlardan himoyalanish siri
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!
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.
Arduino va kompyuter o'rtasida ma'lumot almashish
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
}
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
}
}
Javobni ko'rish uchun aylantiring
Chunki tugma bosilganda pin to'g'ridan-to'g'ri GND (0V) ga tutashadi.
Javobni ko'rish uchun aylantiring
Arduino va kompyuter o'rtasida soniyasiga 9600 bit tezlikda ketma-ket port aloqasini yoqadi.
3-hafta 8-dars yakunlari
4 kontaktli tugma tuzilishi va uning kirish (INPUT) qurilmasi sifatidagi vazifasini o'rgandik.
Suzuvchi pin muammosini ichki tortuvchi rezistor orqali oson bartaraf etishni o'zlashtirdik.
Tugma holatini kompyuter ekranida jonli ko'rish va if-else sharti bilan LEDni yoqishni bajardik.