Съдържание:

Лампа за вълни - Време и сигнали: 7 стъпки (със снимки)
Лампа за вълни - Време и сигнали: 7 стъпки (със снимки)

Видео: Лампа за вълни - Време и сигнали: 7 стъпки (със снимки)

Видео: Лампа за вълни - Време и сигнали: 7 стъпки (със снимки)
Видео: Детето ми се храни само със зеленчуци 2024, Ноември
Anonim
Image
Image
Образ
Образ

Докато разглеждах нещата, видях тази невероятна вълнова лампа и трябваше да я изградя.

www.thingiverse.com/thing:774456

Лампата е много добре проектирана и печата без никакви опори (трябва да се отпечата отстрани)

Също така има основа на лампа, която приема LED ленти

Образ
Образ

И разбира се, не можех просто да го оставя да бъде нощна лампа. Трябваше да направя wifi и да покажа времето. Така че, използвам повсеместен модул ESP8266 с светодиоди WS2812B, за да контролирам цвета на светлините въз основа на днешната прогноза. Освен това светлината се изключва автоматично в 22:00 часа и се включва в 6:00 сутринта.

Стъпка 1: Изисквания

Изисквания
Изисквания
Изисквания
Изисквания

За да създадете тази вълнова лампа, ще ви трябват следните елементи:

Инструменти:

  1. 3D принтер - такъв, който може да отпечатва поне 30-35см
  2. USB-TTL модул за програмиране на ESP-12E
  3. Пистолет за горещо лепило
  4. Поялник

Консумативи:

  1. PLA - бял за лампата и друг цвят за основата
  2. 30 WS2812B адресируеми RGB светодиоди
  3. ESP8266 - 12E
  4. 74HCT245N
  5. 5V захранване
  6. 5V-3.3V преобразувател на мощност
  7. Няколко заглавни щифта и резистори
  8. Припой

Стъпка 2: 3D печат

3D печат
3D печат
3D печат
3D печат
3D печат
3D печат

3D печат на следните парчета

Лампата

  1. Отпечатайте с бял PLA, завъртян отстрани
  2. Подпори и салове не са необходими
  3. Въпреки че използвах 5 мм периферия, за да се уверя, че тя остава залепена за леглото по време на печат
  4. Използвах следните настройки:

    • 0,8 мм вулканична дюза и 0,3 мм височина на слоя.
    • 2 периметра
    • 100% пълнене (това всъщност няма значение, тъй като парчетата са толкова тънки, че така или иначе се пълнят)
  5. Внимавайте - това е ОГРОМЕН печат и отнема много време. Така че, ако не ви е удобно да оставяте принтера си за една нощ (или за няколко нощи), това не е за вас. Отпечатайте го с помощта на 3Dhubs. Моят отне ~ 30 часа

Стойката

  1. Модифицирах стойката с помощта на TinkerCAD, за да създам кухина в основата за електрониката. Можете да го изтеглите от тук:
  2. Отпечатайте с цветна PLA (използвах дървен материал):

    • 0,8 мм вулканична дюза и 0,3 мм височина на слоя.
    • 2 периметра
    • 20% пълнене
  3. Бъдете предупредени обаче - кухината, която създадох, няма никакви опори и вътрешността става малко объркана (особено с PLA за дървесина, която не се свързва добре)

Върха

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

  1. https://www.tinkercad.com/things/5aD6V4O0jpy
  2. Подкрепи и салове не са необходими
  3. Използвах следните настройки:

    • 0,8 мм вулканична дюза и 0,3 мм височина на слоя.
    • 2 периметра
    • 30% пълнене

Стъпка 3: Електронна схема

Електронна схема
Електронна схема
Електронна схема
Електронна схема
Електронна схема
Електронна схема

Схемата, използвана за тази лампа, е изключително проста и ако вашите WS2812Bs (някои работят, други не) работят при 3.3V сигнал, това е още по -просто, тъй като след това можете да избегнете 74HCT245N.

Основната верига (вижте схемата по -горе):

  1. ESP-12E (можете да пропуснете тези стъпки, ако използвате някой от предварително изградените модули от Adafruit, Sparkfun и т.н.):

    • Свържете щифтове 3 и 8 към 3.3V
    • Свържете щифтове 1, 11 и 12 към 3.3V чрез 10k резистор
    • Свържете щифтове 9 и 10 към GND
    • Свържете щифт 12 към GND чрез отворен 2-пинов конектор. Тези щифтове могат да бъдат свързани заедно за програмиране на ESP-12E
    • Свържете щифтове 15 и 16 към щифтовете на заглавката (това са RX и TX щифтове, използвани за програмиране на ESP-12E)
  2. 74HCT245N (игнорирайте това, ако вашите светодиоди WS2812B работят директно при 3.3V)

    • Свържете щифтове 1 и 20 към +5V
    • Свържете щифтове 10 и 19 към GND
    • Свържете щифт 2 към щифт 13 на ESP-12E
  3. WS2812B

    • Свържете +5V и GND съответно към щифтовете +5V и GND
    • Свържете DIN към щифт 18 на 74HCT245N
    • Ако пропускате 74HCT245N, свържете DIN към щифт 13 на ESP-12E

Уверете се, че всички GND са свързани заедно. Уверете се, че не свързвате +5 или +3,3 към GND.

Имах няколко дъски, лежащи от по -ранен проект и просто ги използвах (изображенията по -горе)

github.com/dushyantahuja/ESP8266-RGB-W-LED…

Стъпка 4: Програмиране на ESP-12E

Програмиране на ESP-12E
Програмиране на ESP-12E

Използвах Arduino IDE, за да кача кода в ESP-12E. Нуждае се от настройка, преди да можете да направите това.

Настройване на Arduino IDE

Последната версия на Arduino IDE улесни програмирането на тези платки и вече не се налага да преминавате през множество обръчи, за да го накарате да работи с платките ESP8266.

Стъпките са както следва:

  1. Изтеглете най -новата IDE от
  2. Отворете IDE и отидете на Tools -> Boards -> Boards Manager …
  3. Потърсете ESP8266 и щракнете върху инсталиране (вижте изображението по -горе)

Програмиране на модула

Този модул не се предлага с USB интерфейс, така че трябва да използвате USB-TTL модул / arduino, за да управлявате USB комуникацията с компютъра. Можете да си купите някой от евтините модули, налични в ebay (https://www.ebay.com/sch/i.html?_from=R40&_sacat=0&…) - всички работят по един и същи начин - но имайте предвид, че трябва да намерите правилните драйвери, така че че вашият компютър открива модула.

Връзките са доста прости:

  1. Свържете GND от USB-TTL към щифта с маркировка GND на ESP-12E
  2. Свържете 3.3V от USB-TTL към щифта с маркировка VCC на ESP-12E
  3. Свържете TX от USB-TTL към щифта с маркировка RX на ESP-12E
  4. Свържете RX от USB-TTL към щифта с маркировка TX на ESP-12E
  5. Съкратете заглавката на програмата, така че ПИН 12 да се свърже с GND

Модулът вече е готов за програмиране.

Стъпка 5: Кодът

Кодът е силно зависим от урока по уроци за случайни глупаци https://randomnerdtutorials.com/esp8266-weather-fo…-всъщност метеорологичните битове се копират само от там.

  1. Инсталирайте следните библиотеки:

    • FastLED (https://fastled.io)
    • ArduinoOTA (https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA)
    • ArduinboJSON (https://github.com/bblanchon/ArduinoJson)
  2. Вземете OpenWeatherMap API (https://openweathermap.org/api)
  3. Изтеглете кода от github:
  4. Направете следните промени:

    • Wifi и парола на линии 56 и 57
    • Град и ключ за API на линии 23 и 24
  5. Качете в ESP-12E

Ако всичко е наред, кодът се качва, вашият модул се свързва с wifi рутера и показва времето. В момента съм настроил така, че:

  1. Ако ще бъде облачно / дъжд - Синьо
  2. Ако ще вали сняг / гръмотевични бури - Червено -синьо
  3. Ако е ясно - Зелено
  4. Else Rainbow - за отчитане на специални условия / грешки

Можете да направите промени в редове 365-377, за да ги промените. Използваните палитри са на редове 70-82

Стъпка 6: Сглобете

Image
Image
Arduino конкурс 2017
Arduino конкурс 2017

Съберете следните части:

  1. Увийте LED лентата към LED стойката и залепете с горещо лепило
  2. Поставете модула на веригата в долната част и го залепете с горещо лепило
  3. Плъзнете вълновата лампа в горната част на LED стойката
  4. Поставете горната част отгоре

Включете 5V захранване и се наслаждавайте

Стъпка 7: Бъдещи планове

Засега работи, но смятам да добавя следните функции:

  1. Включете MQTT, така че да може да бъде свързан с OpenHAB
  2. Може би създайте някаква функция за известяване за пропуснати повиквания / съобщения
  3. Събуди се светлина

Предложенията са добре дошли. И ако създадете такъв, не забравяйте да публикувате изображение тук.

Препоръчано: