Talaan ng mga Nilalaman:

Mga Interactive Yard Light, Lightway Walkway: 3 Mga Hakbang
Mga Interactive Yard Light, Lightway Walkway: 3 Mga Hakbang

Video: Mga Interactive Yard Light, Lightway Walkway: 3 Mga Hakbang

Video: Mga Interactive Yard Light, Lightway Walkway: 3 Mga Hakbang
Video: 3-часовой марафон паранормальных и необъяснимых историй 2024, Nobyembre
Anonim
Mga interactive na ilaw ng bakuran, mga ilaw ng Walkway
Mga interactive na ilaw ng bakuran, mga ilaw ng Walkway
Mga interactive na ilaw ng bakuran, mga ilaw ng Walkway
Mga interactive na ilaw ng bakuran, mga ilaw ng Walkway

Nais kong bumuo ng isang uri ng mga interactive na ilaw sa bakuran para sa aking bakuran sa likuran. Ang ideya ay, kapag ang isang tao ay lumakad sa isang paraan ay magtatakda ito ng isang animation sa direksyon na iyong nilalakaran. Nagsimula ako sa Dollar General na $ 1.00 solar light

Hakbang 1: Gutin ang Mga Solor Light

Itama ang mga Solor Light
Itama ang mga Solor Light
Itama ang mga Solor Light
Itama ang mga Solor Light
Itama ang mga Solor Light
Itama ang mga Solor Light

Ang unang hakbang ay alisin ang ilaw ng ilaw upang gumawa ng paraan para sa mas maraming kasiyahan. Nagsimula ako sa pamamagitan ng paggupit ng orihinal na led at baterya. Siguraduhin na i-save ang mga bahaging ito dahil magiging kapaki-pakinabang ang mga ito sa ibang proyekto Inalis ko rin ang chrome dome na nasa ilalim ng solar light at idinikit ito sa itaas tulad ng nakikita sa mga larawan

Hakbang 2: Pag-install ng Mas Mahusay na Mga ilaw

Pag-install ng Mas Mahusay na Ilaw
Pag-install ng Mas Mahusay na Ilaw
Pag-install ng Mas Mahusay na Ilaw
Pag-install ng Mas Mahusay na Ilaw
Pag-install ng Mas Mahusay na Ilaw
Pag-install ng Mas Mahusay na Ilaw

para sa humantong ginamit ko hindi tinatagusan ng tubig ws2811b na maaaring matagpuan dito

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

Orihinal kong planado na ilagay ang mga sensor ng PIR sa loob ng mga solar light. ngunit ito ay napatunayan na ilang kung ano ang may problemang dahil ang sensor ay karaniwang hindi maaaring makita ang nakaraang plastic. dapat itong magkaroon ng ilang uri ng pagkakasala sa pag-filter ng UV. kaya pumili ako para sa isang bagay na mas katulad nito

www.thingiverse.com/thing:2590216

Hakbang 3: Pag-coding

kung nais mong gawin ang mga ilaw na hindi gumagamit ng sensor o magpatakbo lamang sa lahat ng oras hanapin lamang ang lugar na nagkomento bilang "pagbabago ng estado ng bandila" at itakda ito sa ether 1 o 0 magdagdag ako ng maraming mga larawan kapag nakumpleto ko ito para sa aking sarili kaya gumagana pa rin ito ngunit sa palagay ko masyadong masinop na hindi agad naibabahagi. salamat sa pagtingin

walang bisa ang pag-setup () {

// ilagay ang iyong setup code dito, upang tumakbo nang isang beses: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop () {

Serial.println (FlagState);

kung (FlagState == 0) {ForwardLeds (); } kung (FlagState == 1) {RevLeds (); } kung (FlagState == 2) {Naghihintay (); }}

walang bisa ang ForwardLeds () {

FirstLed = -1; LastLed = 16; para sa (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Puti; leds [FirstLed] = CRGB:: Puti; pagkaantala (750); FastLED.show (); Serial.print ("puting Pass"); Serial.print (i); Serial.println ("ng 8"); } FirstLed = -1; LastLed = 16; para sa (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; pagkaantala (250); FastLED.show (); Serial.print ("Blue Pass"); Serial.print (i); Serial.println ("ng 8"); } FirstLed = -1; LastLed = 16; para sa (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Lila; leds [FirstLed] = CRGB:: Lila; pagkaantala (250); FastLED.show (); Serial.print ("Red Pass"); Serial.print (i); Serial.println ("ng 8"); } FirstLed = -1; LastLed = 16; para sa (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Itim; leds [FirstLed] = CRGB:: Itim; pagkaantala (250); FastLED.show (); Serial.print ("Patayin ang humantong"); Serial.print (i); Serial.println ("ng 8"); } FlagState = 2; // pagbabago ng estado ng bandila} void RevLeds () {Serial.println ("in reverse"); FirstLed = 8; LastLed = 7; para sa (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Puti; leds [FirstLed] = CRGB:: Puti; pagkaantala (750); FastLED.show (); Serial.print ("White pass"); Serial.print (i); Serial.println ("ng 8"); } FirstLed = 8; LastLed = 7; para sa (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; pagkaantala (250); FastLED.show (); Serial.print ("Blue pass"); Serial.print (i); Serial.println ("ng 8"); } FirstLed = 8; LastLed = 7; para sa (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Lila; leds [FirstLed] = CRGB:: Lila; pagkaantala (250); FastLED.show (); Serial.print ("Red pass"); Serial.print (i); Serial.println ("ng 8"); }

FirstLed = 8;

LastLed = 7; para sa (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Itim; leds [FirstLed] = CRGB:: Itim; pagkaantala (250); FastLED.show (); Serial.print ("Patayin ang Led"); Serial.print (i); Serial.println ("ng 8"); } FlagState = 2; // pagbabago ng estado ng watawat} walang bisa Naghihintay () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); kung (buttonState1 == MATAAS) {Serial.println ("na-trigger ng pasulong"); FlagState = 0; } iba pa kung (buttonState2 == MATAAS) {Serial.println ("Rev triggered"); FlagState = 1; } Serial.println ("loop Tapos na naghihintay"); }

Inirerekumendang: