Kazalo:

Interaktivne luči za dvorišče, luči za sprehajalne poti: 3 koraki
Interaktivne luči za dvorišče, luči za sprehajalne poti: 3 koraki

Video: Interaktivne luči za dvorišče, luči za sprehajalne poti: 3 koraki

Video: Interaktivne luči za dvorišče, luči za sprehajalne poti: 3 koraki
Video: ЭТОТ ЧЕЛОВЕК СОВЕРШАЕТ ОГРОМНЫЕ ИЗМЕНЕНИЯ! Онлайн интерактивное Таро 2024, November
Anonim
Interaktivne luči za dvorišče, luči za sprehajalne poti
Interaktivne luči za dvorišče, luči za sprehajalne poti
Interaktivne luči za dvorišče, luči za sprehajalne poti
Interaktivne luči za dvorišče, luči za sprehajalne poti

Želel sem zgraditi nekakšne interaktivne dvoriščne luči za svoje dvorišče. Zamisel je bila, da bi nekdo, ko je hodil v eno smer, sprožil animacijo v smeri, v kateri ste hodili. Začel sem s solarnimi svetilkami Dollar General za 1,00 USD

1. korak: Odstranite sončne luči

Odstranite sončne luči
Odstranite sončne luči
Odstranite sončne luči
Odstranite sončne luči
Odstranite sončne luči
Odstranite sončne luči

Prvi korak je bil ugasniti luči, da bi naredili prostor za bolj zabavne stvari. Začel sem z izrezovanjem originalnega LED -a in baterije. Ne pozabite shraniti teh delov, saj bodo uporabni v drugem projektu. Odstranil sem tudi kromirano kupolo, ki je bila na dnu sončne svetlobe, in jo prilepil na vrh, kot je prikazano na fotografijah

2. korak: Namestitev boljših luči

Namestitev boljših luči
Namestitev boljših luči
Namestitev boljših luči
Namestitev boljših luči
Namestitev boljših luči
Namestitev boljših luči

za LED sem uporabil vodotesen ws2811b, ki ga najdete tukaj

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

Sprva sem nameraval postaviti senzorje PIR v sončne luči. vendar se je to izkazalo za nekaj problematičnega, ker senzor v bistvu ni videl mimo plastike. mora imeti nekakšno lastnost UV filtriranja. zato sem se odločil za kaj več takega

www.thingiverse.com/thing:2590216

3. korak: Kodiranje

če želite, da luči ne uporabljajo senzorja ali pa samo tečejo ves čas, samo poiščite mesto, ki je komentirano kot "spreminjanje stanja zastave", in ga nastavite na eter 1 ali 0, ko bom to dokončal, bom dodal več slik, zato še vedno poteka, vendar se mi zdi preveč čeden, da ga ne bi delil takoj. hvala za ogled

void setup () {

// tukaj vstavite nastavitveno kodo, ki jo želite zagnati enkrat: FastLED.addLeds (LED, 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 ++; LED [LastLed] = CRGB:: Bela; LED diode [FirstLed] = CRGB:: Bela; zamuda (750); FastLED.show (); Serial.print ("bela karta"); Serial.print (i); Serial.println ("od 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; LED [LastLed] = CRGB:: Modra; LED diode [FirstLed] = CRGB:: Modra; zamuda (250); FastLED.show (); Serial.print ("Blue Pass"); Serial.print (i); Serial.println ("od 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; LED [LastLed] = CRGB:: Vijolična; LED diode [FirstLed] = CRGB:: Vijolična; zamuda (250); FastLED.show (); Serial.print ("Red Pass"); Serial.print (i); Serial.println ("od 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; LED [LastLed] = CRGB:: Črna; LED diode [FirstLed] = CRGB:: Črna; zamuda (250); FastLED.show (); Serial.print ("Izklop LED"); Serial.print (i); Serial.println ("od 8"); } FlagState = 2; // spreminjanje stanja zastave} void RevLeds () {Serial.println ("v obratni smeri"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; LED diode [LastLed] = CRGB:: Bela; LED diode [FirstLed] = CRGB:: Bela; zamuda (750); FastLED.show (); Serial.print ("White pass"); Serial.print (i); Serial.println ("od 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; LED [LastLed] = CRGB:: Modra; LED diode [FirstLed] = CRGB:: Modra; zamuda (250); FastLED.show (); Serial.print ("Blue pass"); Serial.print (i); Serial.println ("od 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; LED [LastLed] = CRGB:: Vijolična; LED diode [FirstLed] = CRGB:: Vijolična; zamuda (250); FastLED.show (); Serial.print ("Red pass"); Serial.print (i); Serial.println ("od 8"); }

FirstLed = 8;

LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; LED diode [LastLed] = CRGB:: Črna; LED diode [FirstLed] = CRGB:: Črna; zamuda (250); FastLED.show (); Serial.print ("Izklop LED"); Serial.print (i); Serial.println ("od 8"); } FlagState = 2; // spreminjanje stanja zastave} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalno branje (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("naprej sproženo"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev sprožen"); FlagState = 1; } Serial.println ("zanka končana čakanje"); }

Priporočena: