Სარჩევი:

ეზოს ინტერაქტიული განათება, საფეხმავლო განათება: 3 ნაბიჯი
ეზოს ინტერაქტიული განათება, საფეხმავლო განათება: 3 ნაბიჯი

ვიდეო: ეზოს ინტერაქტიული განათება, საფეხმავლო განათება: 3 ნაბიჯი

ვიდეო: ეზოს ინტერაქტიული განათება, საფეხმავლო განათება: 3 ნაბიჯი
ვიდეო: 7 რჩევა სამზარეულოს მოსაწყობად 2024, ივლისი
Anonim
ეზოს ინტერაქტიული განათება, საფეხმავლო განათება
ეზოს ინტერაქტიული განათება, საფეხმავლო განათება
ეზოს ინტერაქტიული განათება, საფეხმავლო განათება
ეზოს ინტერაქტიული განათება, საფეხმავლო განათება

მინდოდა აეშენებინა რაიმე სახის ინტერაქტიული ეზოს განათება ჩემი უკანა ეზოსთვის. იდეა იმაში მდგომარეობდა, რომ როდესაც ვინმე ერთი გზით მიდიოდა, ის ანიმაციას წამოიღებდა იმ მიმართულებით, სადაც თქვენ დადიოდით. დავიწყე დოლარის გენერალური $ 1.00 მზის ნათებით

ნაბიჯი 1: ჩააქრეთ Solor Lights

Gut Solor Lights
Gut Solor Lights
Gut Solor Lights
Gut Solor Lights
Gut Solor Lights
Gut Solor Lights

პირველი ნაბიჯი იყო შუქის ჩაქრობა, რათა გზა გაეღო უფრო სახალისო ნივთებისთვის. დავიწყე ორიგინალური led და ბატარეის ამოკვეთით. დარწმუნდით, რომ შეინახეთ ეს ნაწილები, რადგან ისინი სხვა პროექტში გამოგადგებათ. მე ასევე ამოვიღე ქრომირებული გუმბათი, რომელიც მზის შუქის ქვედა ნაწილში იყო და ზედ დავამაგრე, როგორც ჩანს ფოტოებში

ნაბიჯი 2: უკეთესი განათების დაყენება

უკეთესი განათების დაყენება
უკეთესი განათების დაყენება
უკეთესი განათების დაყენება
უკეთესი განათების დაყენება
უკეთესი განათების დაყენება
უკეთესი განათების დაყენება

led– ისთვის გამოვიყენე წყალგაუმტარი ws2811b, რომელიც შეგიძლიათ ნახოთ აქ

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

თავდაპირველად ვგეგმავდი მზის შუქების შიგნით PIR სენსორების დაყენებას. მაგრამ ეს რაღაც პრობლემური აღმოჩნდა, რადგან სენსორი ძირითადად ვერ ხედავდა პლასტმასის მიღმა. მას უნდა ჰქონდეს რაიმე სახის ულტრაიისფერი ფილტრაციის მიზანშეწონილობა. ამიტომ მე შევარჩიე რაღაც უფრო მსგავსი

www.thingiverse.com/thing:2590216

ნაბიჯი 3: კოდირება

თუ გინდა რომ განათება არ გამოიყენოს სენსორი ან უბრალოდ გაუშვა მთელი დრო უბრალოდ მოძებნე ადგილი, რომელიც არის კომენტარი როგორც "იცვლება დროშის მდგომარეობა" და დააყენე ის ეთერში 1 ან 0 მე დავამატებ მეტ სურათს როცა ამას დავასრულებ ის ჯერ კიდევ მიმდინარეობს, მაგრამ მე ვფიქრობ, რომ ის ძალიან სუფთაა, რომ დაუყოვნებლივ არ გავაზიარო. მადლობა რომ უყურებ

void setup () {

// განათავსეთ თქვენი დაყენების კოდი აქ, ერთხელ გასაშვებად: FastLED.addLeds (leds, NUM_LEDS); სერიული.დაწყება (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

ბათილი მარყუჟი () {

Serial.println (FlagState);

if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {ლოდინი (); }}

void ForwardLeds () {

FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: თეთრი; leds [FirstLed] = CRGB:: თეთრი; დაგვიანება (750); FastLED.show (); Serial.print ("თეთრი უღელტეხილი"); სერიული. ბეჭდვა (i); Serial.println ("8 -დან"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: ლურჯი; leds [FirstLed] = CRGB:: ლურჯი; დაგვიანება (250); FastLED.show (); Serial.print ("ცისფერი უღელტეხილი"); სერიული. ბეჭდვა (i); Serial.println ("8 -დან"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: მეწამული; leds [FirstLed] = CRGB:: მეწამული; დაგვიანება (250); FastLED.show (); Serial.print ("წითელი უღელტეხილი"); სერიული. ბეჭდვა (i); Serial.println ("8 -დან"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: შავი; leds [FirstLed] = CRGB:: შავი; დაგვიანება (250); FastLED.show (); Serial.print ("გამორთვა led"); სერიული. ბეჭდვა (i); Serial.println ("8 -დან"); } FlagState = 2; // დროშის მდგომარეობის შეცვლა} void RevLeds () {Serial.println ("პირიქით"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: თეთრი; leds [FirstLed] = CRGB:: თეთრი; დაგვიანება (750); FastLED.show (); Serial.print ("თეთრი უღელტეხილი"); სერიული. ბეჭდვა (i); Serial.println ("8 -დან"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: ლურჯი; leds [FirstLed] = CRGB:: ლურჯი; დაგვიანება (250); FastLED.show (); Serial.print ("ცისფერი უღელტეხილი"); სერიული. ბეჭდვა (i); Serial.println ("8 -დან"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: მეწამული; leds [FirstLed] = CRGB:: მეწამული; დაგვიანება (250); FastLED.show (); Serial.print ("წითელი უღელტეხილი"); სერიული. ბეჭდვა (i); Serial.println ("8 -დან"); }

FirstLed = 8;

LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: შავი; leds [FirstLed] = CRGB:: შავი; დაგვიანება (250); FastLED.show (); Serial.print ("გამორთვა Led"); სერიული. ბეჭდვა (i); Serial.println ("8 -დან"); } FlagState = 2; // იცვლება დროშის მდგომარეობა} void ლოდინი () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (ღილაკი Pin2); if (buttonState1 == HIGH) {Serial.println ("წინ წამოიწია"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev გამოიწვია"); FlagState = 1; } Serial.println ("loop Finished ელოდება"); }

გირჩევთ: