Прерывание по детектору нуля.

khazar
Offline
Зарегистрирован: 27.11.2014

Добрый день! Суть такова: в кухонном комбайне сгорел родной контроллер (PIC). Хочу заменить его на Arduino pro mini 328. Нагрузка (мотор комбайна) 220В управляется через семистор. Для плавного управления необходим детектор нуля. Схема детектора была взята отсюда http://avrproject.ru/publ/poleznaja_informacija/setevoj_dimmer_220v_na_mikrokontrollere/4-1-0-140

Детектор нуля работает (на осциллографе). Управлять скоростью вращения буду через переменный резистор.

Код будет на основе базового примера  

int ledPin = 9;      // светодиод подключен к цифровому выводу 9
int analogPin = 3;   // потенциометр подключен к аналоговому выводу 3
int val = 0;         // переменная для хранения считанного значения
 
void setup()
{
  pinMode(ledPin, OUTPUT);   // переключение вывода в режим «выход»
}
 
void loop()
{
  val = analogRead(analogPin);   // считываем входное напряжение
  analogWrite(ledPin, val / 4);  /* значения, возвращаемые analogRead лежат в пределах от 0 до 1023, 
                        а задаваемый коэффициент analogWrite – от 0 to 255*/
}

Как правильно задействовать тут функцию прерывания (тот самый нуль)?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

код неправильный. там не так делается

http://cxem.net/arduino/arduino71.php

khazar
Offline
Зарегистрирован: 27.11.2014

Код-это базовый пример. Я буду на основе его делать. Возможно будет нужна привязка к частоте. Я  не пойму как описать и правильно завести сюда прерывание по нулю.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

я тебе дал ссылку там все есть. только в лупе вместо цикла поставить считывание потенциометра