рд╕рд╛рдЗрдмрд░ рд╕рд┐рдВрдбреНрд░реЗрд▓рд╛ рдХреЗ рд▓рд┐рдП рдореЗрдХрдЕрдкред Arduino рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ред рдПрд▓рдИрдбреА рдкрд▓рдХреЗрдВ

рдЫрд╡рд┐

рдкрд╣рд▓реА рдмрд╛рд░, рд╕реИрди рдлреНрд░рд╛рдВрд╕рд┐рд╕реНрдХреЛ рдореЗрдВ рдирд┐рд░реНрдорд╛рддрд╛ рдлреЗрдпрд░ рдореЗрдВ рдбрд┐рдЬрд╛рдЗрдирд░ рдЯреАрдПрди рдлрд╛рдо рджреНрд╡рд╛рд░рд╛ рдПрд▓рдИрдбреА рдкрд▓рдХреЗрдВ рджрд┐рдЦрд╛рдИ рдЧрдИрдВред рд╡рд╣ рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдерд╛ред рдЦреИрд░, рдФрд░ рд▓рдЧрднрдЧ рддреБрд░рдВрдд рдЕрд▓реАрдмрд╛рдмрд╛ рдЧреБрдлрд╛ рдореЗрдВ, рдЪреАрдиреА рд▓реБрдЯреЗрд░реЛрдВ рдиреЗ 400 рдпрд╛ 300 рд░реВрдмрд▓ рдХреЗ рд▓рд┐рдП рдПрдирд╛рд▓реЙрдЧреНрд╕ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред

рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ, рдпреЗ рдмрд╛рд░рд╣ рдПрд▓ рдИ рдбреА рдХреЗ рд╕рд╛рде рджреЛ рдкрддрд▓реЗ рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рд╣реИрдВ рдЬреЛ рдкрддрд▓реА рдХреЗрдмрд▓ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдмреИрдЯрд░реА рдХреЗ рд╕рд╛рде рдирд┐рдпрдВрддреНрд░рдг рдмреЛрд░реНрдб рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред рдирд┐рдпрдорд┐рдд рдпрд╛ рдЭреВрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдЧреЛрдВрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрдордХрджрд╛рд░ рдкрд▓рдХреЗрдВ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВ, рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдмреИрдЯрд░реА рдмрд╛рд▓реЛрдВ рдореЗрдВ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИрдВред рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди! рдпрджрд┐ рдЖрдк рдмрд░реМрдиреА рдмреЛрд░реНрдб рдХреЛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ 12 рдПрд▓ рдИ рдбреА рд╣реИрдВ, рдФрд░ рд▓реВрдк рдореЗрдВ рдХреЗрд╡рд▓ рддреАрди рддрд╛рд░ рд╣реИрдВред рдЗрд╕реА рд╕рдордп, рдПрд▓рдИрдбреА рди рдХреЗрд╡рд▓ рдкреНрд░рдХрд╛рд╢ рдпрд╛ рдЭрдкрдХреА рд▓реЗрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд░реЛрд╢рдиреА рдХреА рддрд░рд╣ рднреА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд░рд╣ рдЧрдпрд╛ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдРрд╕рд╛ рдХреИрд╕реЗ рдХрд┐рдпрд╛ред рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╕рдВрд╢реЛрдзрд┐рддред рдФрд░, рдзреАрдореА рдЧрддрд┐ рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдПрд▓рдИрдбреА рдЬреЛрдбрд╝реЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рднрд╛рд╡ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рддреАрди рддрд╛рд░реЛрдВ рдкрд░ рдЫрд╣ рдПрд▓ рдИ рдбреА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рддреБрд░рдВрдд рд╕рдВрдХреБрдЪрд┐рдд рд╣реЛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рддреАрди! рддреАрди рдореЗрдВ рдЫрд╣! рдПрдХ рдмрд╛рд░ рдлрд┐рд░ - рддреАрди рдореЗрдВ рдЫрд╣ред рдФрд░ рдЕрдзрд┐рдХ ... рдлрд┐рд░ рдЙрд╕рдиреЗ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рдпрд╛ рдФрд░ рдЬрд╡рд╛рдм рдХрд┐рд╕реА рддрд░рд╣ рдЕрдкрдиреЗ рдЖрдк рд╕рд╛рдордиреЗ рдЖрдпрд╛ред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ - рддреАрди рддрддреНрд╡реЛрдВ рдХреЗ рд╕рднреА рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕рдВрдЦреНрдпрд╛ 6 рд╣реИ!

рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд▓реВрдк рдкрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдиреЗ рддреАрди рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдЫрд╛рдВрдЯрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рддреАрди рдХрдВрдбрдХреНрдЯрд░ рд╣реИрдВ: рд╢реВрдиреНрдп, рдПрдХ рдФрд░ рддреАрд╕рд░рд╛ рд░рд╛рдЬреНрдпред рд╣рдореЗрдВ рдЫрд╣ рд╕рдВрдпреЛрдЬрди / рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдореЗрдВ рдЫрд╣ рдПрд▓рдИрдб рдореЗрдВ рд╕реЗ рдПрдХ рдЪрд╛рд▓реВ рд╣реИред рдпрджрд┐ рд╡реЗ рдЗрд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреА 2 рдПрд▓рдИрдбреА рдХреЛ рд░реЛрд╢рди рдХрд░реЗрдВред рдП-рд╢реВрдиреНрдп рдкрд░, рдмреА рдкрд░ - рддреАрд╕рд░рд╛ рд░рд╛рдЬреНрдп, рд╕реА-рдпреВрдирд┐рдЯ рдкрд░ред рдХреЗрд╡рд▓ рдбреА 2 рдПрд▓рдИрдбреА рдЪрд╛рд▓реВ рд╣реИ!

рдЕрдм рдЪрд╛рд▓реВ рд╣реИред рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╢реВрдиреНрдп рдФрд░ рдПрдХ рдЖрд╕рд╛рди рд╣реИред рдФрд░ рддреАрд╕рд░рд╛ рд░рд╛рдЬреНрдп? рдФрд░ рднреА рдЖрд╕рд╛рдиред рдЗрдирдкреБрдЯ рдореЛрдб рд╕реЗрдЯ рдХрд░реЗрдВред рдЕрдм рдЙрдЪреНрдЪ рдкреНрд░рддрд┐рдмрд╛рдзрд╛ рдЗрдирдкреБрдЯ, рдЬрд┐рд╕реЗ рдпрд╛ рддреЛ рд╢реВрдиреНрдп рдпрд╛ рдПрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рд╕рд░реНрдХрд┐рдЯ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдЧрд▓рд╛ рдХреЛрдб рд╣реИ, рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛, рдПрд▓ рдИ рдбреА рдХреА рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛ред рд╣рдо рдЕрдВрдд рдореЗрдВ рд░рдирд┐рдВрдЧ рд▓рд╛рдЗрдЯреНрд╕, рдмреНрд▓рд┐рдВрдХ, рд╕реНрдкрд╛рд░реНрдХрд▓, рдмреБрдЭрд╛рддреЗ рд╣реИрдВред
рдиреАрдЪреЗ Arduino рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджреЛ рдкрд▓рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрд▓ рдИ рдбреА рдХреЗ рдЫрд╣ рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдкреНрд░рднрд╛рд╡ рд╣реИрдВред

рд╣рдо рдЦреЛрд▓рдХрд░ рджреЗрдЦрддреЗ рд╣реИрдВ
#include <PinChangeInt.h> #define LEFT_PIN_1 2 #define LEFT_PIN_2 3 #define LEFT_PIN_3 4 #define RIGHT_PIN_1 5 #define RIGHT_PIN_2 6 #define RIGHT_PIN_3 7 #define KEY_PIN 8 #define EFFECT_0 0 #define EFFECT_1 1 #define EFFECT_2 2 #define EFFECT_3 3 #define EFFECT_4 4 #define EFFECT_5 5 #define EFFECT_6 6 #define EFFECT_7 7 #define EFFECT_LAST EFFECT_7 uint8_t EffectCnt = 0; void setup() { pinMode(LEFT_PIN_1, OUTPUT); pinMode(LEFT_PIN_2, OUTPUT); pinMode(LEFT_PIN_3, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_2, OUTPUT); pinMode(RIGHT_PIN_3, OUTPUT); pinMode(KEY_PIN, INPUT); digitalWrite(KEY_PIN, HIGH); PCintPort::attachInterrupt(KEY_PIN, &Key_ISR, FALLING); } //------------------------------------------------------ void loop() { void (*EFFECTS[])(void) = { Lashes_0, Lashes_1, Lashes_2, Lashes_3, Lashes_4, Lashes_5, Lashes_6, Lashes_7, }; (*EFFECTS[EffectCnt])();//EffectCnt delay(100); Lashes_Off(); while(!digitalRead(KEY_PIN)); delay(300); PCintPort::attachInterrupt(KEY_PIN, &Key_ISR, FALLING); } //------------------------------------------------------ void Lashes_0() { const uint16_t ViewDelay = 5; while(EffectCnt == EFFECT_0) { digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_2, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); } } //------------------------------------------------------ void Lashes_1() { const uint16_t ViewDelay = 5; const uint8_t LashesON = 27; const uint16_t PauseDelay = ViewDelay * LashesON * 3; while(EffectCnt == EFFECT_1) { for (uint8_t i = 0; i < LashesON; i++) { digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_2, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); } Lashes_Off(); delay(PauseDelay); } } //------------------------------------------------------ void Lashes_2() { const uint16_t ViewDelay = 5; const uint8_t LashesON = 17; while(EffectCnt == EFFECT_2) { for (uint8_t i = 0; i < LashesON; i++) { digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_2, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); } Lashes_Off(); for (uint8_t i = 0; i < LashesON; i++) { digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(LEFT_PIN_3, HIGH); delay(ViewDelay); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); delay(ViewDelay); } Lashes_Off(); } } //------------------------------------------------------ void Lashes_3() { const uint16_t ViewDelay = 70; pinMode(LEFT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); pinMode(LEFT_PIN_2, INPUT); pinMode(RIGHT_PIN_2, INPUT); pinMode(LEFT_PIN_3, OUTPUT); pinMode(RIGHT_PIN_3, OUTPUT); while(EffectCnt == EFFECT_3) { digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); pinMode(LEFT_PIN_1, INPUT); pinMode(RIGHT_PIN_1, INPUT); pinMode(LEFT_PIN_2, OUTPUT); pinMode(RIGHT_PIN_2, OUTPUT); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(RIGHT_PIN_2, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); pinMode(LEFT_PIN_3, INPUT); pinMode(RIGHT_PIN_3, INPUT); pinMode(LEFT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(RIGHT_PIN_2, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_2, HIGH); //  delay(ViewDelay); digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(RIGHT_PIN_2, LOW); delay(ViewDelay); pinMode(LEFT_PIN_1, INPUT); pinMode(RIGHT_PIN_1, INPUT); pinMode(LEFT_PIN_3, OUTPUT); pinMode(RIGHT_PIN_3, OUTPUT); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); pinMode(LEFT_PIN_2, INPUT); pinMode(RIGHT_PIN_2, INPUT); pinMode(LEFT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); } } //------------------------------------------------------ void Lashes_4() { const uint16_t ViewDelay = 30; randomSeed(analogRead(0)); while(EffectCnt == EFFECT_4) { uint8_t randNumber = random(0, 7); switch(randNumber) { case 0: digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(LEFT_PIN_3, HIGH); break; case 1: digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); break; case 2: digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(LEFT_PIN_2, HIGH); break; case 3: digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_2, HIGH); break; case 4: digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, HIGH); break; case 5: digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); break; } delay(ViewDelay); Lashes_Off(); } } //------------------------------------------------------ void Lashes_5() { const uint8_t DelayMin = 1; const uint8_t DelayMax = 25; const uint8_t LashesON = 6; int8_t DelayVal = DelayMin; bool Direction = false; while(EffectCnt == EFFECT_5) { for (uint8_t i = 0; i < LashesON; i++) { digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_2, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(DelayVal); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, LOW); delay(DelayVal); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(DelayVal); } if (!Direction) { DelayVal++; if (DelayVal == DelayMax + 1) { DelayVal = DelayMax - 1; Direction = true; } } else { DelayVal--; if (DelayVal == DelayMin - 1) { DelayVal = DelayMin + 1; Direction = false; } } } } //------------------------------------------------------ void Lashes_6() { const uint16_t ViewDelay = 5; const uint8_t LashesON_RED = 45; const uint8_t LashesON_RED_BLUE = LashesON_RED; pinMode(LEFT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); pinMode(LEFT_PIN_2, INPUT); pinMode(RIGHT_PIN_2, INPUT); pinMode(LEFT_PIN_3, OUTPUT); pinMode(RIGHT_PIN_3, OUTPUT); for (uint8_t i = 0; i < LashesON_RED; i++) { digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); } for (uint8_t i = 0; i < LashesON_RED_BLUE; i++) { pinMode(LEFT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); pinMode(LEFT_PIN_2, INPUT); pinMode(RIGHT_PIN_2, INPUT); pinMode(LEFT_PIN_3, OUTPUT); pinMode(RIGHT_PIN_3, OUTPUT); digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); pinMode(LEFT_PIN_1, INPUT); pinMode(RIGHT_PIN_1, INPUT); pinMode(LEFT_PIN_2, OUTPUT); pinMode(RIGHT_PIN_2, OUTPUT); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(RIGHT_PIN_2, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); } pinMode(LEFT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); while(EffectCnt == EFFECT_6) { digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_2, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); } } //------------------------------------------------------ void Lashes_7() { const uint16_t ViewDelay = 70; pinMode(LEFT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); pinMode(LEFT_PIN_2, INPUT); pinMode(RIGHT_PIN_3, INPUT); pinMode(LEFT_PIN_3, OUTPUT); pinMode(RIGHT_PIN_2, OUTPUT); while(EffectCnt == EFFECT_7) { digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(RIGHT_PIN_2, HIGH); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_2, LOW); delay(ViewDelay); pinMode(LEFT_PIN_1, INPUT); pinMode(LEFT_PIN_2, OUTPUT); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(LEFT_PIN_3, LOW); pinMode(RIGHT_PIN_1, INPUT); pinMode(RIGHT_PIN_3, OUTPUT); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); pinMode(LEFT_PIN_3, INPUT); pinMode(RIGHT_PIN_2, INPUT); pinMode(LEFT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, LOW); //  delay(ViewDelay); digitalWrite(LEFT_PIN_1, HIGH); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(RIGHT_PIN_3, HIGH); delay(ViewDelay); pinMode(LEFT_PIN_1, INPUT); pinMode(RIGHT_PIN_1, INPUT); pinMode(LEFT_PIN_3, OUTPUT); pinMode(RIGHT_PIN_2, OUTPUT); digitalWrite(LEFT_PIN_3, HIGH); digitalWrite(RIGHT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, LOW); delay(ViewDelay); digitalWrite(LEFT_PIN_2, HIGH); digitalWrite(RIGHT_PIN_3, HIGH); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_2, LOW); delay(ViewDelay); pinMode(LEFT_PIN_2, INPUT); pinMode(RIGHT_PIN_3, INPUT); pinMode(LEFT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(RIGHT_PIN_1, HIGH); digitalWrite(LEFT_PIN_3, HIGH); } } //---------------------------------------- void Key_ISR() { EffectCnt++; if (EffectCnt > EFFECT_LAST) EffectCnt = EFFECT_0; PCintPort::detachInterrupt(KEY_PIN); } //---------------------------------------- void Lashes_Off() { pinMode(LEFT_PIN_1, OUTPUT); pinMode(LEFT_PIN_2, OUTPUT); pinMode(LEFT_PIN_3, OUTPUT); pinMode(RIGHT_PIN_1, OUTPUT); pinMode(RIGHT_PIN_2, OUTPUT); pinMode(RIGHT_PIN_3, OUTPUT); digitalWrite(LEFT_PIN_1, LOW); digitalWrite(LEFT_PIN_2, LOW); digitalWrite(LEFT_PIN_3, LOW); digitalWrite(RIGHT_PIN_1, LOW); digitalWrite(RIGHT_PIN_2, LOW); digitalWrite(RIGHT_PIN_3, LOW); } 


рдФрд░ рдпрд╣ рд▓рдбрд╝рдХреА рд╡реЗрд░реЛрдирд┐рдХрд╛ рдЗрди рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред


рд╢рд╛рдпрдж, рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреНрд░рдмрдВрдзрди рдкрджреНрдзрддрд┐ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ рдФрд░ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред Arduins рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП!

Source: https://habr.com/ru/post/hi414237/


All Articles