Магический куб Music Visualizer на Led RGB Matrix Panel
скетч с библиотеками здесь Hyper music computer.zip - Google Диск
Инструкция:
Вам понадобятся светодиодная панель соответствующая требованиям библиотеки(читай мануал к библиотеке) , блок питания и esp32 как в этом посте Часы с погодой RGB на LED P4 panel и ESP32. | Пикабу (pikabu.ru)
подключать звук к 32 и 33 пинам через Jack 3.5 лучше через Аудио разделительные трансформаторы. сама панель подключается напрямую к ESP32 проводками или шлейфом к следующим пинам (библиотека модифицирована под конкретно мою панель, перед покупкой панели ознакомьтесь с поддерживаемыми вариантами библиотеки) :
#define R1_PIN 1
#define G1_PIN 2
#define B1_PIN 4
#define R2_PIN 5
#define G2_PIN 18
#define B2_PIN 19
#define A_PIN 21
#define B_PIN 22
#define C_PIN 23
#define D_PIN 25
#define E_PIN 26
#define LAT_PIN 14
#define OE_PIN 27
#define CLK_PIN 12
#define GPIO_PWM0A_OUT GPIO_NUM_12
#define GPIO_SYNC0_IN GPIO_NUM_25
DIY подсветка пекарни на ардуинах
Делал примерно пол года, весьма неспешно, с корректировками и тд
видеозахват выводит с экрана на все устройства, клавиатура, мышь, ковер мыши, все леды в корпусе пк, и 420 ледов на мониторе сзади
Можно просто включать разные эффекты, и они так же синхронизированно выводятся на все леды, видео с эффектами можно найти на ютубе по запросу signalrgb
Всего около 1000 диодов.
Как подготовить машину к долгой поездке
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.
Arduino и кулер
Друзья , возник вопрос. Можно ли из arduino nano сделать контроллер подсветки для argb кулера 5v 3pin ?
Компьютер под Cyberpunk
Если кто-то действительно захочет повозиться со сборкой, скину скетч и объясню как сделать.
RGB подсветка мышки на Arduino
Всем привет. Сегодня я покажу как можно доработать подсветку мыши. Сделал я её на светодиодах ws2812b, которые ещё называют адресными.
Решил я это сделать, потому что у моей мыши была обычная подсветка синего цвета.
Внутри стояли три светодиода, которые просто горели и никак не управлялись.
И сразу фото результата.
А теперь как это всё устроено.
Приделал на двухсторонний скотч 8 светодиодов. Справа в посадочном месте стоял грузик, вместо него отлично встала ардуинка.
Световые эффекты в прошивке поделил на четыре зоны: левая кнопка, правая, четыре светодиода в центре, два внизу. Для реализации одного из эффектов подключил потенциометр колёсика к ардуине, чтобы определять вращается колёсико или нет.
Перейдём к коду прошивки.
********************************************
#include <Thread.h>
Thread bodyT = Thread();
Thread lbT = Thread();
Thread rbT = Thread();
Thread counterT = Thread();
Thread idlT = Thread();
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 7
#define NUM_LEDS 8
#define IDLS 600 //idle mode delay in seconds
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
const int wheelPin = A0;
uint16_t i=0, j=0; //body
uint16_t ti=0, tj=0; //tail
uint16_t jlb=0; //left button
uint16_t jrb=150; //right button
int bo[]={0,2,3,4,5,1}; //body order
int idlo[]={0,2,3,7,6,4,5,1}; //idle order
int wos=0; //wheel order position
byte wh=0;
bool idle=false; //idle state
int idlet=0; //idle time counter
int idlei=0; //idle led pos 1
int idlen=0; //idle led pos 2
void setup() {
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
strip.begin();
strip.setBrightness(50);
strip.show();
bodyT.onRun(bodyF);
bodyT.setInterval(20);
lbT.onRun(lbF);
lbT.setInterval(15);
rbT.onRun(rbF);
rbT.setInterval(70);
counterT.onRun(counterF);
counterT.setInterval(1000);
idlT.onRun(idlF);
idlT.setInterval(3000);
}
void loop() {
if (counterT.shouldRun()) counterT.run();
if (!idle) {
if (bodyT.shouldRun()) bodyT.run();
if (lbT.shouldRun()) lbT.run();
if (rbT.shouldRun()) rbT.run();
} else {
if (idlT.shouldRun()) idlT.run();
}
if(wh==1) {
if(analogRead(wheelPin)>500) {tail();wh=2;}
} else {
if(analogRead(wheelPin)<500) {tail();wh=1;}
}
}
void counterF() {
if(!idle) idlet++;
if(idlet>IDLS) idle=true;
}
void idlF() {
strip.setPixelColor(idlo[idlei], Wheel(((idlei * 256 / strip.numPixels()) + j) & 255));
strip.show();
delay(75);
if(idlei==0) idlen=7; else idlen=idlei-1;
strip.setPixelColor(idlo[idlen], strip.Color(0, 0, 0));
strip.show();
if(idlei==7) idlei=0; else idlei++;
j++;
if(j>=256*5) j=0;
}
void tail() {
idle=false;
idlet=0;
for(ti=0; ti< 2; ti++) {
strip.setPixelColor(ti, Wheel(((ti * 256 / strip.numPixels()) + tj) & 255));
}
strip.show();
tj+=20;
if(tj>=256*5) tj=0;
}
void bodyF() {
for(i=2; i< strip.numPixels()-2; i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
j++;
if(j>=256*5) j=0;
}
void lbF() {
strip.setPixelColor(7, Wheel((7+jlb) & 255));
strip.show();
jlb++;
if(jlb>=106) jlb=0;
}
void rbF() {
strip.setPixelColor(6, Wheel((6+jrb) & 255));
strip.show();
jrb++;
if(jrb>=256) jrb=150;
}
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 - WheelPos;
if(WheelPos < 85) {
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
}
if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
WheelPos -= 170;
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}
***************************************************Вкратце по коду. Три функции: для каждой кнопки и средней зоны. Ещё одна функция для нижней зоны, которая срабатывает при вращении колёсика. Функция счетчика времени простоя. И функция для эффекта во время простоя, запускающаяся после 10 минут бездействия.
Также в этом проекте я освоил библиотеку Thread.h. Она позволяет как бы одновременно выполнять несколько функций. Но это не настоящая многозадачность конечно же. Ведь это ардуино.
Эффекты такие: на левой кнопке переход с оранжевого на зелёный цвет, на правой с синего на красный с меньшей скоростью, в центральной зоне эффект радуги и в нижней зоне меняющиеся цвета при вращении колёсика. В режиме простоя один бегущий светодиод разными цветами.
Вот остальные фото и видео.
На этом всё. Всем пока.
Часы с погодой RGB на LED P4 panel и ESP32.
Нам понадобится:
Led RGB P4 panel. Поставляется обычно со всеми проводочками.
Модель панели.
ESP32
Источник питания - любой на 5V 6A.
Резистор 4.7 КОм паять на OE=LAT.
Припаиваем шлейф который идет в комплекте к ESP32.
Разъем панели = пин на esp32.
Все остальные пины GND панели соединяем с пинами esp32.
Для прошивки понадобится ардуино IDE.
Скетч + библиотеки: https://yadi.sk/d/BJWZ0oEA3ZQ2AA
Вводите логин пароль от WiFi.
Для получения погоды нужно зарегистрироваться на сайте openweathermap.
Ну и выставляете часовой пояс.
О том как подружить ESP 32 и Arduino IDE я рассказывать не буду, есть куча инфы в инете.
Нужна помощь в подборе mosfet для Atmega.
Доброго времени суток.
Собственно стоит задача управлять светодиодной rgb лентой через атмегу (сейчас на макетке Leonardo в лайоуте разводится плата под atmega328 в корпусе QFP-32).
Все поиски приводят к irfz44. Но в моем случае он очень мощный и громоздкий, максимум нужно 2 ампера, и корпус что то типа sot23 или to263.
Подскажите пожалуйста, может быть кто то сталкивался с подобными задачами.
Буду безумно благодарен! Всем печенек!
ЗЫ. На сколько понимаю, irfz44 может дать плавное "зажигание" цвета (поправьте если не прав) и сохранится ли этот эффект на другом мосфете?