реклама

Кулите на настолните компютри изминаха дълъг път от времето на сивите пластмасови кули, скрити под бюра. Наред с случаите, които изпълняват различни функции, случаите с компютри са развили чувство за естетика със стъкло панели с гордост демонстрират компоненти и силни футуристични дизайни, които заемат централно място върху гордите маниаци бюро.

десктоп компютър странична кула led осветление

LED инсталациите стават все по-често срещани. Един прост 12v RGB лентата може да се купи за най-малко $ 1 на метър и ще запали вътрешността на кутия (заедно с почти всичко друго) напълно добре.

Ние обаче искаме да направим нещо малко по-специално от това! Днес ще използваме пикселни светодиоди, за да създадем контролирано от Wi-Fi осветление на корпуса, по поръчка Ако това тогава това (IFTTT) известия. Цялата тази система се захранва с помощта на резервен Molex конектор вътре в кулата, което я прави напълно самостоятелна. Най-хубавото е, че целият този проект струва под 10 долара.

Този урок е достъпен във видео форма по-долу или продължавайте да четете за писмената версия.

instagram viewer

Светлини с мозъци

За този проект ще използваме индивидуално адресируеми светодиоди. Понякога известен като Neopixels, има различни модели, от които да избирате. Използваните тук светодиоди са от a WS2812B лента, налична за около $ 4 на метър.

Ще използваме NodeMCU дъска, за да ги контролирате. Въпреки че можете да използвате всяка Arduino съвместима платка с Wi-Fi, NodeMCU е наш фаворит като Ардуино убиец Запознайте се с Arduino Killer: ESP8266Ами ако ви кажа, че има съвместим с Arduino плат за разработка с вграден Wi-Fi за по-малко от 10 долара? Е, има. Прочетете още .

От какво имаш нужда

  1. 1 x 5v пикселна LED лента, Neopixel / WS2811 / 12 / 12B
  2. 1 x NodeMCU ($ 3 на AliExpress)
  3. 1 x 220-500 Ohm резистор
  4. 1 х 100-1000 микрофараден кондензатор
  5. 1 x Превключвател или прекъсвач
  6. 1 x женски Molex конектор
  7. 1 х тавичка
  8. 1 x 5V захранване (за тестване)
  9. 1 x протоплатка и проводник (за инсталиране на веригата)
  10. Различни проводници за търсене
  11. Запояващо желязо и спойка

Единственото нещо в този списък, което е необичайно тук, е Molex конектор. Много собственици на компютри в наши дни изобщо не използват CD устройство в своите версии, въпреки че захранващите устройства все още идват с връзка за тях. Можем да използваме тези резервни електропроводи в наша полза. Спасих женския си конектор от старо дисково устройство, въпреки че те са достъпни за най-малко $0.30.

Изградете своя кръг

За да избегнем ненужното общуване в нашия случай, ще тестваме нашата настройка, използвайки външно захранване. Настройте таблото си така.

доведена кутия

Ако това е първият ви път за настройка на този тип светодиоди, бих посъветвал да погледнете нашето задълбочено ръководство първо да използвате тези ленти с Arduino.

Превключвателят просто прекъсва NodeMCU от веригата. В тази конструкция всъщност ще използвам обикновен прекъсвач вместо превключвателя. Неговата функция е да ни позволи да изолираме дъската VIN пин, докато е свързан чрез USB. Въпреки че количеството мощност, което нашите светодиоди ще черпят, е сравнително малко, добра практика е да избягвате да дърпате прекалено много енергия през USB.

След като Вашата дъска е настроена, тя трябва да изглежда така:

настройка на дъската

В моя пример кондензаторът и резисторът вече са на протоборда, тъй като беше спасен от по-стар проект, въпреки че веригата е абсолютно същата.

Сега, когато имаме инсталиран хардуер, нека създадем нашия код.

Мозъците на операцията

Ще кодирате вашия NodeMCU с помощта на Arduino IDE. За този пример ще настроим два режима на работа, главен превключвател за включване / изключване и сигнал за известие при получаване на имейл. Ще използваме Blynk [Broken URL Remove Remove], уеб услуга за устройства на Интернет на нещата, за да комуникираме с нашия съвет.

Не забравяйте да проверите нашите Blynk уводна статия Първи стъпки с Blynk: прости DIY IoT устройстваBlynk е услуга на Интернет на нещата (IoT), предназначена да направи дистанционното управление и четене на данни от сензорите от вашите устройства възможно най-бързо и лесно. Прочетете още ако никога досега не сте го използвали

В приложението Blynk създайте нов проект и изберете NodeMCU за вашия съвет. Код за упълномощаване ще бъде изпратен на вашия имейл адрес, регистриран в Blynk. Добави 3 бутона и 3 плъзгача.

плъзгачи и бутони за приложения

Тези бутони и плъзгачи трябва да бъдат настроени да изпращат стойности към виртуални пинове V0-V5. Бутонът „Тест“ засега ще тества известието ни по имейл. Маркирайте другите два бутона мощност и Auto / Manual или нещо подобно и трите плъзгача са за червен, зелен, и Син.

Сега отворете Arduino IDE. За този проект ще ви трябват библиотеките Blynk и FastLED, така че се уверете, че сте инсталирали и двете. Ако тепърва започвате с Arduino IDE, проверете нашето ръководство за начинаещи Arduino Първи стъпки с Arduino: Ръководство за начинаещиArduino е платформа за създаване на прототипи за електроника с отворен код, базирана на гъвкав, лесен за използване хардуер и софтуер. Той е предназначен за художници, дизайнери, любители и всички, които се интересуват от създаването на интерактивни обекти или среди. Прочетете още .

Тук ще разбием кода на парчета, въпреки че ако предпочитате просто да изтеглите пълния код, можете да го намерите на GitHub.

Ако решите да направите това, не забравяйте да добавите към скрипта свои собствени данни за Wi-Fi, код за упълномощаване и съответния пин на NodeMCU и брой светодиоди. Ако тепърва започвате да изучавате програмиране, бих го прегледал от нулата, за да науча как работи всяка част. Това е един от многото начини да се захващайте с кодирането Как да научите програмиране без целия стресМоже би сте решили да се занимавате с програмиране, било то за кариера или просто като хоби. Страхотен! Но може би започвате да се чувствате претоварени. Не е толкова страхотно. Ето помощ за улесняване на пътуването ви. Прочетете още .

Създайте нова скица и я запишете с подходящо име. Не забравяйте да изберете правилната дъска и порт от Инструменти > борд и Инструменти > порт менюта. Започнете с включване на съответните пространства за имена Blynk и FastLED:

#define BLYNK_PRINT сериен. #include 
#include 
#include "FastLED.h"

След това добавете някои определения за FastLED:

// FastLED дефиниции и CRGB #define LED_PIN 3 // GPIO щифт за RGB светодиоди. #define NUM_LEDS 44 // Брой свързани светодиоди. #define BRIGHTNESS 64 // LED яркост по подразбиране. #define LED_TYPE WS2812B. #define COLOR_ORDER GRB. CRGB води [NUM_LEDS];

След това ще декларираме променливи за нашите RGB стойности, нашия автоматичен / ръчен режим и нашия главен превключвател. Ние също добавяме стойност за основен цвят, изисквана от предварително зададения FastLED, който ще използваме по-късно.

// променливи за нашите RGB стойности (0-1023) int r = 500; int g = 500; int b = 500; // променливи за включване / изключване и автоматично / ръчно превключване. int masterSwitch = 1; int autoMode = 1; // int / byte за автоматично увеличаване на нюанса uint8_t gHue = 0; // въртящ се "основен цвят", използван от много от моделите.

Когато добавяте своите данни за Blynk, не забравяйте да попълните своите собствени данни за Wi-Fi тук:

// Blynk auth код и подробности за wifi char auth [] = "YourAuthCode"; // Упълномощаване на Blynk. char ssid [] = "YourWifiName"; char pass [] = "YourWifiPassword";

Използваме нашата функция за настройка, за да добавим нашите светодиоди към FastLED и да установим комуникация с Blynk.

void setup () {// забавяне при забавяне на безопасността при включване (3000); Serial.begin (9600); // добавете светодиодите към FastLED и задайте яркостта FastLED.addLeds(светодиоди, NUM_LEDS) .setCorrection (ТипиченSMD5050); FastLED.setBrightness (Яркост); #define FRAMES_PER_SECOND 120 // започне комуникация със сървъра Blynk Blynk.begin (auth, ssid, pass); }

Използвайте if-инструкции във вашата Loop функция, за да правите различни неща в зависимост от това в какъв режим сте.

void loop () {Blynk.run (); ако (masterSwitch == 0) {for (int i = 0; i 

Сега използвайте BLYNK_WRITE функции за промяна на тези променливи в зависимост от това, което сте избрали в приложението Blynk:

// Главно включване / изключване BLYNK_WRITE (V0) {masterSwitch = param.asInt (); } // Червена стойност на плъзгача BLYNK_WRITE (V1) {r = param.asInt (); } // Зелена стойност на плъзгача BLYNK_WRITE (V2) {g = param.asInt (); } // Синя стойност на плъзгача BLYNK_WRITE (V3) {b = param.asInt (); } // Превключване на автоматичен / ръчен режим BLYNK_WRITE (V4) {autoMode = param.asInt (); }

И накрая, направете функция, която причинява повторна последователност от червени светлини да се използва като известие по имейл. Това е създадено, за да задейства независимо какво друго се случва, което означава, че винаги ще получавате известието, дори ако светлините в момента са изключени.

// Индикатор за известяване по имейл BLYNK_WRITE (V5) {int g = param.asInt (); ако (g == 1) {for (int a = 0; a <10; a ++) {for (int i = 0; i 

След като имате този пълен код на място, използвайте превключвателя / прекъсвача, за да изолирате NodeMCU от веригата и го включете през USB. Качете скицата на дъската. След като го качите, изключете USB кабела и свържете 5V захранването. Всичко е добре, LED лентата трябва да се стартира в автоматичен режим, който е fill_rainbow режим от FastLED. Можете да тествате сигнала за известяване с помощта на тестовия бутон.

тестване на светодиодни светлини

Както можете да видите тук, аз поставих светодиодите си приблизително отстрани на моя случай, така че знаех колко ще ми трябват. В моя случай беше 44, макар че използвам мини кула, така че може би ще можете да използвате много повече. Просто не забравяйте да вземете предвид захранването на светодиодите, които използвате, и колко може да осигури захранването на вашия компютър.

Конфигуриране на IFTTT

Ще използваме Интеграция на IFTTT с Gmail за да задействаме последователността си с уведомления. Ако никога досега не сте използвали IFTTT, ще бъдете изумени от многото начини, по които можете автоматизирате любимите си уеб приложения Ако това е след това: Свържете и автоматизирайте всякакви две от любимите си уеб приложенияСвържете всеки от любимите си уеб приложения по творчески начини. Един вид "цифрова канална лента" според Linden Tibbets, създателят на приложението, If This then That (ifttt) ви позволява да намерите нови приложения за ... Прочетете още .

Настройте нов аплет. За „Това“ изберете Всеки нов имейл във входящата поща от Gmail канал. За „Това“ изберете Създаване на уебшокове и Направете уеб заявка.

Разделът за URL е мястото, където наричаме нашия пин за уведомяване. Ще трябва да промените URL адреса, за да работите с вашия проект. Форматът е http://BlynkIpAddress/YourAuthCode/pin/V5. Можете да намерите ip на Blynk, като напишете ping blynk-cloud.com в командния ред.

ifttt URL

Избирам СЛАГАМ като метод, и прилагане / JSON като Тип съдържание. Накрая добавете [“1”] към тяло след това щракнете върху Създайте действие.

Сега, всеки път, когато имейл пристига във входящата поща на Gmail адреса, свързан с IFTTT, той ще изпрати съобщение „1“ на Virtual Pin 5 на сървъра Blynk, което ще задейства нашето известие. Опитайте да изпратите имейл, за да го тествате. Бъдете търпеливи, IFTTT може да отнеме известно време!

Сега можете да се отървете от бутона Test в приложението Blynk, ако желаете.

Поставяме всичко заедно

Сега, когато имаме всичко тествано, е време да завършим и инсталираме нашия хардуер. Преместете проекта си от дънната платка върху протоборда. Ако сте нови за запояване и търсите няколко съвета, проверете нашето ръководство за запояване Научете как да спойкате с тези прости съвети и проектиМалко ви е сплашена мисълта за горещо желязо и разтопен метал? Ако искате да започнете да работите с електроника, ще трябва да се научите да спойкате. Нека помогнем. Прочетете още .

Преди да прикачите Molex конектора към платката, обърнете внимание кои щифтове ще използвате. Мъжкият конектор, идващ от захранването на вашия компютър, ще има четири кабела. Двата черни кабела са обикновени заземяващи кабели, жълтият кабел е + 12v, а червеният е + 5v. Уверете се, че прикрепите съответните щифтове на женския конектор към платката. Реших да прикачам само два пина, за да избегна случайно пържене на дъската и светодиодите!

Molex

Реших да свържа DuPont кабели между моята платка и светодиоди, така че страната на корпуса на компютъра все още да може да бъде премахната напълно, без да се налага да премахвате протоплатката. Предлагам да поставите вашите светодиоди върху кутията и да ги закрепите с лента, за да проверите дали те се вписват в кутията правилно, когато са затворени.

Забележка: Когато заедно запоявате своите LED ленти, линиите за данни трябва да се движат в една и съща посока. Това ще бъде обозначено на лентата.

ленти с лепило

И накрая, монтирайте протоборда в кулата на вашия компютър. Тъй като това е временна конструкция за мен, аз избрах да изолирам гърба на дъската и да я привържа с ципа до гърба на моята кутия. Въпреки това решите да прикрепите платката, внимавайте да не причините късо съединение и внимавайте за опасността от статично електричество на вътрешните компоненти.

просветен

просветено led осветление завършено

Всички са добре, трябва да имате напълно функционална светлина, управлявана от Wi-Fi, с автоматични известия по имейл. Сега, когато имате тази система на място, можете да използвате ключа за убиване на дъската, за да включите NodeMCU безопасно чрез USB и да промените кода. Можете да опитате да добавите друго известие, интегрирано с IFTTT (синя светлина за споменавания в Twitter или Facebook например) или експериментирайте с персонализирани настройки в библиотеката FastLED, за да дадете малко на светлините си движение.

Инсталирали ли сте светодиоди в кулата на вашия компютър? Настроихте ли страхотна автоматизация за тях? Уведомете ни за вашите проекти и планове в секцията за коментари по-долу!

Кредитна снимка: Дейвид Браун / Flickr

Иън Бъкли е журналист на свободна практика, музикант, изпълнител и продуцент на видео, живеещ в Берлин, Германия. Когато не пише или е на сцената, той се занимава с „Направи си сам“ електроника или код с надеждата да стане луд учен.