Përmbajtje:

Dritat interaktive të oborrit, Dritat e shtegut: 3 hapa
Dritat interaktive të oborrit, Dritat e shtegut: 3 hapa

Video: Dritat interaktive të oborrit, Dritat e shtegut: 3 hapa

Video: Dritat interaktive të oborrit, Dritat e shtegut: 3 hapa
Video: The Return of Sherlock Holmes by Sir Arthur Conan Doyle - Adventure 01 2024, Nëntor
Anonim
Dritat interaktive të oborrit, Dritat e shtegut
Dritat interaktive të oborrit, Dritat e shtegut
Dritat interaktive të oborrit, Dritat e shtegut
Dritat interaktive të oborrit, Dritat e shtegut

Doja të ndërtoja një lloj dritash interaktive të oborrit për oborrin tim të pasmë. Ideja ishte, kur dikush ecte në një drejtim do të niste një animacion në drejtimin që ju po ecnit. Fillova me dritat diellore Dollar General 1.00 dollarë

Hapi 1: Zorrët Dritat Solor

Gut Dritat Solor
Gut Dritat Solor
Gut Dritat Solor
Gut Dritat Solor
Gut Dritat Solor
Gut Dritat Solor

Hapi i parë ishte fikja e dritave për të hapur rrugën për gjëra më argëtuese. Fillova duke prerë ledin dhe baterinë origjinale. Sigurohuni që t'i ruani këto pjesë pasi ato do të jenë të dobishme në një projekt tjetër, gjithashtu hoqa kupolën e kromit që ishte në pjesën e poshtme të dritës diellore dhe e ngjita në majë siç shihet në foto

Hapi 2: Instalimi i dritave më të mira

Instalimi i dritave më të mira
Instalimi i dritave më të mira
Instalimi i dritave më të mira
Instalimi i dritave më të mira
Instalimi i dritave më të mira
Instalimi i dritave më të mira

për led kam përdorur ws2811b i papërshkueshëm nga uji i cili mund të gjendet këtu

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

Fillimisht kam planifikuar të vendos sensorët PIR brenda dritave diellore. por kjo doli të ishte diçka shumë problematike sepse sensori në thelb nuk mund të shihte tej plastikës. duhet të ketë një lloj përshtatshmërie të filtrimit UV. kështu që unë zgjodha diçka më shumë si kjo

www.thingiverse.com/thing:2590216

Hapi 3: Kodimi

nëse doni t'i bëni dritat të mos përdorin sensorin ose thjesht të vraponi gjatë gjithë kohës, thjesht kërkoni vendin që komentohet si "ndryshimi i gjendjes së flamurit" dhe vendoseni në eter 1 ose 0, do të shtoj më shumë fotografi kur ta përfundoj këtë për veten time është ende një punë në progres, por mendoj se është shumë e zoti për të mos e ndarë menjëherë. faleminderit për shikimin

void setup () {

// vendosni kodin tuaj të konfigurimit këtu, për të ekzekutuar një herë: FastLED.addLeds (leds, NUM_LEDS); Serial.filloj (9600); pinMode (butoniPin1, INPUT); pinMode (butoniPin2, HYRJE); }

lak void () {

Serial.println (FlagState);

if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Në pritje (); }}

void ForwardLeds () {

FirstLed = -1; LastLed = 16; për (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: E bardhë; leds [FirstLed] = CRGB:: E bardhë; vonesë (750); FastLED.shfaq (); Serial.print ("Kalimi i bardhë"); Serial.print (i); Serial.println ("nga 8"); } FirstLed = -1; LastLed = 16; për (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blu; leds [FirstLed] = CRGB:: Blu; vonesë (250); FastLED.shfaq (); Serial.print ("Kalimi Blu"); Serial.print (i); Serial.println ("nga 8"); } FirstLed = -1; LastLed = 16; për (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Purple; leds [FirstLed] = CRGB:: Purple; vonesë (250); FastLED.shfaq (); Serial.print ("Red Pass"); Serial.print (i); Serial.println ("nga 8"); } FirstLed = -1; LastLed = 16; për (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: E zezë; leds [FirstLed] = CRGB:: E zezë; vonesë (250); FastLED.shfaq (); Serial.print ("Fikja e led -it"); Serial.print (i); Serial.println ("nga 8"); } Shteti i Flamurit = 2; // ndryshimi i gjendjes së flamurit} void RevLeds () {Serial.println ("në të kundërt"); FirstLed = 8; LastLed = 7; për (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: E bardhë; leds [FirstLed] = CRGB:: E bardhë; vonesë (750); FastLED.shfaq (); Serial.print ("Kalimi i bardhë"); Serial.print (i); Serial.println ("nga 8"); } FirstLed = 8; LastLed = 7; për (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blu; leds [FirstLed] = CRGB:: Blu; vonesë (250); FastLED.shfaq (); Serial.print ("Kalimi blu"); Serial.print (i); Serial.println ("nga 8"); } FirstLed = 8; LastLed = 7; për (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Purple; leds [FirstLed] = CRGB:: Purple; vonesë (250); FastLED.shfaq (); Serial.print ("Kalimi i kuq"); Serial.print (i); Serial.println ("nga 8"); }

FirstLed = 8;

LastLed = 7; për (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: E zezë; leds [FirstLed] = CRGB:: E zezë; vonesë (250); FastLED.shfaq (); Serial.print ("Fikja e Led"); Serial.print (i); Serial.println ("nga 8"); } Shteti i Flamurit = 2; // ndryshimi i gjendjes së flamurit} void Pritja () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (butoniPin2); nëse (buttonState1 == LART) {Serial.println ("aktivizohet përpara"); Shteti i Flamurit = 0; } else if (buttonState2 == LART) {Serial.println ("Rev u aktivizua"); Shteti i Flamurit = 1; } Serial.println ("lak Përfundimi i pritjes"); }

Recommended: