Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Airbus style 😉 👍Вечерняя проверка в режиме стробоскопа.
70 мс - горит
70 мс - выключен
70 мс - горит
300 мс - выключен
ну и далее в таком цикле)
Скоро и автопилот продемонстрируете?
БАНО на диодах проверьте на радио совместимость. У мощных диодов драйверы иногда фонят. Я пользуюсь носимой рацией авиа диапазона ( Icom A4 ).
Вот сейчас думаю над тем, стоит ли в лампах ставить отдельно постоянно включенный цветной светодиод и белый строб - это нужно будет либо тремя проводами к каждой лампе вести питание, либо добавлять в схему пригоршню диодов и транзисторов, чтобы управлять через переполюсовку на двух проводах...
На предлагаемых потребителю современных БАНО на светодиодах от "фонариков" идёт 4 провода. 1 - Навигационный огонь; 2 - Стробоскоп ( белый ); 3 - масса (-); 4 - синхронизация стробоскопов ( от всех фонариков ). Эта схема устоялась и при подключении не смущает. Более, на стоянке, в тёмное время суток, включенные БАНО полезны ( как подсветка площадки и как габаритные огни, чтобы в темноте не тыкаться в консоли ), а вот, работающие сторобоскопы раздражают. Потому, БАНО включаем и светят постоянно ( даже при не работающем моторе ), а стробоскопы - на рулении.
К стати, почему-то не встречаются сборки с мощными ( 3 Вт ) диодами? Возможно, есть какие-то проблемные моменты, которые проще решаются несколькими сборками из менее мощных диодов?
На 12 вольт бортовой сети недостаточно. На каждую пару светодиодов в одном фонарике на длинном проводе получается почти 8 вольт. Всего фонариков 3 штуки. Чтобы их питать с одного модуля, нужно 22-24 вольта на выходе, и на 1-2 вольта больше на общем питании. То есть, на 27 вольтах можно, но на 12 не выйдет. Разве что соединять фонарики параллельно, но они так долго не прослужат - а это не наш путь. Так делать - себя не уважать.А для чего на каждый фонарик свой модуль XL4015 ? Одного для всех не достаточно?
#include <EEPROM.h>
int white = 9;
int green = 10;
int red = 11;
int sel = 12;
int trig = 8;
boolean change = false;
boolean trigger = false;
byte pr = 0;
byte pron = 2;
byte proff = 0;
unsigned long tmr = 0;
unsigned long currentdew = 0;
void disco() {
digitalWrite (white, LOW);
digitalWrite (green, LOW);
digitalWrite (red, LOW);
delay(100);
digitalWrite (green, HIGH);
delay(100);
digitalWrite (white, HIGH);
delay(100);
digitalWrite (green, LOW);
digitalWrite (red, HIGH);
delay(100);
digitalWrite (white, LOW);
delay(100);
digitalWrite (red, LOW);
}
void setup() {
pinMode(white, OUTPUT);
pinMode(green, OUTPUT);
pinMode(red, OUTPUT);
pinMode(sel, INPUT_PULLUP);
pinMode(trig, INPUT_PULLUP);
if (EEPROM.read(1) < 10) {
proff = EEPROM.read(1);
}
if (EEPROM.read(2) < 10) {
pron = EEPROM.read(2);
}
}
void loop() {
if (digitalRead(trig) == LOW) {
trigger = true;
pr = pron;
}
if (digitalRead(trig) == HIGH) {
trigger = false;
pr = proff;
}
if (!change && digitalRead(sel) == LOW) {
change = true;
}
if (change && digitalRead(sel) == HIGH) {
change = false;
if (trigger) {
pron++;
if (pron > 5) {
pron = 0;
}
pr = pron;
EEPROM.write(2, pron);
}
if (!trigger) {
proff++;
if (proff > 5) {
proff = 0;
}
pr = proff;
EEPROM.write(1, proff);
}
disco();
tmr = millis();
}
if (pr == 0) {
digitalWrite (white, LOW);
digitalWrite (green, LOW);
digitalWrite (red, LOW);
}
if (pr == 1) {
digitalWrite (white, HIGH);
digitalWrite (green, HIGH);
digitalWrite (red, HIGH);
}
if (pr == 2) {
currentdew = millis() - tmr;
if (currentdew < 70) {
digitalWrite (white, HIGH);
digitalWrite (green, HIGH);
digitalWrite (red, HIGH);
}
if (currentdew > 70 && currentdew < 140) {
digitalWrite (white, LOW);
digitalWrite (green, LOW);
digitalWrite (red, LOW);
}
if (currentdew > 140 && currentdew < 210) {
digitalWrite (white, HIGH);
digitalWrite (green, HIGH);
digitalWrite (red, HIGH);
}
if (currentdew > 210 && currentdew < 280) {
digitalWrite (white, LOW);
digitalWrite (green, LOW);
digitalWrite (red, LOW);
}
if (currentdew > 510) {
tmr = millis();
}
}
if (pr == 3) {
currentdew = millis() - tmr;
if (currentdew < 100) {
digitalWrite (white, HIGH);
digitalWrite (green, HIGH);
digitalWrite (red, HIGH);
}
if (currentdew > 100 && currentdew < 600) {
digitalWrite (white, LOW);
digitalWrite (green, LOW);
digitalWrite (red, LOW);
}
if (currentdew > 600) {
tmr = millis();
}
}
if (pr == 4) {
currentdew = millis() - tmr;
if (currentdew < 500) {
digitalWrite (white, HIGH);
digitalWrite (green, HIGH);
digitalWrite (red, HIGH);
}
if (currentdew > 500 && currentdew < 800) {
digitalWrite (white, LOW);
digitalWrite (green, LOW);
digitalWrite (red, LOW);
}
if (currentdew > 800) {
tmr = millis();
}
}
if (pr == 5) {
currentdew = millis() - tmr;
if (currentdew < 100) {
digitalWrite (white, HIGH);
digitalWrite (green, HIGH);
digitalWrite (red, HIGH);
}
if (currentdew > 100 && currentdew < 600) {
digitalWrite (white, LOW);
}
if (currentdew > 600) {
tmr = millis();
}
}
}