Su ostukorv on hetkel tühi!
Töö kirjeldus:
Valguskett töö kolme režiimiga.
Kasutatud komponenid:
Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Juhtmed (11tk)
Takisti(6tk)
LED (6tk: 2 punane, 2 roheline, 2 sinine)
Töö protsess:
Ühendage dioodid, takisti ja juhtmed plaadile. Valgusahel töötab järgmiselt.
Valguslint ruumi või objekti kaunistamiseks, millel on 4 režiimi erinevate tulede koosmõjuga. Iga režiim sisaldab erinevat LED-värinat.
Valguskett-ide rakendamine:
Valgusketi kohaldamine. Ruumide valgustamiseks ja esemete kaunistamiseks. kasutatakse välistingimustes, äriettevõtetes, kodus.
Skeem:

Programm:
int sensorPin = 0; int one_redLED = 13; int one_greenLED = 12; int one_blueLED = 11; int two_redLED = 10; int two_greenLED = 9; int two_blueLED = 5; int thirdredLED = 5; int oneLEDsArray[] = { one_redLED, one_greenLED, one_blueLED }; int twoLEDsArray[] = { two_redLED, two_greenLED, two_blueLED }; int allLEDsArray[] = {one_redLED, one_greenLED, one_blueLED, two_redLED, two_greenLED, two_blueLED, two_blueLED, thirdredLED}; int sensorValue = 0; void blinkLED(int LED, int custDelay){ digitalWrite(LED, HIGH); delay(custDelay); digitalWrite(LED, LOW); } void turnFourColorsLEDs(int oneLED, int twoLED, int thirdLED, int fourthLED, bool Mode){ digitalWrite(oneLED, Mode); digitalWrite(twoLED, Mode); digitalWrite(thirdLED, Mode); digitalWrite(fourthLED, Mode); } void turnTwoColorsLEDs(int oneLED, int twoLED, bool Mode){ digitalWrite(oneLED, Mode); digitalWrite(twoLED, Mode); } void turnAllLEDs(bool Mode){ for (int i = 0; i < sizeof(oneLEDsArray) / sizeof(oneLEDsArray[0]);i++){ digitalWrite(oneLEDsArray[i], Mode); digitalWrite(twoLEDsArray[i], Mode); } digitalWrite(thirdredLED, Mode); } void oneMode(){ int customDelay = 500; turnAllLEDs(HIGH); delay(customDelay); turnAllLEDs(LOW); delay(customDelay); } void twoMode(){ int customDelay = 500; turnTwoColorsLEDs(one_redLED, two_redLED, HIGH); digitalWrite(thirdredLED, HIGH); digitalWrite(thirdredLED, HIGH); delay(customDelay); turnAllLEDs(LOW); turnTwoColorsLEDs(one_greenLED, two_greenLED, HIGH); turnTwoColorsLEDs(one_blueLED, two_blueLED, HIGH); delay(customDelay); turnAllLEDs(LOW); } void thirdMode(){ int customDelay = 1000; turnTwoColorsLEDs(one_redLED, two_redLED, HIGH); digitalWrite(thirdredLED, HIGH); delay(customDelay); turnTwoColorsLEDs(one_redLED, two_redLED, LOW); digitalWrite(thirdredLED, LOW); turnTwoColorsLEDs(one_greenLED, two_greenLED, HIGH); delay(customDelay); turnTwoColorsLEDs(one_greenLED, two_greenLED, LOW); delay(customDelay); turnTwoColorsLEDs(one_blueLED, two_blueLED, HIGH); delay(customDelay); turnAllLEDs(LOW); } void fourthMode(){ int customDelay = 400; for (int i = 0; i < 9; i++){ blinkLED(allLEDsArray[i], customDelay); } for (int i = 9; i > 1; i--){ blinkLED(allLEDsArray[i], customDelay); } } void fifthMode(){ int customDelay = 400; for (int i = 0; i < 9; i++){ int randomLED = random(1, 9); digitalWrite(allLEDsArray[randomLED], HIGH); delay(customDelay); } turnAllLEDs(HIGH); delay(customDelay); turnAllLEDs(LOW); } void (*funcModes[])() = { oneMode, twoMode, thirdMode, fourthMode, fifthMode}; void setup() { Serial.begin(9600); pinMode(one_redLED, OUTPUT); pinMode(one_greenLED, OUTPUT); pinMode(one_blueLED, OUTPUT); pinMode(two_redLED, OUTPUT); pinMode(two_greenLED, OUTPUT); pinMode(two_blueLED, OUTPUT); pinMode(thirdredLED, OUTPUT); } void loop() { sensorValue = analogRead(sensorPin); sensorValue = map(sensorValue, 0,1023,1,6); // float voltage = sensorValue * (5.0 / 1023.0); for (int i = 0; i < sizeof(funcModes) / sizeof(funcModes[0]); i++){ if (sensorValue == i + 1){ funcModes[i](); } } }
Video:
Uued funktsioonid:
void blinkLED(int LED, int custDelay): See funktsioon vilgutab LED-i antud viivitusega (custDelay) LED-i sisse- ja väljalülitamise vahel.
void turnFourColorsLEDs(int oneLED, int twoLED, int thirdLED, int fourthLED, bool Mode): See funktsioon juhib nelja LED-i, seades nende oleku (Mode) HIGH või LOW.
void turnTwoColorsLEDs(int oneLED, int twoLED, bool Mode): See funktsioon juhib kahte LED-i, seades nende oleku (Mode) HIGH või LOW.
void turnAllLEDs(bool Mode): See funktsioon kontrollib kõiki valgusdioode, seades nende oleku (Mode) HIGH või LOW.
void oneMode(), void twoMode(), void thirdMode(), void fourthMode(), void fifthMode(): Need funktsioonid esindavad valgusdioodide erinevaid töörežiime.