Агуулгын хүснэгт:

Интерактив хашааны гэрэл, явган хүний замын гэрэл: 3 алхам
Интерактив хашааны гэрэл, явган хүний замын гэрэл: 3 алхам

Видео: Интерактив хашааны гэрэл, явган хүний замын гэрэл: 3 алхам

Видео: Интерактив хашааны гэрэл, явган хүний замын гэрэл: 3 алхам
Видео: What If Anakin Skywalker Became a Bounty Hunter 2024, Долдугаар сарын
Anonim
Интерактив хашааны гэрэл, явган хүний гэрэл
Интерактив хашааны гэрэл, явган хүний гэрэл
Интерактив хашааны гэрэл, явган хүний гэрэл
Интерактив хашааны гэрэл, явган хүний гэрэл

Би арын хашаандаа интерактив хашааны гэрэлтүүлэг хийхийг хүсч байсан. Хэн нэгэн нэг замаар явахад таны явж буй чиглэлд анимаци хийх болно гэсэн санаа байсан. Би долларын генерал 1.00 долларын нарны гэрлээс эхэлсэн

Алхам 1: Солор гэрэл асаах

Солор гэрэл асдаг
Солор гэрэл асдаг
Солор гэрэл асдаг
Солор гэрэл асдаг
Солор гэрэл асдаг
Солор гэрэл асдаг

Эхний алхам бол илүү хөгжилтэй зүйл хийхийн тулд гэрлээ унтраах явдал байв. Би анхны гэрэл, батерейг хайчилж эхлэв. Эдгээр эд ангиудыг өөр төсөлд ашиглахад тустай тул хадгалахаа мартуузай, би нарны гэрлийн ёроолд байсан хромын бөмбөгийг арилгаж, зураг дээр үзүүлсэн шиг дээрээс нь наасан.

Алхам 2: Илүү сайн гэрэл суурилуулах

Илүү сайн гэрэл суулгах
Илүү сайн гэрэл суулгах
Илүү сайн гэрэл суулгах
Илүү сайн гэрэл суулгах
Илүү сайн гэрэл суулгах
Илүү сайн гэрэл суулгах

LED -ийн хувьд ус нэвтэрдэггүй ws2811b -ийг эндээс олж болно

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

Би анх PIR мэдрэгчийг нарны гэрлийн дотор байрлуулахаар төлөвлөж байсан. мэдрэгч нь хуванцарыг харж чаддаггүй тул энэ нь ямар асуудалтай болохыг харуулсан. Энэ нь хэт ягаан туяаны шүүлтүүртэй байх ёстой. Тиймээс би үүнтэй төстэй зүйлийг сонгосон

www.thingiverse.com/thing:2590216

Алхам 3: Кодлох

Хэрэв та гэрлийг мэдрэгч ашиглахгүй эсвэл байнга асаахыг хүсч байвал "тугны төлөв өөрчлөгдөж байна" гэж бичээд байгаа газрыг хайгаад 1 эсвэл 0 болгож тохируулаарай. энэ нь одоо хүртэл хийгдэж байгаа ажил боловч тэр даруй хуваалцахгүй байх нь маш цэвэрхэн гэж бодож байна. харсанд баярлалаа

хүчингүй тохиргоо () {

// өөрийн тохиргооны кодыг нэг удаа ажиллуулахын тулд энд оруулна уу: FastLED.addLeds (leds, NUM_LEDS); Цуваа эхлэх (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop () {

Serial.println (FlagState);

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

хүчингүй 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 ("of 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 ("of 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 ("of 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 ("of 8"); } FlagState = 2; // туг төлөвийг өөрчлөх} хүчингүй 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 ("of 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 ("of 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 ("of 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 ("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 идэвхжсэн"); FlagState = 1; } Serial.println ("давталт Хүлээж дууссан"); }

Зөвлөмж болгож буй: