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

Bluetooth ухаалаг гар утасны удирдлагатай ухаалаг LED чийдэн: 7 алхам
Bluetooth ухаалаг гар утасны удирдлагатай ухаалаг LED чийдэн: 7 алхам

Видео: Bluetooth ухаалаг гар утасны удирдлагатай ухаалаг LED чийдэн: 7 алхам

Видео: Bluetooth ухаалаг гар утасны удирдлагатай ухаалаг LED чийдэн: 7 алхам
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Долдугаар сарын
Anonim
Image
Image
Bluetooth ухаалаг гар утасны удирдлагатай ухаалаг LED чийдэн
Bluetooth ухаалаг гар утасны удирдлагатай ухаалаг LED чийдэн

Би гэрэлтүүлгийн төхөөрөмжөө хянахыг үргэлж мөрөөддөг. Дараа нь хэн нэгэн гайхалтай өнгөлөг LED чийдэн хийжээ. Би саяхан Youtube дээр Жозеф Кашагийн LED чийдэнг олж харсан. Үүнээс урам зориг авч, орчин үеийн загварыг хадгалахын зэрэгцээ хэд хэдэн функцийг нэмж оруулахаар шийдсэн.

Төлөвлөгөөнд Bluetooth модуль болон хаяглах боломжтой WS2812B RGB LED зурвас нэмж оруулснаар чийдэнг хэрэглэгчдэд илүү ээлтэй болгоно. Энэ нь зөвхөн ухаалаг гар утасны апп ашиглан гэрэлтүүлгийн өнгийг хянах боломжтой болсон.

Алхам 1: Материалыг цуглуулах

Материалыг цуглуулах
Материалыг цуглуулах
Материалыг цуглуулах
Материалыг цуглуулах

Хэрэгсэл:

• Гагнуурын станц

• Халаагч үлээгч буу

• Өрөмдлөгийн машин

• Дугуй хөрөө

• Jigsaw

• Утас таслагч бахө

• Нарийн хамар бахө

Материал:

• Тунгалаг нийлэг хавтан

• Японы Cypress Wood (эсвэл тогтвортой, хангалттай бат бөх байвал ямар ч модыг ашиглаж болно)

• Шураг

• Зэвэрдэггүй ган туйл эсвэл саваа

• Утас (би улаан, хар утас ашигладаг)

• Гагнуурын цагаан тугалга

Электроникийн бүрэлдэхүүн хэсгүүд:

• Ардуино Нано

• Bluetooth модуль HC-05 (Wifi модуль ESP8266-аас кодлоход хялбар тул үүнийг ашиглахаар шийдлээ)

• WS2812B хаягтай RGB LED зурвас

• LM2596 бууруулах модуль

• DC Barrel Power Jack

Алхам 2: Дэнлүүний бүтцийг бий болгох

Дэнлүүний бүтцийг бий болгох
Дэнлүүний бүтцийг бий болгох
Дэнлүүний бүтцийг бий болгох
Дэнлүүний бүтцийг бий болгох

Энэ алхамд би чийдэнгийн бүтцийг бий болгох хоёр арга бий- мод боловсруулах арга ба 3D хэвлэх арга. Би эхний аргыг ашигладаг. Хэрэв та үүнийг 3D принтер ашиглан хийхийг хүсч байвал миний зохион бүтээсэн загварын 2 -р алхам руу алгасах хэрэгтэй.

Дэнлүүний дээд хэсгийн хувьд би нийлэг хавтанг дээр үзүүлсэн шиг 90 ° өнцгөөр халааж, нугална. Би үүнийг төгс өнцөг, чиглэлд нугалахад нэлээд удаан хугацаа шаардагддаг.

Дараа нь чийдэнгийн доод хэсгийн хувьд. Харамсалтай нь … дэнлүүний доод хэсэгт ажиллаж байсан тэр өдөр би барилгын зураг авахаа мартжээ! Энэ төслийг дуусгасны дараа би үүнийг ойлгосон. Гэхдээ би чийдэнгийн доод хэсгийн хэмжилтийг танд өгөхийг хичээх болно.

Үндсэндээ та 13x6x2cm (LxHxW) хэмжээтэй дөрвөн блок мод огтлоход л хангалттай. Дараа нь та модны ирмэг дээр шат шиг зүсэлт хийх хэрэгтэй. Зургийг дээр харуулах болно.

Алхам 3: 3D хэлбэрүүд

3D хэлбэрүүд
3D хэлбэрүүд
3D хэлбэрүүд
3D хэлбэрүүд

Өөрийн гэсэн 3D принтертэй хүн бүрийн хувьд та зөв алхам хийж байна. Энэ нь энэхүү чийдэнг ашиглахад хялбар болгосон.

Үнэнийг хэлэхэд энэ бол миний хийсэн хамгийн хэцүү алхам байсан. Энэ бол програм хангамжийг суулгасны дараа миний хийсэн анхны зүйл юм!

Би чийдэнгийн бүтцийг зохион бүтээхдээ Sketchup Pro програмыг ашигладаг. Харамсалтай нь би түүний дотоод эд ангийг зохион бүтээх чадваргүй хүн юм. Миний 3D загварын холбоосыг доорх файлд оруулсан болно.

Алхам 4: Бүрэлдэхүүн хэсгүүдийн схем

Бүрэлдэхүүн хэсгүүдийн схем
Бүрэлдэхүүн хэсгүүдийн схем

Би Fritzing -ийг ашиглан бүрэлдэхүүн хэсгүүдийн схемийг бүтээдэг. Схем нь үнэндээ маш хялбар юм.

Алхам 5: Код

Код
Код

Энэхүү сэтгэлийн дэнлүүг кодлохын тулд би Arduino IDE -ийн зарим номын санг ашигласан. Номын санг 7 -р алхам дээр жагсаах болно.

Кодын хувьд та Arduino програм хангамжтай байх ёстой. Би эндээс татаж авах линкийг өгөх болно.

Мөн ноорог эсвэл кодыг доор харуулах уу?

Доорх кодыг энд хуулж бичихэд хэтэрхий урт байвал би Github.com дээрх кодын файлыг өгсөн болно.)

#include #include #include #ifdef _AVR_ #include #endif

SoftwareSerial BT (10, 11);

#LED_PIN 7 -ийг тодорхойлох #NUM_LEDS -ийг тодорхойлох 60 #ГЭРЭЛТЭЙГ тодорхойлох 200 #ХУРДЫГ тодорхойлох 10 #ШУУРХАЙ тодорхойлох 0 #Солонго_ХУРДЫГ 50 CRGB LED [NUM_LEDS] тодорхойлох;

Adafruit_NeoPixel зурвас = Adafruit_NeoPixel (NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

bool offOld = LOW;

bool WhiteOld = LOW; bool RedOld = LOW; bool GreenOld = LOW; bool BlueOld = LOW; bool TopazOld = LOW; bool LilacOld = LOW; bool RainbowOld = LOW; bool rgbOld = LOW; int showType = 0;

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

FastLED.addLeds (leds, NUM_LEDS); //////////

BT.begin (9600);

BT.println ("Arduino -той холбогдсон");

strip.setBrightness (BRIGHTNESS);

strip.begin ();

strip.show ();

}

char a;

void loop () {

for (int i = 0; i <= 59; i ++) {leds = CRGB (255, 255, 255); FastLED.show (); } bool off = LOW; bool Цагаан = LOW; bool Blue = LOW; bool Улаан = LOW; bool Green = LOW; bool Топаз = LOW; bool Lilac = LOW; bool Солонго = LOW; bool rgb = LOW; bool ende; if (BT.available ()) {a = (char) BT.read ();

хэрэв (a == 'o')

{off = HIGH; BT.println ("LED -ийг унтраах..");

} өөр {

унтраах = LOW; } // =============================================== ===========================================

хэрэв (a == 'w')

{Цагаан = ӨНДӨР; BT.println ("LED -ийг ЦАГААН ЦАГААХ");

} өөр {

Цагаан = бага; } // =============================================== ===========================================

хэрэв (a == 'b')

{Цэнхэр = ӨНДӨР; BT.println ("ХӨХРӨӨ ӨӨРЧЛӨХ"); } өөр {Цэнхэр = LOW; }

// ===========================================================================================

хэрэв (a == 'r')

{Улаан = ӨНДӨР; BT.println ("УЛААНД ӨӨРЧЛӨЛТ"); } өөр {Улаан = LOW; }

// ===========================================================================================

хэрэв (a == 'g')

{Ногоон = ӨНДӨР; BT.println ("НОГООНД ӨӨРЧЛӨЛТ"); } өөр {Ногоон = LOW; }

// ===========================================================================================

хэрэв (a == 't')

{Топаз = өндөр; BT.println ("TOPAZ -ийг ӨӨРЧЛӨХ"); } өөр {Топаз = LOW; }

// ===========================================================================================

хэрэв (a == 'l')

{Голт бор = Өндөр; BT.println ("ГОЛОЛООНЫ ӨӨРЧЛӨЛТ"); } өөр {Голт бор = LOW; }

// ===========================================================================================

хэрэв (a == 'a')

{Солонго = ӨНДӨР; BT.println ("Солонго анимэйшн"); } өөр {Солонго = LOW; } // =============================================== ===========================================

хэрэв (a == 'm')

{rgb = HIGH; BT.println ("MIX COLORS"); } өөр {rgb = LOW; }} if (off == LOW && offOld == HIGH) {саатал (20); if (off == LOW) {showType = 0; // Off анимац 0 төрлийн startShow (showType); }}

// ===========================================================================================

хэрэв (Цагаан == LOW && WhiteOld == HIGH) {

саатал (20); if (Цагаан == LOW) {showType = 1; // Цагаан хөдөлгөөнт дүрс 1 -р төрлийн startShow (showType); }}

// ================================================ =========================================== if (Улаан == LOW && RedOld == HIGH) {саатал (20); if (Red == LOW) {showType = 2; // Улаан анимац 2 -р төрлийн startShow (showType); }}

// ===========================================================================================

if (Green == LOW && GreenOld == HIGH) {

саатал (20); if (Green == LOW) {showType = 3; // Ногоон хөдөлгөөнт дүрс 3 -р төрлийн startShow (showType); }} // ============================================== ============================================

if (Blue == LOW && BlueOld == HIGH) {

саатал (20); if (Blue == LOW) {showType = 4; // Цэнхэр хөдөлгөөнт дүрс 4 -р төрлийн startShow (showType); }}

// ===========================================================================================

хэрэв (Топаз == LOW && TopazOld == HIGH) {

саатал (20); if (Топаз == ДОО) {showType = 5; // Топаз хөдөлгөөнт дүрс 5 -р төрлийн startShow (showType); }}

// ===========================================================================================

хэрэв (голт бор == LOW && LilacOld == HIGH) {

саатал (20); if (Lilac == LOW) {showType = 6; // Топаз хөдөлгөөнт дүрс 6 -р төрлийн startShow (showType); }} // ============================================== ============================================

if (Солонго == LOW && RainbowOld == HIGH) {

саатал (20);

хэрэв (Солонго == ДООД) {

showType = 8; // Солонгийн өнгийн хавтастай анимац 8 төрлийн startShow (showType); }}

// ===========================================================================================

хэрэв (rgb == LOW && rgbOld == HIGH) {

саатал (20);

хэрэв (rgb == LOW) {

showType = 7; // Mix animation 7 төрөл rgb = HIGH;

startShow (showType);

} }

WhiteOld = Цагаан;

RedOld = Улаан; BlueOld = Цэнхэр; GreenOld = Ногоон; TopazOld = Топаз; LilacOld = голт бор; offOld = унтраасан; СолонгоОлд = Солонго; rgbOld = rgb;

}

void startShow (int i) {

унтраалга (i) {

тохиолдол 0: colorWipe (зурвас Өнгө (0, 0, 0), ХУРД); // Хар/унтраасан

завсарлага;

тохиолдол 1: strip.setBrightness (255); // Brightness -ийг MAX болгож өөрчилдөг

colorWipe (зурвас Өнгө (255, 255, 255), ЯАРАЛТАЙ); // Цагаан зурвас.setBrightness (BRIGHTNESS); // Brightness -ийг анхдагч утгын завсраар дахин тохируулах;

тохиолдол 2: colorWipe (зурвас Өнгө (255, 0, 0), SPEED); // Улаан

завсарлага;

тохиолдол 3: colorWipe (зурвас Өнгө (0, 255, 0), ХУРД); // Ногоон

завсарлага;

тохиолдол 4: colorWipe (зурвас Өнгө (0, 0, 255), ХУРД); // Цэнхэр

завсарлага;

тохиолдол 5: colorWipe (зурвас Өнгө (0, 250, 255), ХУРД); // Топаз

завсарлага;

тохиолдол 6: colorWipe (зурвас Өнгө (221, 130, 255), ХУРД); // голт бор

завсарлага; тохиолдол 7: colorWipe (зурвас Өнгө (255, 0, 0), ХУРД); // Улаан colorWipe (зурвас. Өнгө (0, 255, 0), ХУРД); // Ногоон өнгө Арчих (зурвас. Өнгө (0, 0, 255), ХУРД); // Цэнхэр театрChase (зурвас. Өнгө (0, 0, 127), ХУРД); // Цэнхэр театрChase (зурвас. Өнгө (127, 0, 0), ХУРД); // Улаан театрChase (зурвас. Өнгө (0, 127, 0), ХУРД); // Ногоон завсарлага;

тохиолдол 8: солонго тойрог (25);

завсарлага; }} void colorWipe (uint32_t c, uint8_t хүлээх) {for (uint16_t i = 0; i

хоосон солонго цикл (uint8_t хүлээх) {

uint16_t i, j;

for (j = 0; j <256*10; j ++) {// дугуй дээрх бүх өнгөний 5 мөчлөг (i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, Wheel (((i * 256 / strip.numPixels ()) + j) & 255)); } strip.show (); хойшлуулах (хүлээх); }}

void театрChase (uint32_t c, uint8_t хүлээх) {

for (int j = 0; j <10; j ++) {// (int q = 0; q <3; q ++) {for (int i = 0; i <strip.numPixels (); i = i+3) {strip.setPixelColor (i+q, c); // гурав дахь пиксел бүрийг} strip.show () дээр асаана уу;

хойшлуулах (хүлээх);

for (int i = 0; i <strip.numPixels (); i = i+3) {strip.setPixelColor (i+q, 0); // гурав дахь пиксел бүрийг унтраана уу}}}}

uint32_t Wheel (байт WheelPos) {

WheelPos = 255 - WheelPos; if (WheelPos <85) {буцах зурвас. Өнгө (255 - WheelPos * 3, 0, WheelPos * 3); } if (WheelPos <170) {WheelPos -= 85; буцах зурвас Өнгө (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; буцах зурвас Өнгө (WheelPos * 3, 255 - WheelPos * 3, 0); }

Алхам 6: Гэрлийг хянах

Дэнлүүг хянах
Дэнлүүг хянах
Дэнлүүг хянах
Дэнлүүг хянах
Дэнлүүг хянах
Дэнлүүг хянах

Ухаалаг гар утасны тусламжтайгаар чийдэнгийн өнгийг хянах боломжтой.

Эхлээд та Google Play Store эсвэл Apple App Store-аас 'Bluetooth Terminal HC-05' нэртэй програмыг суулгах хэрэгтэй.

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

1. Ухаалаг утсан дээрээ bluetooth -ийг асаана уу.

2. 'Bluetooth Terminal HC-05' програмыг нээнэ үү.

3. Та одоо хосолсон төхөөрөмжүүдийг дэлгэц дээр харах ёстой. "HC-05" -ийг сонгоно уу.

4. Одоо та ухаалаг гар утсан дээрээ "Arduino -той холбогдсон" гэсэн хар дэлгэц гарч ирэх болно.

5. Энд хөгжилтэй хэсэг байна, хэрэв та текст хайрцагт 'b' гэж бичвэл гэрэл цэнхэр болж хувирна. Дэнлүүнд зориулж бичиж болох командын жагсаалтыг энд оруулав.

- цагаан өнгөтэй

- цэнхэр өнгөтэй

- ногоон өнгөтэй

- улаан өнгөтэй

- топазын хувьд

- Би голт борын хувьд

- солонго анимэйшнд зориулагдсан

- Өө унтраах

Хөгжилтэй биз дээ?

6. Эцэст нь хэлэхэд дээрх зурган дээр үзүүлсэн шиг дэлгэцийн доорх товчлуурыг хүссэн текстээ тохируулж болно.

Алхам 7: Сэтгэлийн чийдэнгээ сайхан өнгөрүүлээрэй

Сэтгэлийн чийдэнгээ сайхан өнгөрүүлээрэй !!
Сэтгэлийн чийдэнгээ сайхан өнгөрүүлээрэй !!
Сэтгэлийн чийдэнгээ сайхан өнгөрүүлээрэй !!
Сэтгэлийн чийдэнгээ сайхан өнгөрүүлээрэй !!
Сэтгэлийн чийдэнгээ сайхан өнгөрүүлээрэй !!
Сэтгэлийн чийдэнгээ сайхан өнгөрүүлээрэй !!

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

Уншсанд баярлалаа, зул сарын баярын мэнд хүргэе!

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