Katse 1;2

void setup()

{

  // pinMode() määrab töörežim

  pinMode(13, OUTPUT);   // 13-pini number, INPUT/OUTPUT(Sisend/Väljund).

}

void loop()

{

  digitalWrite(13, HIGH);   // Lülita sisse

  delay(1000);              // Ootab 1 sek  

  digitalWrite(13, LOW);    // Lülita välja

  delay(1000);              // Ootab 1 sek

}

void setup() – Это функция, которая выполняется один раз при запуске или перезагрузке микроконтроллера. Она используется для настройки начальных параметров. // See on funktsioon, mis käivitub üks kord mikrokontrolleri käivitamisel või taaskäivitamisel. Seda kasutatakse algsete parameetrite seadistamiseks.

pinMode(13, OUTPUT); – Устанавливает 13-й пин на плате Arduino как выход (OUTPUT). Это значит, что на этом пине можно отправлять сигнал (например, включить или выключить светодиод). // Seadistab Arduino plaadi viigu 13 väljundiks (OUTPUT). See tähendab, et sellele viigule saab saata signaali (nt LED-i sisse- või väljalülitamine).

void loop() – Эта функция выполняется бесконечно в цикле после того, как завершена функция setup(). Весь основной код программы выполняется внутри этой функции. // Seda funktsiooni täidetakse lõputult tsüklis pärast funktsiooni setup() lõpetamist. Kogu programmi põhikood käivitatakse selle funktsiooni sees.

digitalWrite(13, HIGH); – Устанавливает 13-й пин в состояние HIGH (высокий уровень), что означает подачу напряжения на этот пин (например, включение светодиода). // Seadistab viigu 13 HIGH, mis tähendab, et sellele viigule rakendatakse pinget (nt LED-i sisselülitamine).

delay(1000); – Ожидает 1000 миллисекунд (или 1 секунду), прежде чем продолжить выполнение программы // Ootab 1000 millisekundit (või 1 sekund) enne programmi täitmise jätkamist.

digitalWrite(13, LOW); – Устанавливает 13-й пин в состояние LOW (низкий уровень), что означает отключение питания на этом пине (выключение светодиода). // Seadistab viigu 13 LOW, mis tähendab, et selle viigu toide on välja lülitatud (LED on välja lülitatud).

Lõpptulemus / Итог : Код включает и выключает светодиод, подключенный к пину 13, с интервалом в 1 секунду, создавая мигающий эффект. // Kood lülitab viiguga 13 ühendatud LED-i sisse ja välja 1 sekundi tagant, tekitades vilkumisefekti.

—————————————————————————————————————-

const int RED_PIN = 11;

const int GREEN_PIN = 9;

const int BLUE_PIN = 10;

int DISPLAY_TIME = 100;  // värvimuutuse kiirus

void setup()

{

  pinMode(RED_PIN, OUTPUT);

  pinMode(GREEN_PIN, OUTPUT);

  pinMode(BLUE_PIN, OUTPUT);

}

void loop()

{

mainColors();

showSpectrum();

}

void mainColors()

{

// Kõik LEDid on välja lülitatud

  digitalWrite(RED_PIN, LOW);

  digitalWrite(GREEN_PIN, LOW);

  digitalWrite(BLUE_PIN, LOW);

 delay(1000);

//Põleb punane

  digitalWrite(RED_PIN, HIGH);

  digitalWrite(GREEN_PIN, LOW);

  digitalWrite(BLUE_PIN, LOW);

  delay(1000);

// Põleb roheline

  digitalWrite(RED_PIN, LOW);

  digitalWrite(GREEN_PIN, HIGH);

  digitalWrite(BLUE_PIN, LOW);

  delay(1000);

// Sinine on sisse lülitatud

  digitalWrite(RED_PIN, LOW);

  digitalWrite(GREEN_PIN, LOW);

  digitalWrite(BLUE_PIN, HIGH);

  delay(1000);

// Kollane.

  digitalWrite(RED_PIN, HIGH);

  digitalWrite(GREEN_PIN, HIGH);

  digitalWrite(BLUE_PIN, LOW);

  delay(1000);

// Lilla

  digitalWrite(RED_PIN, LOW);

  digitalWrite(GREEN_PIN, HIGH);

  digitalWrite(BLUE_PIN, HIGH);

  delay(1000);

//Roosa

  digitalWrite(RED_PIN, HIGH);

  digitalWrite(GREEN_PIN, LOW);

  digitalWrite(BLUE_PIN, HIGH);

  delay(1000);

//Valge ehk kõik on sisse lülitatud

  digitalWrite(RED_PIN, HIGH);

  digitalWrite(GREEN_PIN, HIGH);

  digitalWrite(BLUE_PIN, HIGH);

  delay(1000);

}

// Vikerkaar. 

void showSpectrum()

{

  int x;

  for (x = 0; x < 768; x++)

  {

    showRGB(x);  // 

    delay(10);   // paus 0,001 sek

  }

}

// ShowRGB()  põhivärvid: 

// 0 = punane 

// 255 = roheline

// 511 = sinine

// 767 = jälle punane 

void showRGB(int color)

{

  int redIntensity;

  int greenIntensity;

  int blueIntensity;

  if (color <= 255)                

  {

    redIntensity = 255 - color;    // lülitakse välja punane

    greenIntensity = color;        // lülitakse sisse roheline

    blueIntensity = 0;             // sinine on välja lülitatud

  }

  else if (color <= 511)          

  {

    redIntensity = 0;                     // punane on välja lülitatud

    greenIntensity = 255 - (color - 256); 

    blueIntensity = (color - 256);        

  }

  else if (color >= 512)             

  {

    redIntensity = (color - 512);        

    greenIntensity = 0;                  

    blueIntensity = 255 - (color - 512);  

  }

  analogWrite(RED_PIN, redIntensity); // punase LED´i sujuv ümberlülitamine

  analogWrite(BLUE_PIN, blueIntensity);

  analogWrite(GREEN_PIN, greenIntensity);

}

const int RED_PIN = 11; – Определяет пин для красного цвета светодиода, подключенного к пину 11 на плате Arduino. // Määratleb punase värvi LED-i viigu, mis on ühendatud Arduino plaadi viiguga 11.

const int GREEN_PIN = 9; – Определяет пин для зеленого цвета светодиода, подключенного к пину 9 на плате Arduino. // Määratleb rohelise värvi LED-i viigu, mis on ühendatud Arduino plaadi viiguga 9.

const int BLUE_PIN = 10; – Определяет пин для синего цвета светодиода, подключенного к пину 10 на плате Arduino. // Määratleb sinise värvi LED-i viigu, mis on ühendatud Arduino plaadi viiguga 10.

int DISPLAY_TIME = 100; – Задает скорость смены цветов (пауза между переключениями) // Määrab värvimuutuse kiiruse (paus lülituste vahel).

void setup() – Функция выполняется один раз при старте или перезагрузке. // Funktsioon käivitatakse üks kord käivitamisel või taaskäivitamisel.

pinMode(RED_PIN, OUTPUT); – Устанавливает пин для красного светодиода как выход (OUTPUT) // Seadistab punase LED-i viigu väljundiks (OUTPUT).

pinMode(GREEN_PIN, OUTPUT); – Устанавливает пин для зеленого светодиода как выход (OUTPUT). // Seadistab rohelise LED-i viigu väljundiks (OUTPUT).

pinMode(BLUE_PIN, OUTPUT); – Устанавливает пин для синего светодиода как выход (OUTPUT). // Seadistab sinise LED-i viigu väljundiks (OUTPUT).

void loop() – Эта функция выполняется бесконечно, после завершения setup() / Seda funktsiooni täidetakse lõputult pärast setup() lõpetamist.

mainColors(); – Вызывает функцию mainColors(), которая управляет базовыми цветами светодиода. // Kutsub funktsiooni mainColors(), mis kontrollib LED-i põhivärve.

showSpectrum(); – Вызывает функцию showSpectrum(), которая создает эффект радужного спектра. // Kutsub showSpectrum(), mis loob vikerkaare spektri efekti.

digitalWrite(RED_PIN, LOW); / digitalWrite(GREEN_PIN, LOW); / digitalWrite(BLUE_PIN, LOW); – Выключает красный, зеленый, синий диод // Lülitab välja punase, rohelise ja sinise dioodi.

delay(1000); – Задержка 1 секунда перед переключением на следующий цвет. // Viivitus 1 sekund enne järgmisele värvile üleminekut.

for (x = 0; x < 768; x++) – Цикл, который выполняется 768 раз, это количество шагов для создания плавного перехода между цветами. // 768 korda sooritatud tsükkel on sammude arv, et luua sujuv üleminek värvide vahel.

showRGB(x); – Вызов функции showRGB(x) для отображения цвета в зависимости от текущего значения переменной x. // Kutsuge funktsiooni showRGB(x), et kuvada värve sõltuvalt muutuja x praegusest väärtusest.

if (color <= 255) – Если значение color от 0 до 255, то увеличивается интенсивность зеленого цвета, а красный уменьшается, создавая плавный переход от красного к зеленому. // Kui värvi väärtus jääb vahemikku 0-255, suureneb rohelise intensiivsus ja väheneb punane, tekitades sujuvat üleminekut punasest rohelisse.

else if (color <= 511) – Если значение color от 256 до 511, то увеличивается интенсивность синего цвета и уменьшается интенсивность зеленого. // Kui värvi väärtus jääb vahemikku 256-511, suureneb sinise intensiivsus ja väheneb rohelise intensiivsus.

else if (color >= 512) – Если значение color от 512 до 767, то увеличивается интенсивность красного цвета, а синий уменьшается, создавая переход от синего к красному. // Kui värvi väärtus on 512 kuni 767, suureneb punase intensiivsus ja väheneb sinine, tekitades ülemineku sinisest punasesse.

analogWrite(RED_PIN, redIntensity); / analogWrite(GREEN_PIN, greenIntensity); / analogWrite(BLUE_PIN, blueIntensity); – Подает на красный,зеленый и синий пин значение интенсивности цвета. // Väljundab värvi intensiivsuse väärtuse punasele, rohelisele ja sinisele viigule.

Lõpptulemus / Итог : Код управляет RGB-светодиодом, создавая разные цвета (красный, зеленый, синий, желтый, фиолетовый, розовый, белый) и плавный переход через весь спектр цвета, создавая эффект радуги. // Kood juhib RGB LED-i, mis loob erinevaid värve (punane, roheline, sinine, kollane, lilla, roosa, valge) ja sujuvat üleminekut kogu värvispektri ulatuses, tekitades vikerkaarefekti.