Мазмуну:

Interactive Yard Lights, Walkway Lights: 3 Steps
Interactive Yard Lights, Walkway Lights: 3 Steps

Video: Interactive Yard Lights, Walkway Lights: 3 Steps

Video: Interactive Yard Lights, Walkway Lights: 3 Steps
Video: Solar Ground Lights, 8 LED Outdoor Solar Disk Lights 2024, Ноябрь
Anonim
Интерактивдүү короо жарыктары, өтмө жол чырактары
Интерактивдүү короо жарыктары, өтмө жол чырактары
Интерактивдүү короо жарыктары, өтмө жол чырактары
Интерактивдүү короо жарыктары, өтмө жол чырактары

Мен арткы короого интерактивдүү короо чырактарын кургум келди. Идея, кимдир бирөө бир жакка басса, ал сиз бараткан тарапка анимацияны коет. Мен Dollar General менен $ 1.00 күн чырактары менен баштадым

1 -кадам: Солор чырактарын өчүрүңүз

Solor Lights чырагы
Solor Lights чырагы
Solor Lights чырагы
Solor Lights чырагы
Solor Lights чырагы
Solor Lights чырагы

Биринчи кадам - кызыктуу нерселерге жол ачуу үчүн жарыкты өчүрүү. Мен баштапкы ледди жана батареяны кесүүдөн баштадым. Бул бөлүктөрдү сактап калууну унутпаңыз, анткени алар башка долбоордо пайдалуу болот, мен дагы күндүн жарыгынын түбүндөгү хром куполун алып салдым жана сүрөттөрдө көрүнгөндөй үстүнө жабыштырдым.

2 -кадам: Жакшы жарыктарды орнотуу

Жакшы жарыктарды орнотуу
Жакшы жарыктарды орнотуу
Жакшы жарыктарды орнотуу
Жакшы жарыктарды орнотуу
Жакшы жарыктарды орнотуу
Жакшы жарыктарды орнотуу

LED үчүн мен бул жерден тапкан суу өткөрбөөчү ws2811b колдондум

www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…

Мен башында PIR сенсорлорун күн чырактарынын ичине киргизүүнү пландап жаткам. бирок бул кандайдыр бир көйгөйлүү болуп чыкты, анткени сенсор негизинен пластиктен өткөндү көрө алган жок. ал кандайдыр бир UV фильтрлөөчү касиетке ээ болушу керек. ошондуктан мен дагы ушул сыяктуу нерсени тандадым

www.thingiverse.com/thing:2590216

3 -кадам: Коддоо

эгер сиз чырактарды сенсорду колдонбой же дайыма иштетүүнү кааласаңыз, анда "желектин абалын өзгөртүү" деп жазылган жерди издеңиз жана аны эфирге 1 же 0 деп коюңуз, мен муну өзүм үчүн бүтүргөндө дагы сүрөттөрдү кошом. бул дагы эле уланып жаткан жумуш, бирок мен дароо бөлүшпөө үчүн өтө тыкан деп ойлойм. издегениңиз үчүн рахмат

жараксыз орнотуу () {

// орнотуу кодуңузду бул жерге коюңуз, бир жолу иштетүү үчүн: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop () {

Serial.println (FlagState);

if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Waiting (); }}

void ForwardLeds () {

FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: White; leds [FirstLed] = CRGB:: White; кечиктирүү (750); FastLED.show (); Serial.print ("ак ашуу"); Serial.print (i); Serial.println ("of 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; кечигүү (250); FastLED.show (); Serial.print ("Көк ашуу"); Serial.print (i); Serial.println ("of 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Purple; leds [FirstLed] = CRGB:: Purple; кечигүү (250); FastLED.show (); Serial.print ("Кызыл ашуу"); Serial.print (i); Serial.println ("of 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Black; leds [FirstLed] = CRGB:: Black; кечигүү (250); FastLED.show (); Serial.print ("Лидерди өчүрүү"); Serial.print (i); Serial.println ("of 8"); } FlagState = 2; // желектин абалын өзгөртүү} void RevLeds () {Serial.println ("тескерисинче"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: White; leds [FirstLed] = CRGB:: White; кечиктирүү (750); FastLED.show (); Serial.print ("Ак ашуу"); Serial.print (i); Serial.println ("of 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; кечигүү (250); FastLED.show (); Serial.print ("Көк ашуу"); Serial.print (i); Serial.println ("of 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Purple; leds [FirstLed] = CRGB:: Purple; кечигүү (250); FastLED.show (); Serial.print ("Кызыл өтмөк"); Serial.print (i); Serial.println ("of 8"); }

FirstLed = 8;

LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Black; leds [FirstLed] = CRGB:: Black; кечигүү (250); FastLED.show (); Serial.print ("Led өчүрүү"); Serial.print (i); Serial.println ("of 8"); } FlagState = 2; // желектин абалын өзгөртүү} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("алдыга жылдырылды"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev triggered"); FlagState = 1; } Serial.println ("Loop Күтүү аяктады"); }

Сунушталууда: