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

Алсын удирдлагатай LED нүд ба костюмны бүрээс: 7 алхам (зурагтай)
Алсын удирдлагатай LED нүд ба костюмны бүрээс: 7 алхам (зурагтай)

Видео: Алсын удирдлагатай LED нүд ба костюмны бүрээс: 7 алхам (зурагтай)

Видео: Алсын удирдлагатай LED нүд ба костюмны бүрээс: 7 алхам (зурагтай)
Видео: SCP-610 Плоть, что ненавидит (все документы и журналы) 2024, Долдугаар сарын
Anonim

BekathwiaBecky SternFollow Зохиогчийн дэлгэрэнгүй:

Вэбкамны нууцлалын найз
Вэбкамны нууцлалын найз
Вэбкамны нууцлалын найз
Вэбкамны нууцлалын найз
3D хэвлэмэл холбогчтой Yagi антенны соронзон хальс
3D хэвлэмэл холбогчтой Yagi антенны соронзон хальс
3D хэвлэмэл холбогчтой Yagi антенны соронзон хальс
3D хэвлэмэл холбогчтой Yagi антенны соронзон хальс
Zodiac хатгамал
Zodiac хатгамал
Zodiac хатгамал
Zodiac хатгамал

Тухай: Хийх, хуваалцах нь миний хамгийн том хүсэл тэмүүлэл юм! Нийтдээ би микроконтроллероос нэхэх хүртэлх бүх зүйлийн талаар хэдэн зуун заавар хэвлүүлсэн. Би Нью -Йорк хотын мотоцикльчин, гэмшээгүй нохойны ээж. My wo … Bekathwia -ийн тухай дэлгэрэнгүй »

Ихэр Жавас! Давхар Орко! Bubble-Bobble-ийн хоёр сүнс шидтэн! Энэхүү хувцасны бүрээс нь зөвхөн өнгийг өөрчилснөөр сонгосон LED нүдтэй ямар ч амьтан байж болно. Би энэ төслийг анх 2015 онд маш энгийн схем, кодоор хийж байсан бол энэ жил би хоёр костюм дээр нэгэн зэрэг анимэйшн удирдлагатай сайжруулсан хувилбарыг бүтээхийг хүссэн юм. Энэ хэлхээ нь нэг давтамжтай хоёр хүлээн авагчийг хянахын тулд нэг энгийн, ойрхон зайн RF алсын удирдлагыг ашигладаг бөгөөд Билл Эрлийн заавар код дээр үндэслэн хөдөлгөөнт анимацийг өөрчлөхийн тулд тасалдал ашигладаг Arduino код ашигладаг.

Энэ төслийн хувьд танд хэрэгтэй болно:

  • Хоёр NeoPixel үнэт эдлэл
  • GEMMA M0 микроконтроллер
  • 315MHz утасгүй хүлээн авагч, түгжээний төрөл
  • 315MHz утасгүй RF алсын удирдлага нь дөрвөн, хоёр эсвэл ганц товчлууртай
  • Силиконоор бүрсэн судалтай утас (30awg зөвлөж байна)
  • Гагнуурын төмөр ба гагнуур
  • Утас хуулагч
  • Угаах таслагч
  • Хясаа
  • Гуравдагч гарын хэрэгсэлд туслах (заавал биш)
  • Оёдлын тээглүүр
  • Оёдлын шохой (заавал биш)
  • 19awg цайрдсан ган утас
  • Бүрээс/хошуунд зориулсан зузаан даавуу (энэ хувилбарт би тамхины хоёр даавуу цагаан даавуу, нэг давхар цагаан даавуун алчуур хэрэглэж, дараа нь бүрээсний дотор талыг хатуу хараар доторлоод гэрлийг хаав)
  • Нүүрний хавтангийн хувьд тунгалаг хар даавуу
  • Оёдолын машин
  • Хайч
  • Зүү, утас
  • Уян хатан судалтай 3D принтер (заавал биш)

Миний хийж буй зүйлээс хоцрохгүйн тулд YouTube, Instagram, Twitter, Pinterest дээр намайг дагаж, мэдээллийн хуудсаа захиалаарай. Амазоны Associate -ийн хувьд та миний түншлэлийн холбоосыг ашиглан хийсэн худалдан авалтаас олдог.

Эхлэхээсээ өмнө та дараах урьдчилсан нөхцөлүүдийг уншихыг хүсч магадгүй юм.

  • Gemma M0 -ийг танилцуулж байна
  • NeoPixel Uberguide
  • Бүрээсний төслийн анхны хувилбар (2015 онд Gemma сонгодог загвартай, утасгүй удирдлагагүй)
  • Arduino pt 3 дээр олон ажил хийх

Алхам 1: Хэлхээ диаграм ба код

Хэлхээний диаграм ба код
Хэлхээний диаграм ба код

Цахилгаан хэлхээний холболтууд дараах байдалтай байна.

  • Gemma D2 утасгүй хүлээн авагч D0 руу
  • Gemma D0 утасгүй хүлээн авагч D1
  • Gemma 3V утасгүй хүлээн авагч +5V
  • Gemma GND утасгүй хүлээн авагч GND болон NeoPixel үнэт эдлэл GND
  • Gemma D1 -ээс NeoPixel үнэт эдлэлийн мэдээлэл IN
  • Gemma Vout нь NeoPixel үнэт эдлэл PWR
  • NeoPixel үнэт чулууны өгөгдлийг бусад NeoPixel Jewel өгөгдөлд оруулах боломжтой

Дараагийн алхамыг угсралтын тэмдэглэлээс үзнэ үү.

Код нь Билл Эрлийн Arduino-ийн олон даалгаврыг үндэслэсэн бөгөөд хоёр дижитал оролттой хоёр NeoPixel үнэт эдлэлийг удирдахаар өөрчлөгдсөн. Тиймээс та утасгүй хүлээн авагч ашиглах шаардлагагүй- оронд нь хэлхээний товчлууруудыг ашиглаж болно. Энэхүү Arduino кодын файлыг энэ хавсралтын хавсралтаас татаж авах эсвэл хоосон Arduino ноорог дээр эндээс хуулж буулгана уу.

#"Adafruit_NeoPixel.h" -ийг оруулна уу

// Дэмжигдсэн загварын төрлүүд: enum pattern {NONE, RAINBOW_CYCLE, THEATER_CHASE, COLOR_WIPE, SCANNER, FADE}; // Эцэг эхийн чиглэлийг дэмждэг: enum чиглэл {FORWARD, REVERSE}; // NeoPattern Ангилал - Adafruit_NeoPixel ангийн NeoPatterns ангиас гаралтай: public Adafruit_NeoPixel {public: // Гишүүний хувьсагчид: загвар ActivePattern; // ямар загвар чиглэлд ажиллаж байна чиглэл; // загварыг ажиллуулах чиглэл гарын үсэггүй урт интервал; // шинэчлэлтүүдийн хооронд миллисекундууд гарын үсэг зураагүй long lastUpdate; // uint32_t Color1, Color2 байрлалын сүүлийн шинэчлэлт; // Ямар өнгийг ашиглаж байна uint16_t TotalSteps; // загварын uint16_t индекс дэх алхамуудын нийт тоо; // загварын void доторх одоогийн алхам (*OnComplete) (); // Загвар дууссаны дараа дуудлага хийх // Constructor - NeoPatterns зурвасыг эхлүүлэхийн тулд үндсэн ангийн бүтээгчийг дууддаг (uint16_t пиксел, uint8_t зүү, uint8_t төрөл, void (*дуудлага) ()): Adafruit_NeoPixel (пиксел, зүү, төрөл) {OnComplete = дуудлага хийх; } // хэв загварыг шинэчлэх Update () {if ((millis () - lastUpdate)> Interval) // шинэчлэх цаг {lastUpdate = millis (); switch (ActivePattern) {case RAINBOW_CYCLE: RainbowCycleUpdate (); завсарлага; case THEATER_CHASE: TheaterChaseUpdate (); завсарлага; тохиолдолд COLOR_WIPE: ColorWipeUpdate (); завсарлага; кейс сканнер: ScannerUpdate (); завсарлага; тохиолдолд FADE: FadeUpdate (); завсарлага; анхдагч: завсарлага; }}} // Индексийг нэмэгдүүлж, эцэст нь дахин тохируулна уу vcr Increment () {if (Direction == FORWARD) {Index ++; if (Индекс> = TotalSteps) {Индекс = 0; if (OnComplete! = NULL) {OnComplete (); // дуудлага хийх дуудлага хийх}}} өөр // Чиглэл == УВАХ {--Index; if (Индекс <= 0) {Индекс = TotalSteps-1; if (OnComplete! = NULL) {OnComplete (); // дуудлага хийх дуудлага хийх}}}} // Урвуу хэв маягийн чиглэлийг хүчингүй болгох Reverse () {if (Direction == FORWARD) {Direction = REVERSE; Индекс = TotalSteps-1; } өөр {Чиглэл = FORWARD; Индекс = 0; }} // RainbowCycle -ийн хоосон байдлыг эхлүүлэх RainbowCycle (uint8_t интервал, чиглэл dir = FORWARD) {ActivePattern = RAINBOW_CYCLE; Интервал = интервал; Нийт алхам = 255; Индекс = 0; Чиглэл = dir; } // RainbowCycleUpdate () {RainbowCycleUpdate () {for (int i = 0; i <numPixels (); i ++) {setPixelColor (i, Wheel (((i * 256 / numPixels ())+Index)) & 255))); } шоу (); Нэмэх (); } // Theatre Chase void TheaterChase -ийг эхлүүлэх (uint32_t color1, uint32_t color2, uint8_t интервал, чиглэл dir = FORWARD) {ActivePattern = THEATER_CHASE; Интервал = интервал; TotalSteps = numPixels (); Өнгө1 = өнгө1; Өнгө2 = өнгө2; Индекс = 0; Чиглэл = dir; } // Theatre Chase Pattern void TheaterChaseUpdate () {-г шинэчлэх (int i = 0; i <numPixels (); i ++) {if ((i+Index) % 3 == 0) {setPixelColor (i, Color1); } өөр {setPixelColor (i, Color2); }} шоу (); Нэмэх (); } // ColorWipe хоосон ColorWipe -ийг эхлүүлэх (uint32_t өнгө, uint8_t интервал, чиглэл dir = FORWARD) {ActivePattern = COLOR_WIPE; Интервал = интервал; TotalSteps = numPixels (); Өнгө1 = өнгө; Индекс = 0; Чиглэл = dir; } // Өнгө арчих загварыг хүчингүй болгох ColorWipeUpdate () {setPixelColor (Index, Color1) шинэчлэх; харуулах (); Нэмэх (); } // SCANNNER хоосон сканнерыг эхлүүлэх (uint32_t color1, uint8_t интервал) {ActivePattern = SCANNER; Интервал = интервал; TotalSteps = (numPixels () - 1) * 2; Өнгө1 = өнгө1; Индекс = 0; } // Scanner Pattern хоосон ScannerUpdate () {-г шинэчлэх (int i = 0; i > 1, Ногоон (өнгө) >> 1, Цэнхэр (өнгө) >> 1); dimColor буцаах; } // Бүх пикселийг өнгөт (синхроноор) хоосон ColorSet (uint32_t өнгө) {болгож (int i = 0; i> 16) & 0xFF; } // 32 битийн uint8_t Green (uint32_t color) {return (color >> 8) & 0xFF; } // 32 битийн uint8_t Blue (uint32_t color) {буцах өнгө & 0xFF; } // Өнгөний утгыг авахын тулд 0 -ээс 255 хүртэл утга оруулна уу. // Өнгө бол r - g - b - r рүү буцах шилжилт юм. uint32_t Wheel (байт WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {буцаах өнгө (255 - WheelPos * 3, 0, WheelPos * 3); } if if (WheelPos <170) {WheelPos -= 85; буцаах өнгө (0, WheelPos * 3, 255 - WheelPos * 3); } өөр {WheelPos -= 170; буцаах өнгө (WheelPos * 3, 255 - WheelPos * 3, 0); }}}; void JewelsComplete (); // Хоёр цагираг болон модны хувьд NeoPatterns -ийг тодорхойлно уу // түүнчлэн NeoPatterns Jewels (14, 1, NEO_GRBW + NEO_KHZ800, & JewelsComplete) -ийн дуусгах зарим ажлыг хийх; const int BRIGHTNESS = 50; // Бүгдийг эхлүүлээд void setup () {Serial.begin (115200) эхлүүлэхэд бэлтгэ. pinMode (2, INPUT); pinMode (0, INPUT); // Jewels.setBrightness (BRIGHTNESS) бүх пикселийг эхлүүлэх; Үнэт эдлэл.begin (); // Загварын үнэт эдлэлийг эхлүүл. TheaterChase (Jewels. Color (255, 50, 0), Jewels. Color (0, 0, 0, 50), 100); } // Main loop void loop () {// Үнэт эдлэлүүдийг шинэчлэх. Үнэт эдлэл. Шинэчлэх (); // Загварыг товчлуур дээр дарж солино уу: if (digitalRead (2) == HIGH) // 1 -р товчлуур дарагдсан {Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = FADE; Үнэт эдлэл Нийт алхам = 100; Үнэт эдлэл. Завсрын = 1; } else if (digitalRead (0) == HIGH) // 2 -р товчлуур дарагдсан {Jewels. Color1 = Jewels. Color (255, 0, 0); Jewels. ActivePattern = Сканнер; Jewels. TotalSteps = Jewels.numPixels (); Үнэт эдлэл, интервал = 100; } else // Ердийн горимд буцах {// Загварын бүх параметрүүдийг хэвийн хэмжээнд буцаана Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = THEATER_CHASE; Jewels. TotalSteps = Jewels.numPixels (); Үнэт эдлэл, интервал = 100; }} // ---------------------------------------------- -------------- // Дуусгах горимууд-загварыг бөглөхөд дуудагдах // ---------------------- -------------------------------------- // Jewels Completion Callback хүчингүй болсон JewelsComplete () {// Дараагийн скан хийх өнгөний санамсаргүй өөрчлөлт //Jewels. Color1 = Jewels. Wheel (random (255)); Үнэт эдлэл Урвуу (); }

Алхам 2: Цахилгаан хэлхээг угсрах

Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах

Гуравдагч гар барихад туслах багц нь утсыг эд ангиудад гагнах процессыг маш энгийн бөгөөд хөгжилтэй болгодог. Гэхдээ танд иж бүрдэл байхгүй бол санаа зовох хэрэггүй; Гагнах явцад самбараа тогтвортой байлгахын тулд та үргэлж соронзон хальс эсвэл зурагт хуудас шаваас ашиглаж болно.

NeoPixel -ийн хоёр үнэт эдлэлийг холбохын тулд нимгэн судалтай утас (ойролцоогоор 6in/15cmin урттай) ашиглаарай (өмнөх алхам дээрх диаграм). Хэрэв та хэт богино утас ашигладаг бол LED нүдийг бие биенээсээ хол зайд байрлуулах боломжгүй бөгөөд хэрэв та хэт их утас хэрэглэвэл костюм өмссөн байхад таны сулрал нүүрэнд чинь тусах болно.

Гол хэлхээ нь ханцуйны хэсэгт (цээж нь мөрөнтэйгээ тааралддаг) амьдардаг тул гинжин хэлхээний анхны NeoPixel үнэт чулуу болон Gemma -ийн хоорондох холболтын хувьд утаснууд илүү урт байх болно. Утасны явах ёстой зайг хэмжихийн тулд утсыг нүднийхээ талбай хүртэл барьж, сугалж, дараа нь сулрах, даатгалд зориулж жаахан нэмж болно.

Gemma болон утасгүй хүлээн авагч хоёрын хооронд холбогдохын тулд утасгүй хүлээн авагчид толгойн зүү хавсаргасан байгаа тул би эмэгтэй толгойтой загварчлалын утас ашиглахаар шийдсэн.

Алхам 3: Батерейны хүч

Батерейны хүч
Батерейны хүч
Батерейны хүч
Батерейны хүч

Цахилгаан хэлхээг тэжээхийн тулд би 500 мАч хүчин чадалтай липолийн батерей ашигласан. Хэрэв липоли батерей ашигладаг бол түүнийг зураас, цооролт, үрэлт, гулзайлт болон бусад хүчирхийллээс хамгаалах нь ухаалаг хэрэг юм. Та үүнийг бат бөх даавууны соронзон хальсаар боож, эсвэл 3D хэвлэсэн эзэмшигч хийж болно.

Та оронд нь 3xAAA эзэмшигчийг хялбархан ашиглаж болно (энгэр дотор биш халаасандаа авч яваарай).

Алхам 4: Оёдлын загвар ба хайчлах даавуу

Оёдлын загвар ба хайчлах даавуу
Оёдлын загвар ба хайчлах даавуу

Би энэ костюмны анхны хувилбарт зориулж бүтээсэн загвараа ашигласан бөгөөд энэ нь олон хуудастай PDF бөгөөд хэв маягийн хэсгүүдийг бүтээдэг.

Даавуугаа нугалж, даавууны үр тариаг тэгшлэхийн тулд ирмэгийн ирмэгийг тэгшлээд, хэв маягийн хэсгүүдийг тэмдэглэсний дагуу нугална. Тэмдэглэх шохой эсвэл харандаа ашиглан 5/8ин/3см орчим хэмжээтэй хэв маягийн хэсгүүдийн гадуур оёдлын хөндлөн огтлолыг хай. Миний даавуу нимгэн байсан тул би үүнийг хоёр дахин нэмэгдүүлэхийг хүсч, хоёр бүрээс хийснээс хойш үндсэн даавууны хээ тус бүрээс дөрөвийг нь хайчилж, дараа нь самбай самбайгаар хийсэн өөр давхаргыг гадна талд нь бүтэцтэй болгож, эцэст нь Гэрлийг нэвтлэхгүй байхын тулд хар даавуугаар бүрсэн давхарга. Хэрэв би үүнийг урьдчилан төлөвлөсөн бол анхны цагаан давхаргын аль нэгийг нь унагаж болох байсан бөгөөд бүрээс нь бүр дөрвөн биш гурван давхаргатай байх байсан гэж би бодож байна.

Алхам 5: Даавуун хэсгүүдийг угсрах

Даавуун хэсгүүдийг угсрах
Даавуун хэсгүүдийг угсрах
Даавуун эд ангиудыг угсрах
Даавуун эд ангиудыг угсрах
Даавуун хэсгүүдийг угсрах
Даавуун хэсгүүдийг угсрах
Даавуун эд ангиудыг угсрах
Даавуун эд ангиудыг угсрах

Загвар бүр дээр дартс/мөрний оёдол зүүж оёж, дараа нь бүрээс ба хошууны хэсгүүдийг хүзүүний оёдлын дагуу баруун талыг нь зэрэгцүүлээрэй. Оёдол, түүнчлэн бүрээсний дээд талд шууд оёдол хийнэ.

Бүрээсийг туршиж үзээрэй. Бүрээсний урд талын түүхий ирмэгийг нугалаад хавчуулаад оёж үзээд цэвэрхэн ирмэг, утас дамжуулах суваг үүсгэнэ.

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

Алхам 6: Hood дахь хэлхээг суулгана уу

Hood дахь Circuit -ийг суулгана уу
Hood дахь Circuit -ийг суулгана уу

Би бүрээсийг өмсөж, хэлхээг асааж, толин тусгалыг ашиглан LED -ийн хамгийн сайн байрлалыг гаргав. Дараа нь би байршлыг тэмдэглэхийн тулд тээглүүр ашиглан хар утас ашиглан сайтар оёж, NeoPixel үнэт эдлэл дээр бэхлэх нүхийг тунгалаг хар урд самбар дээр бэхлэв. Миний нүд миний жинхэнэ нүдний доор сууж байгаа нь өнгөрсөн нүдийг харахад хялбар болгодог.

Хэрэв та хоёр дахь бүрээс хийж байгаа бол зайлж, давтана уу.

Алхам 7: Үүнийг өмс

Үүнийг өмс!
Үүнийг өмс!
Үүнийг өмс!
Үүнийг өмс!
Үүнийг өмс!
Үүнийг өмс!
Үүнийг өмс!
Үүнийг өмс!

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

Манай найз залуу бид хоёр энэ жил hackerpace -ийн Halloween үдэшлэгт DJ хийж өмссөн бөгөөд лазер проекторын програм хангамжийн интерфэйсийг харж байхад тэр Абелтон дахь жижиг текстийг сайн гаргаж чадаагүй тул бид түүнийг дасан зохицох шаардлагатай болсон. илүү сайн харах. Би бүрээсний дээд талын хар даавууны хавтанг авч, илүүдлийг нь нугалав. Харанхуй өрөөнд та энэ хоёрын ялгааг үнэхээр ялгаж чадахгүй байсан ч дээрх бидний хамтдаа авсан зургаас харж болно.

Уншсанд баярлалаа! Хэрэв танд энэ төсөл таалагдсан бол та миний заримыг сонирхож магадгүй юм.

  • LED -ийг сарниулах 13 санаа
  • Arduino/Bluetooth -тэй тархсан LED зурвасын тэмдэг
  • ESP8266 -тай YouTube захиалагчийн тоолуур
  • Энгийн хязгааргүй толь
  • 3 Анхан шатны Arduino алдаа

Миний хийж буй зүйлээс хоцрохгүйн тулд YouTube, Instagram, Twitter, Pinterest дээр намайг дагаарай.

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