Показать сообщение отдельно
Старый 13.05.2013, 08:45   #93
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 442
Вес репутации: 791
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Итак имеем диммер по схему в первом посту, в качестве детектора 0 датчик acs712 подключенный к А3.
такой вот скетч
PHP код:
#include "CyberLib.h"      //подключаем библиотеку быстрого управления пинами

// Переменные для функционирования Диммера
int Dimmer1=30
int Dimmer2M=25// переменная для хранения значения Dimmer при операциях
int tic1=0,        // счетчик таймера
volatile long Vout;// значение аналогового порта, можно конечно и считывать прямо,но на сайте Arduino говорится что при использовании в функции max других функций результаты получаются непредсказуемыми

void setup()  

  
D4_Out//Настраиваем порт на выход Dimmer1
  
D4_Low
  
D9_In//настраиваем порт на вход для кнопки 1
  
D9_High;  //установить на входах высокий уровень и подключить резистор 
  
StartTimer1(halfcycle160);// учитывая скорость аналогового чтения порта порядка 50 мкс такая частота будет оптимальной
}

//********************обработчики прерываний для работы диммера*******************************

void halfcycle()  //прерывания таймера
{   
  
Vout=A3_Read// читаем  порт к которому подключен выход датчика
  
if (Vout>507 && Vout>516// ищем нулевую точку
  
{   
    
D4_Low//выключаем симистор
    
tic1=0;   //обнулить счетчик 
      
};
  
tic1++;  //счетчик   
  
if(Dimmer1 tic1 D4_High// включаем симистор
}; 

//************************************************************************* 
void loop() {
  

Итого - лампа горит в полную силу, отключение от датчика ситуацию не меняют. Отключение от ардуинки управляющего контакта симмистора лампу гасят. Осциллографа нет, чтоб посмотреть. На выходе датчика 2,5 вольта, видимо в среднем мультик, показывает. Вообщем зашел пока в тупик ищу Осциллограф чтоб посмотреть что происходит на А3 или может кто еще какие методы диагностики подсткажет
Bulatovor вне форума   Ответить с цитированием