ARDUINO Огненый светильник. Обсуждение проекта

Good_win

✩✩✩✩✩✩✩
20 Ноя 2018
10
6
Доброго времени суток.
На основании проекта "ОГНЕННЫЙ СВЕТИЛЬНИК" я сделал подсветку в книжном шкафу. Но т.к. у меня arduino стоит сверху то и лента направлена сверху в низ И в режиме имитации огня "огонь горит" сверху в низ.
Подскажите, пожалуйста, есть возможно изменить код так, чтобы развернуть "огонь" на 180 градусов?? видео подсветки
 

Kort

★✩✩✩✩✩✩
31 Янв 2019
23
10
Если я правильно понимаю у ленты есть стрелочки у каждого куска. Вот относительно них и переверни. Ну если в програмном коде надо глянуть, по идее это счетчик перевернуть вместо i от 0 до "количество диодов" i++ сделать от "количество диодов" до 0 соответственно I-- (честно не помню как огонь сделан но обычно перебор диодов есть везде)
 

Good_win

✩✩✩✩✩✩✩
20 Ноя 2018
10
6
Если я правильно понимаю у ленты есть стрелочки у каждого куска. Вот относительно них и переверни. Ну если в програмном коде надо глянуть, по идее это счетчик перевернуть вместо i от 0 до "количество диодов" i++ сделать от "количество диодов" до 0 соответственно I-- (честно не помню как огонь сделан но обычно перебор диодов есть везде)
Спасибо, попробую.
 

Good_win

✩✩✩✩✩✩✩
20 Ноя 2018
10
6
Если я правильно понимаю у ленты есть стрелочки у каждого куска. Вот относительно них и переверни. Ну если в програмном коде надо глянуть, по идее это счетчик перевернуть вместо i от 0 до "количество диодов" i++ сделать от "количество диодов" до 0 соответственно I-- (честно не помню как огонь сделан но обычно перебор диодов есть везде)
Значение менять тут? ссылка на код gyverLight_by_Vadim
// ****************************** ОГОНЬ ******************************
#define COOLING 55
// SPARKING: What chance (out of 255) is there that a new spark will be lit?
// Higher chance = more roaring fire. Lower chance = more flickery fire.
// Default 120, suggested range 50-200.
#define SPARKING 110
void fire() {
random16_add_entropy( random());
Fire2012WithPalette(); // run simulation frame, using palette colors
}
void Fire2012WithPalette()
{
// Массив значений температуры для каждого диода
static byte heat[NUM_LEDS];
// Шаг 1. Охладим немного каждый светодиод
for ( int i = 0; i < NUM_LEDS; i++) {
heat = qsub8( heat, random8(0, ((COOLING * 10) / NUM_LEDS) + 2));

и тут

// ****************** СЛУЖЕБНЫЕ ФУНКЦИИ *******************

void fade() {

for (byte i = 0; i < NUM_LEDS; i++) {
 
Изменено:

Ntahe

✩✩✩✩✩✩✩
21 Фев 2019
3
0
Здравствуйте, я тут собрал "огненный светильник" и вроде запустилось, но одна только лента и не реагирует на сенсор, сенсор дико греется, все соединения проверил, все ленты прозваниваются, контакт есть, напряжение на них приходит, но горит только одна
 

Ntahe

✩✩✩✩✩✩✩
21 Фев 2019
3
0
с сенсором ладно, ещё 4 штуки есть, а по ошибкам монтажа... а что там может быть то? вроде просто 4 куска в параллель?
 

Kort

★✩✩✩✩✩✩
31 Янв 2019
23
10
Уже писали о возможности коротыша на алюминиевое основание. Проверь источник тока странно что прям выгорело что то. Прозвони все провода на коротыши.

З.Ы. Я еще тот паяльщик, нафигарил аж самому стыдно. Прозвонил коротышей нету, запустил все норм работает. Я вот у дигипарка убил загрузчик пару раз это да, и походу дуинку перегрел :(
 

Ntahe

✩✩✩✩✩✩✩
21 Фев 2019
3
0
Нашел, в двух местах на основание контакт ушёл (
 

Bars051

✩✩✩✩✩✩✩
31 Дек 2018
5
0
Странно что никто не пишет здесь о проблемах связянных с питанием. В коментах на сайте много у кого проблемы.
 

Bars051

✩✩✩✩✩✩✩
31 Дек 2018
5
0
собрал все по схеме, взял заволявшийся БП на 3 А 5в. при питании от компа все ок, как только подключаешь питание БП кнопка начинает глючить - срабатыват сама собой ...
В коментах пишут что помогает установка конденцатора на 1000 микрофарат на пины +5 и gnd ардуино.
помогло, но полностью проблему не решило - работает минуты 3 и потом начинает глючить ....
 
Изменено:

Belik

✩✩✩✩✩✩✩
6 Мар 2019
4
0
Прошу помощи в доработке скетча под реализацию дополнительной функции индикациии уровня заряда аккумулятора. (собираюсь сделать светильник автономный и хочется реализовать индикатор уровня заряда силами самого светильника).
Как замерить уровень заряда ардуиной я нашел, вот код:
C++:
// пин для считывания напряжения
int pin_read = A1;
// максимальный заряд аккумулятора
float max_v = 4.25;
// минимальный заряд аккумулятора
float min_v = 2.75;

void setup(){
// установка опорного напряжения для аналоговых входов
analogReference(INTERNAL);
// вывод данных в монитор порта
Serial.begin(9600);
}
void loop(){
float Vbat = (analogRead(pin_read) * 1.1) / 1023;
float del = 0.0998; // R2/(R1+R2) 1.008кОм / (10кОм + 1,008кОм)
float Vin = Vbat / del;
// уровень заряда в процентах
int proc = ((Vin - min_v) / (max_v - min_v)) * 100;
// вывод данных в монитор порта
Serial.println(Vin);
Serial.println(proc);
delay(1000);
}
Этот Код благополучно интегрируется в основной скетч проекта и отсылает как значения напряжения на аккумуляторе так и процентное значение уровня заряда.

Задача дописать код который будет по определенному нажатию на сенсор (допустим 5ти кратное нажатие) прерывать текущий режим свечения, и на несколько секунд отрисовывать уровень заряда аккумулятора пропорционально измеренному значению (допустим длину ленты разделить на 3 сегмента красный-желтый-зеленый) и после индикации вернуться к отрисовке прерваного основного графического эффекта.

Ua3ESQ2R_uQ.jpg
 
Изменено:

Taipan2511

✩✩✩✩✩✩✩
6 Мар 2019
3
0
Повторил. Работает замечательно. Большое спасибо автору . Огромная благодарность модераторам за ответы. Я пока в программировании Ардуино -0 и реализовать свое предложение не могу. А он таково. Цвета режима "огня " не естественны, много красного. Нельзя ли сделать тоже, но в оранжевых и желтоватых тонах. Спасибо.
 

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
208
@Taipan2511, если присмотреться, в прошивке есть три пользовательских палитры для эффекта огня, которые можно поменять, как хочется.
 

Taipan2511

✩✩✩✩✩✩✩
6 Мар 2019
3
0

Taipan2511

✩✩✩✩✩✩✩
6 Мар 2019
3
0

Dmitry Markov

✩✩✩✩✩✩✩
9 Апр 2019
10
1
Рига, Латвия
Всем привет. Всё понравилось, всё красиво, и что самое приятное работает...
Просто меня несколько коробит, что сигнальный кабель подключен параллельно. Вопрос собственно в том, что почему никто не подключил каждый сегмент-отрезок ленты на свой пин ардуино??? А так например, зажги одну ленту красным, противоположную синим, начни вращать и у тебя полицейская мигалка например... А при таком подключении как сейчас, лично мне не понятно, на какой конкретно ленте, что будет отображаться...???
И как вообще в данном случае передаётся управляющий сигнал??? Спасибо.