Доброго времени суток, может кто подскажет, делаю подсветку на коптер четыре ленты по 6 светодиодов, тоесть четыре канала хочется сделать ее нескольких режимов, переключением с приемника аппы, с ардуино не сталкивался еще, режима три отключена, постоянно горит + по в 4 диода ленте переодически мигают стратоскоп, и третий режим полецейская мигалка, не могу стелать-настроить частоту работы стратоскопа тоесть чтоп не постоянно мигал а 3 вспышки 1-2 перерыв ну и чтоп мигали ленты по паре 1-3, 2-4 канал, саму мигалку тоже не могу с ней сложней надо чтоб подсветка горела белым цветом яркость процентов 30, и так же вспышки через две три сикунды получается чтоб на время вспышек подсведка вырубалась, с сигналом ШИМ приемника какой командой его прописывать в скече, сейчас временый скечь
#include <Adafruit_NeoPixel.h> //подключение библеотеки
#define PIN_1 5 // Вывод 1 луча
#define PIN_2 6 // Вывод 2 луча
#define PIN_3 7 // Вывод 3 луча
#define PIN_4 8 // Вывод 4 луча
#define NUMPIXELS 6 //Число светодиодов в ленте
Adafruit_NeoPixel strip_1 = Adafruit_NeoPixel(NUMPIXELS, PIN_1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip_2 = Adafruit_NeoPixel(NUMPIXELS, PIN_2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip_3 = Adafruit_NeoPixel(NUMPIXELS, PIN_3, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip_4 = Adafruit_NeoPixel(NUMPIXELS, PIN_4, NEO_GRB + NEO_KHZ800);
void setup() {
strip_1.begin();
strip_1.begin();
strip_2.begin();
strip_2.begin();
strip_3.begin();
strip_3.begin();
strip_4.begin();
strip_4.begin();
}
void loop() {
for (int i = 0; i < 8; i++)
{
strip_1.setPixelColor(i, strip_1.Color(10, 0, 0)); // 1 лучь
strip_1.show();
}
////////////////////////////////////////////////////////////////
for (int i = 0; i < 8; i++)
{
strip_2.setPixelColor(i, strip_2.Color(0, 0, 10)); // 2 лучь
strip_2.show();
}
////////////////////////////////////////////////////////////////
for (int i = 0; i < 8; i++)
{
strip_3.setPixelColor(i, strip_3.Color(0, 0, 10)); // 3 лучь
strip_3.show();
}
////////////////////////////////////////////////////////////////
for (int i = 0; i < 8; i++)
{
strip_4.setPixelColor(i, strip_4.Color(10, 0, 0)); // 4 лучь
strip_4.show();
}
////////////////////////////////////////////////////////////////////
//Мигаем светодиодами
////////////////////////////////////////////////////////////////////
if (round(millis()/20)% 2==0) {//Скорость мигания послежних 4 светодиодов
for (int i = 0; i < 4; i++){
strip_1.setPixelColor(i, strip_1.Color(20, 20, 20));// мигаем 4 сведодиодами 1 луча
strip_1.show();
}
for (int i = 0; i < 4; i++){
strip_2.setPixelColor(i, strip_2.Color(20, 20, 20));// мигаем 4 сведодиодами 2 луча
strip_2.show();
}
for (int i = 0; i < 4; i++){
strip_3.setPixelColor(i, strip_3.Color(20, 20, 20));// мигаем 4 сведодиодами 3 луча
strip_3.show();
}
for (int i = 0; i < 4; i++){
strip_4.setPixelColor(i, strip_4.Color(20, 20, 20));// мигаем 4 сведодиодами 4 луча
strip_4.show();
}
}
}
За рание спасибо.
с ардуино не сталкивался еще,
За рание спасибо.
Я делал такой проект, он успешно летает. Начинать Вам надо с перевода входящего от приемника PWM сигнала в удобоваримую для микропроцессора форму. А в какой последовательности чего-то там зажечь - это дело десятое.