Идея такая - между двумя зданиями протянут LAN , в одном здании диспетчерская где с компа нужно отследить за потребляемым током с двух линий(при сгорании одной лампы типа ЛСД48 на одной из линий сигнализировать на мониторе) , напряжением сети 3фазы , если нет сети за ББП , удалённо включить, отключить лампы ЛСД48, в случае пропадания сети снизить потребляемый ток за счет уменьшения яркости лампы, сюда можно прикрутить датчик движения и датчик температуры в комнате. Помогите идею воплотить
Помогите написать скетч для arduino , в этом я полный нуль контроль за потребляемым током и контроль сетевого напряжения 1. Подключение линии Л1 ,Л2(контрольные линии) производится через оптрон А9пин-линия1 А10пин-линия2 (оптопара KPC354NT0B + силовой мосфет) макс напряжение для открытия оптопары 1.4v вот про него всё http://www.cosmo-ic.com/object/products/KPC354NT.pdf 2. Измерение тока с линии 1 и 2 снимается с датчиков тока типа ACS712 подключенных к А9пин-линия1 А10пин-линия2 3. Задаётся определенный ток потребления(2А на канал), при изменении его в меньшую сторону порядка 0,5А на 22пин(для первой линии) и 24пин(для второй линии) формируется лог. 1 (данное задание работает только при лог.0 на 49 пине) 4. Датчик контроля сетевого напряжения вход на А8 пине 220в в ББП ( делитель) , при понижении напряжения до 190в формирует сигналы на 52ом и 53ем пине ((цикличное открытия и закрытия оптронов( 1сек открыто 2 сек закрыто) и формирует лог. 1 на 49пине при этом отменятся команда 3 . Как напряжение достигает >= 190в на 49 пине лог.1 сменяется на лог.0 и задание 3 работает а задание 4 отменяется 5. Все данный L1-ток L2-ток V-напряжение ( если нет V-error) выводится на жк дисплей 16х2 6. Все данные L1-ток L2-ток V-напряжение ( если нет V-error) выводится по USB на мониторинг порта(лучше окно ) возможно аналоговые и цифровые пины не перепутал поправите если не верно
написал еле еле для дисплея , а теперь: 1. как мне это видеть по сетке в браузере?, есть в наличии W5100 2. задание 3,4,6 Код (Text): #include <LiquidCrystal.h> LiquidCrystal lcd(50, 52, 48,46,44,42); float vout = 0.0; float V1 = 0.0; float R1 = 100000.0; float R2 = 10000.0; int value = 0; void setup() { lcd.begin(16, 2); //инициализация LCD 1602 } void loop () { float L1 = 0; for(int i = 0; i < 1; i++) { L1 = L1 + (.0264 * analogRead(A0) -13.51); float L2 = 0; for(int i = 0; i < 1; i++) { L2 = L2 + (.0264 * analogRead(A1) -13.51); value = analogRead(A2); vout = (value * 5.0) / 1024.0; V1 = vout / (R2/(R1+R2)); if (V1<0.09) { V1=0.0; delay(1); } { lcd.setCursor(0,1); lcd.print(V1); lcd.print(" "); lcd.setCursor(5,1) ; lcd.print("V"); lcd.setCursor(11,0) ; lcd.print(L1); lcd.print(" "); lcd.setCursor(8,0); lcd.print("L1"); lcd.setCursor(11,1) ; lcd.print(L2); lcd.print(" "); lcd.setCursor(8,1); lcd.print("L2"); delay(900);//задержка-обновление экрана } } } }
это да , а вот с написанием проблема не сможете ли помочь я не говорю все сделать от и до , с этим у меня оч тяжело