Ardunio'da iki ayrı kod nasıl birleştirilir?

ArthurMorgan

Hectopat
Katılım
10 Kasım 2021
Mesajlar
188
Daha fazla  
Cinsiyet
Erkek
Kod:
void customBreath(int pin, int minBrightness, int maxBrightness) {

    int brightnessIncrement = 5;

    int brightness = minBrightness;

    while (brightness <= maxBrightness) {

        analogWrite(pin, brightness);

        delay(10);

        brightness += 2; // Artış miktarını ayarlayabilirsiniz

    }

    while (brightness >= minBrightness) {

        analogWrite(pin, brightness);

        delay(10);

        brightness -= 2; // Azalış miktarını ayarlayabilirsiniz

    }

}

void setup() {

    // Pin modlarını ayarla

    pinMode(9, OUTPUT);

    pinMode(10, OUTPUT);

    pinMode(11, OUTPUT);

    pinMode(12, OUTPUT);

    pinMode(13, OUTPUT);

    // İlk iki pin'i yüksek yap

    digitalWrite(13, HIGH);

    digitalWrite(12, HIGH);

    // Döngü başlangıcı

    while (1) {

        // Adım 1-18: pin 9, 10, 11'i kontrol etmeden sadece pin 13 ve 12'yi nefes alma moduna al

        customBreath(13, 0, 255); // Pin 13'u nefes alacak şekilde ayarla

        customBreath(12, 0, 255); // Pin 12'yi nefes alacak şekilde ayarla

        // Devam eden adımları buraya ekleyin

    }

}

void loop() {

    // loop fonksiyonunu boş bırakın

}



Bu kod ve



void customDelay(int minDelay, int maxDelay) {

    int randomDelay = random(minDelay, maxDelay + 1);

    delay(randomDelay);

}

void setup() {

    // Pin modlarını ayarla

    pinMode(9, OUTPUT);

    pinMode(10, OUTPUT);

    pinMode(11, OUTPUT);

    pinMode(12, OUTPUT);

    pinMode(13, OUTPUT);

    // İlk iki pin'i yüksek yap

    digitalWrite(13, HIGH);

    digitalWrite(12, HIGH);

    // Döngü başlangıcı

    while (1) {

        // Adım 1

        digitalWrite(9, HIGH);

        customDelay(50, 200);

        // Adım 2

        digitalWrite(11, HIGH);

        customDelay(20, 150);

        // Adım 3

        digitalWrite(10, HIGH);

        customDelay(50, 220); // Pin 10'un yanma süresini uzat

        // Adım 4

        digitalWrite(9, LOW);

        customDelay(1, 5);

        // Adım 5

        digitalWrite(11, LOW);

        customDelay(10, 50);

        // Adım 6

        digitalWrite(10, HIGH);

        customDelay(5, 30);

        // Adım 7

        digitalWrite(9, HIGH);

        customDelay(5, 20);

        // Adım 8

        digitalWrite(11, HIGH);

        customDelay(10, 30);

        // Adım 9

        digitalWrite(10, LOW);

        customDelay(15, 40);

        // Adım 10

        digitalWrite(9, LOW);

        customDelay(5, 20);

        // Adım 11

        digitalWrite(11, LOW);

        customDelay(1, 5);

        // Adım 12

        digitalWrite(10, HIGH);

        customDelay(5, 15);

        // Adım 13

        digitalWrite(9, HIGH);

        customDelay(0, 20);

        // Adım 14

        digitalWrite(11, HIGH);

        customDelay(30, 50);

        // Adım 15

        digitalWrite(10, LOW);

        customDelay(30, 50);

        // Adım 16

        digitalWrite(9, LOW);

        customDelay(10, 30);

        // Adım 17

        digitalWrite(11, LOW);

        customDelay(15, 40);

        // Adım 18

        digitalWrite(10, HIGH);

        customDelay(5, 20);

        // Devam eden adımları buraya ekleyin

    }

}


Bu kodu birleştirmek istiyorum yani pin 11, 10 ve 9 sürekli rastgele yanıp sönerken aynı anda attığım ilk koddaki gibi pin 13 ve 12'nin nefes alma modunda olmasını istiyorum mümkün müdür?

void customBreath(int pin, int minBrightness, int maxBrightness) {
int brightnessIncrement = 5;
int brightness = minBrightness;
while (brightness <= maxBrightness) {
analogWrite(pin, brightness);
delay(10);
brightness += 2; // Artış miktarını ayarlayabilirsiniz
}
while (brightness >= minBrightness) {
analogWrite(pin, brightness);
delay(10);
brightness -= 2; // Azalış miktarını ayarlayabilirsiniz
}
}
void setup() {
// Pin modlarını ayarla
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
// İlk iki pin'i yüksek yap
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
// Döngü başlangıcı
while (1) {
// Adım 1-18: pin 9, 10, 11'i kontrol etmeden sadece pin 13 ve 12'yi nefes alma moduna al
customBreath(13, 0, 255); // Pin 13'u nefes alacak şekilde ayarla
customBreath(12, 0, 255); // Pin 12'yi nefes alacak şekilde ayarla
// Devam eden adımları buraya ekleyin
}
}
void loop() {
// loop fonksiyonunu boş bırakın
}


Bu kod ve


void customDelay(int minDelay, int maxDelay) {
int randomDelay = random(minDelay, maxDelay + 1);
delay(randomDelay);
}
void setup() {
// Pin modlarını ayarla
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
// İlk iki pin'i yüksek yap
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
// Döngü başlangıcı
while (1) {
// Adım 1
digitalWrite(9, HIGH);
customDelay(50, 200);
// Adım 2
digitalWrite(11, HIGH);
customDelay(20, 150);
// Adım 3
digitalWrite(10, HIGH);
customDelay(50, 220); // Pin 10'un yanma süresini uzat
// Adım 4
digitalWrite(9, LOW);
customDelay(1, 5);
// Adım 5
digitalWrite(11, LOW);
customDelay(10, 50);
// Adım 6
digitalWrite(10, HIGH);
customDelay(5, 30);
// Adım 7
digitalWrite(9, HIGH);
customDelay(5, 20);
// Adım 8
digitalWrite(11, HIGH);
customDelay(10, 30);
// Adım 9
digitalWrite(10, LOW);
customDelay(15, 40);
// Adım 10
digitalWrite(9, LOW);
customDelay(5, 20);
// Adım 11
digitalWrite(11, LOW);
customDelay(1, 5);
// Adım 12
digitalWrite(10, HIGH);
customDelay(5, 15);
// Adım 13
digitalWrite(9, HIGH);
customDelay(0, 20);
// Adım 14
digitalWrite(11, HIGH);
customDelay(30, 50);
// Adım 15
digitalWrite(10, LOW);
customDelay(30, 50);
// Adım 16
digitalWrite(9, LOW);
customDelay(10, 30);
// Adım 17
digitalWrite(11, LOW);
customDelay(15, 40);
// Adım 18
digitalWrite(10, HIGH);
customDelay(5, 20);
// Devam eden adımları buraya ekleyin
}
}


Bu kodu birleştirmek istiyorum yani pin 11, 10 ve 9 sürekli rastgele yanıp sönerken aynı anda attığım ilk koddaki gibi pin 13 ve 12'nin nefes alma modunda olmasını istiyorum mümkün müdür?

Ve sürekli döngü halinde olmasını istiyorum.
 
Son düzenleyen: Moderatör:

Technopat Haberler

Yeni konular

Geri
Yukarı