Katse -LED dioodid ja RGB LED-
1)Схема которая дает светодиоду моргать с дилеем 1000 милесекунд
Используется: 1 LED; 1 резистор 220V; 3 провода

// void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); // Wait for 1000 millisecond(s) digitalWrite(LED_BUILTIN, LOW); delay(1000); // Wait for 1000 millisecond(s)
2) В этой работе лампочка изначально резко моргает разными цветами, а после начинает плавно переливаться
Используется: 1 LED RGB; 3 резистора 220V; 5 проводов

// C++ code // 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); } void showSpectrum() { int x; for (x = 0; x < 768; x++) { showRGB(x); // delay(10); // paus 0,001 sek } } 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); }
3) Светофор
В моем светофоре одновременно горят 2 светодиода и когда время для перехода дороги заканчиваются действующий зеленый свет начинает моргать, после этого горит желтый свет и светофоры меняются цветами.
Этот цикл проходит 3 раза после чего начинается ночной режим в котором желтый цвет моргает
Используется: 5 LED; 5 резисторов 220V; 7 проводов

// C++ code // void setup() { pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode(9, OUTPUT); } void loop() { day(); night(); } void day() { for (int j = 0; j < 3; j++) { digitalWrite(13, HIGH); digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, HIGH); delay(4000); digitalWrite(9, HIGH); delay(1000); digitalWrite(9, LOW); delay(1000); digitalWrite(9, HIGH); delay(1000); digitalWrite(9, LOW); delay(1000); digitalWrite(9, HIGH); delay(1000); digitalWrite(13, LOW); digitalWrite(12, HIGH); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); delay(1500); digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(11, HIGH); digitalWrite(10, HIGH); digitalWrite(9, LOW); delay(4000); digitalWrite(11, HIGH); delay(1000); digitalWrite(11, LOW); delay(1000); digitalWrite(11, HIGH); delay(1000); digitalWrite(11, LOW); delay(1000); digitalWrite(11, HIGH); delay(1000); } } void night() { for (int j = 0; j < 3; j++) { digitalWrite(13, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(13, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(13, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(13, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); digitalWrite(12, HIGH); digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(1000); } }