Официальный сайт компании Arduino по адресу arduino.cc
Вообщем получилось примерно так. результатом в принцепе доволен. Огромное спасибо еще раз вам yul-i-an. Очень помогли.
/* Контролер самодельного газового котла V0.4 */ boolean f_fire = 0; //флаг наличия пламени (0-отсутствует, 1-присутствует) boolean f_vent = 0; //флаг продувки (0-не продут, 1-продут) boolean f_work = 0; //Флаг работы котла boolean f_dav=0; //Флаг наличия давления boolean f_gas=0; //Флаг давления boolean f_water=0; //Флаг наличия воды #define sensePin 0 //Фотодатчик контроля пламени. #define button 4 //Кнопка розжига #define vent_time 3000 //Время продувки #define zad_is 500 //Время задержки искры #define davgaz 5 //канал давления газа #define davvoda 6 //канал давления воды void setup() { // Объявление всех каналов. for (byte i=4; i <= 12; i++){ pinMode(i, OUTPUT); digitalWrite(i,LOW); } digitalWrite(13, HIGH);//Запускаем вытяжной вентилятор analogReference(DEFAULT); //Стандартное значение аналогово входа. }//end setup void loop() { //Индикатор готовности digitalWrite(12, f_vent);//зависит от продувки //Продуваем котел если не продут if (f_vent==0){//Если котел не продут delay(vent_time);// Время продувки f_vent=1;//Котел продут } f_gas=digitalRead(davgaz);//опрос давления газа f_water=digitalRead(davvoda);//опрос давления воды //Проверка Давления if(f_gas==0 || f_water==0){//если нет давление газа или воды. digitalWrite(9, LOW);//закрываем клапан основной горелки f_vent=0;//Котел продут f_dav=1;//флаг давления вне нормы } else { f_dav=0;//давление в норме } digitalWrite(7, f_dav);//управление сигнализацией давления //Управление розжигом if(f_vent==1 && f_fire==0){//если котел продут но нет пламени if(digitalRead(button)==1){ flame_ctrl(1);//включаем факел } } //Проверяем наличие пламени f_fire=fire_ctrl(); if (f_fire==1 && f_work==0){//если обнаружено пламя горелки и котел не разожон digitalWrite(9, HIGH);//открываем клапан основной горелки delay (zad_is);//Задержка перед отключением факела. flame_ctrl(0);//выключаем факел f_work=1;//Котел запущен } //Проверка на затухание котла if(f_work==1 && f_fire==0){//если котел работал но потух digitalWrite(9, LOW);//закрываем клапан основной горелки f_work=0;//котел не в работе f_vent=0;//котел не продут f_dav=0; } }//end loop //Фун-я проверки наличия пламени boolean fire_ctrl(){ if (analogRead (sensePin) < 800){//если горит пламя факела return 1;//Пламя есть } else { return 0;//Пламени нет } } //Фун-я управления факелом void flame_ctrl(boolean stat){ digitalWrite(11,stat); // Подача искры digitalWrite(10,stat); // Клапан газа факела }
Теперь видео и фото в студию:)
скоро будет)) ваш труд не зря пройдет. скоро все как готово будет все сразу выложу.
Вообщем получилось примерно так. результатом в принцепе доволен. Огромное спасибо еще раз вам yul-i-an. Очень помогли.
Теперь видео и фото в студию:)
Теперь видео и фото в студию:)
скоро будет)) ваш труд не зря пройдет. скоро все как готово будет все сразу выложу.