Modelni yig‘ish uchun bizga kerak: • Arduino platasi
• Panel (doska)
• 14 ta "dada-dada" simlari
• LEDlar
• rezistorlar.
• potansiometr
Kod yozish: Arduino IDE yoki boshqa dasturlash muhitida quyidagi kod:
const int ANALOG_PIN = A0; // Potensiometrning analog pin raqami const int DIGITAL_PIN = 9; // Yorug‘lik diodlarining digital pin raqami
void setup() { pinMode(DIGITAL_PIN, OUTPUT); // Serial.begin(9600); // Agar debug uchun kerak bo‘lsa aktivlashtirish mumkin }
void displayLEDs(int count) { for (int i = 0; i < 5; i++) { digitalWrite(DIGITAL_PIN, i < count); // So‘nggi LEDlar soniga qarab yorug‘likni yoqish yokio‘chirish delay(50); // Kutilayotgan vaqt } } Bu kodda, ANALOG_PINo‘zgaruvchisi potensiometrning analog pinini, DIGITAL_PIN esa yorug‘lik diodlarini boshqarish uchun digital pinini ifodalaydi. analogRead() funksiyasi orqali potensiometrning qiymatinio‘qiyapti va map() funksiyasi orqali potensiometr qiymatini LEDlar sonigao‘zgartiradi. displayLEDs() funksiyasi esa LEDlarni boshqaradi.
Kodni yuklash va ishga tushirish: Tuzilgan kodni Arduinoga yuklab, tizimni ishga tushiring. Potensiometrni aylantirib ko‘rish orqali yorug‘lik diodlarining soninio‘zgartirishingiz mumkin.
Shu kodnio‘zgartirib yorug‘lik diodlarining sonini va qo‘llanishnio‘ziga moso‘zgartirishingiz mumkin.
Kod yozish: Quyidagi Arduino kodi 8 ta yorug‘lik diodni potensiometr orqali boshqaradi:
const int ANALOG_PIN = A0; // Potensiometrning analog pin raqami const int NUM_LEDS = 8; // Diodlar soni const int LED_PINS[NUM_LEDS] = {2, 3, 4, 5, 6, 7, 8, 9}; // Diodlar uchun pinlar void setup() { for (int i = 0; i < NUM_LEDS; i++) { pinMode(LED_PINS[i], OUTPUT); // Diode uchun pinlarni chiqarishga qo‘yish } } void loop() { int potValue = analogRead(ANALOG_PIN); // Potensiometr qiymatinio‘qish int ledCount = map(potValue, 0, 1023, 1, NUM_LEDS); // Potensiometr qiymatini diodlar sonigao‘zgartirish displayLEDs(ledCount); // Diodlarni boshqarish funksiyasini chaqirish delay(100); // Kutilayotgan vaqt } void displayLEDs(int count) { for (int i = 0; i < NUM_LEDS; i++) { digitalWrite(LED_PINS[i], i < count); // Diode yorug‘likni yoqish yokio‘chirish } }