Lights

Näidis 1

// C++ code
//
void setup()

{

// Функция pinMode() получает два значения, которые Вы передаете ей

// в круглых скобках, сразу после имени функции. Первое это цифра – номер

// порта, второе – слово INPUT(ВХОД) или OUTPUT(ВЫХОД).

pinMode(13, OUTPUT);

}

void loop()

{

digitalWrite(13, HIGH); // Включить светодиод

delay(1000); // Ожидание – 1 секунда

digitalWrite(13, LOW); // Выключить светодиод

delay(1000); // Ожидание – 1 секунда

}

Näidis 2

// C++ code
//
const int RED_PIN = 11;

const int GREEN_PIN = 9;

const int BLUE_PIN = 10;

int DISPLAY_TIME = 100; // переменная контролирует, на сколько быстро выполняется цикл по смене цветов в миллисекундах

void setup()

{

pinMode(RED_PIN, OUTPUT);

pinMode(GREEN_PIN, OUTPUT);

pinMode(BLUE_PIN, OUTPUT);

}

void loop()

{

// Мы создали функцию с именем mainColors (), которая проходит через все восемь цветов. Здесь мы только вызываем нашу функцию, Сам же код функции находится ниже.

mainColors();

// Эта функция включает и выключает отдельно каждый светодиод либо Вкл., либо Выкл. Если вы хотите получить больше чем восемь цветов, вам придется

// изменять еще и яркость каждого светодиода. Для этого можно воспользоваться

// функцию analogWrite(), – градация яркости от 0 до 255. Далее идет функция

// с именем showSpectrum (), которая плавно проследует через каждый из 8 цветов. ее, код находится ниже.

showSpectrum();

}

void mainColors()

{

// Выкл. – все светодиоды выключены

digitalWrite(RED_PIN, LOW);

digitalWrite(GREEN_PIN, LOW);

digitalWrite(BLUE_PIN, LOW);

delay(1000);

// Включаем КРАСНЫЙ – RED_PIN, HIGH.

digitalWrite(RED_PIN, HIGH);

digitalWrite(GREEN_PIN, LOW);

digitalWrite(BLUE_PIN, LOW);

delay(1000);

// Включаем ЗЕЛЕНЫЙ – GREEN_PIN, HIGH.

digitalWrite(RED_PIN, LOW);

digitalWrite(GREEN_PIN, HIGH);

digitalWrite(BLUE_PIN, LOW);

delay(1000);

// Включаем СИНИЙ – BLUE_PIN, HIGH.

digitalWrite(RED_PIN, LOW);

digitalWrite(GREEN_PIN, LOW);

digitalWrite(BLUE_PIN, HIGH);

delay(1000);

// Включаем ЖЕЛТЫЙ – RED и GREEN HIGH.

digitalWrite(RED_PIN, HIGH);

digitalWrite(GREEN_PIN, HIGH);

digitalWrite(BLUE_PIN, LOW);

delay(1000);

// БИРЮЗОВЫЙ – GREEN и BLUE

digitalWrite(RED_PIN, LOW);

digitalWrite(GREEN_PIN, HIGH);

digitalWrite(BLUE_PIN, HIGH);

delay(1000);

//РОЗОВЫЙ – RED и BLUE

digitalWrite(RED_PIN, HIGH);

digitalWrite(GREEN_PIN, LOW);

digitalWrite(BLUE_PIN, HIGH);

delay(1000);

//БЕЛЫЙ – все цвета HIGH (Вкл.)

digitalWrite(RED_PIN, HIGH);

digitalWrite(GREEN_PIN, HIGH);

digitalWrite(BLUE_PIN, HIGH);

delay(1000);

}

// Ниже приведен код еще двух функций: ShowSpectrum () и showRGB(). ShowRGB () – выводит один цвет на светодиод. ShowSpectrum () выводит все цвета по очереди – радуга.

void showSpectrum()

{

int x;

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

{

showRGB(x);  // Вызов RGBspectrum() сновым значением x

delay(10);   // Пауза 10 ms (1/100 секунды)

}

}

// ShowRGB()

// Базовые цифры:

// 0 = чистый красный

// 255 = чистый зеленый

// 511 = чистый синий

// 767 = чистый красный (опять же)

void showRGB(int color)

{

int redIntensity;

int greenIntensity;

int blueIntensity;

if (color <= 255)

{

redIntensity = 255 - color;    // красный меняется из включенного на выключенный    

greenIntensity = color;        // зеленый меняется из выключенного на включенный

blueIntensity = 0;             // голубой всегда выключен

}

else if (color <= 511)

{

redIntensity = 0;                     // красный всегда выключен

greenIntensity = 255 - (color - 256); // зеленый от включенного к выключенному

blueIntensity = (color - 256);        // голубой от выключенного к включенному

}

else if (color >= 512)

{

redIntensity = (color - 512);         // красный выкл. К вкл.

greenIntensity = 0;                   // зеленый всегда выкл.

blueIntensity = 255 - (color - 512);  // голубой от вкл. К выкл.

}

analogWrite(RED_PIN, redIntensity);

analogWrite(BLUE_PIN, blueIntensity);

analogWrite(GREEN_PIN, greenIntensity);

}

Näidis VALGUSFOOR

Lambipirnide vahelduv vahetamine, näiteks valgusfoori puhul. On ka teine ​​režiim, kus töötab ainult kollane tuli.

Komponeendid:
Arduino Uno
Arendusplaat
LED
Resistor

Ühendamise skeem:

Programm:

// C++ code
//
void setup()
{
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(4, OUTPUT);
}
//määratud kõikidele tihvtidele nende ülesanded

void loop()
{
ValgusfoorDay(); // käivitamise funktsioon
}
void ValgusfoorDay()
{
for (int x = 0; x < 4; x++) // korrake silmust 4 korda
{
digitalWrite(13, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(4, LOW);
delay(1000); // ühe sekundi viivitus
digitalWrite(13, LOW);
digitalWrite(7, LOW);
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
digitalWrite(8, HIGH);
digitalWrite(4, HIGH);
delay(1000);
}
//LED-i sisse ja välja lülitamine
ValgusfoorNight(); //käivitage mõni muu funktsioon
}

void ValgusfoorNight()
{
digitalWrite(3, LOW);
digitalWrite(11, LOW);
for (int x = 0; x < 4; x++) // korrake silmust 4 korda
{
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
delay(1000);
}
}

https://www.tinkercad.com/things/4UtV6hCwVBU

Video:

Kasutamisvõimalused tavaelus.

Возможности применения такой технологии, на мой взгляд, вполне очевидны. Например: Логистика, Дорожное движение, Промышленность и тд.