Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.02.2014, 15:49   #1
dimasinnet
Member
 
Регистрация: 27.08.2013
Адрес: Челябинск
Сообщений: 44
Вес репутации: 0
dimasinnet is an unknown quantity at this point
Отправить сообщение для dimasinnet с помощью Skype™
По умолчанию Помогите с реле

Вот здесь я выкладывал управление батареей на ардуино: http://cyber-place.ru/showthread.php?t=753

Решил запустить для начала дома на кухне, но столкнулся с проблемой, что реле не включается, если зажигать светодиод, то все отлично, загорается и гаснет когда надо. ни как не могу понять почему, помогите пожалуйста найти ошибку заранее спасибо

PHP код:
#include "DHT.h"
#include <LiquidCrystal.h>
#define DHTPIN 10     // пин подключения датчика

//Установка типа вашего датчика
#define DHTTYPE DHT11   // DHT 11 
//#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
LiquidCrystal lcd(12112345);

int reley 8;//выбор пина к которому подключено реле с термоголовкой
int ButSetPin A0;//Кнопка Set к пину А0
int ButMinPin A1;//Кнопка "-" к пину А1
int ButMaxPin A2;//Кнопка "+" к пину А2

DHT dht(DHTPINDHTTYPE);
int h=45;//Начальный параметр влажности
int t=24;//Начальный параметр температуры
int regim 0;//Стартовый режим отображения дисплея
//Вспомогательные флаги для кнопок
int flag 0;
int flagmin 0;
int flagr 0;

void setup() {
    
Serial.begin(9600);
  
lcd.begin(162);
  
dht.begin();
  
pinMode(releyOUTPUT);
}

void loop() {
 
//Читаем температуру и влажность с датчика
  
float humi dht.readHumidity();
  
float temp dht.readTemperature();
 
  
//Переключаем режимы отображения дисплея и ввода данных
   
if(digitalRead(ButSetPin) == HIGH && flagr == 0)      
    {                                              
      
regim ++;
      
flagr 1;
      if(
regim 2)                     // Если номер режима превышает требуемого
        
{                               // то отсчет начинается с нуля
          
regim 0;
        }
    }
      if(
digitalRead(ButSetPin) == LOW && flagr == 1)
    {
      
flagr 0;
    }  
    
//==================В режиме 0 выводим действительные данные температуры и влажности
if(regim == 0)
{
    
lcd.setCursor(0,0);
    
lcd.print("HUMI:");
    
lcd.print(humi);
    
lcd.print(" %");
    
lcd.setCursor(0,1);
    
lcd.print("TEMP:"); 
    
lcd.print(temp);
    
lcd.print(" C");
}
//======================В режиме 1 задаем нужную влажность
if(regim == 1)
{
    if(
digitalRead(ButMaxPin) == HIGH && flag ==0)
{
h++;
flag =1;
}
  if(
digitalRead(ButMaxPin) == LOW && flag == 1)
    {
      
flag 0;
    }  
 if(
digitalRead(ButMinPin) == HIGH && flagmin==0)
{
  
h--;
  
flagmin 1;
}
  if(
digitalRead(ButMinPin) == LOW && flagmin == 1)
    {
      
flagmin 0;
    }  
    
lcd.setCursor(0,0);
    
lcd.print("Set HUMI:             ");
    
lcd.setCursor(0,1);
    
lcd.print("HUMI: "); 
    
lcd.print(h);
    
lcd.print(" %                ");
}
//==============================В режиме 2 выставляем нужную температуру
if(regim == 2)
{
    if(
digitalRead(ButMaxPin) == HIGH)
{
t++;

}
 if(
digitalRead(ButMinPin) == HIGH)
{
  
t--;
}
    
lcd.setCursor(0,0);
    
lcd.print("Set TEMP:             ");
    
lcd.setCursor(0,1);
    
lcd.print("TEMP: "); 
    
lcd.print(t);
    
lcd.print(" C                ");
}

Serial.print(temp);
  if(
temp>t)//если действительная температура больше заданной, включается реле и батарея перекрывается, если действительная ниже, то батарея открывается
  
{
    
digitalWrite(releyHIGH);
  }
else 
digitalWrite(releyLOW);

  
// Если данные с датчика не верные, пишем ошибку
  
if (isnan(t) || isnan(h))
  {
    
Serial.println("Failed to read from DHT");
  } 

dimasinnet вне форума   Ответить с цитированием
Старый 22.02.2014, 16:01   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Помогите с реле

А реле какое и как Вы его подключаете?
Admin вне форума   Ответить с цитированием
Старый 22.02.2014, 17:58   #3
dimasinnet
Member
 
Регистрация: 27.08.2013
Адрес: Челябинск
Сообщений: 44
Вес репутации: 0
dimasinnet is an unknown quantity at this point
Отправить сообщение для dimasinnet с помощью Skype™
По умолчанию Re: Помогите с реле

Цитата:
Сообщение от Admin Посмотреть сообщение
А реле какое и как Вы его подключаете?
у меня их 2, ни одно не работает, одно твердотельное:

одно "обычное":


на твердотельном горит индикатор, но контакт не замыкает, на простом вообще непонятно, перещелкивает несколько раз и все. подключал так: GND к земле ардуино, VCC к +5 V ардуино, с 8 пина ардуины на IN1. самое интересное при таком же подключении и заливке примера все работает:
PHP код:
int Relay 8;

void setup() 
{                
  
pinMode(RelayOUTPUT);     
}

void loop() 
{
  
digitalWrite(RelayLOW);   // реле включено
  
delay(2000);               
  
digitalWrite(RelayHIGH);  // реле выключено
  
delay(2000);               


Последний раз редактировалось dimasinnet; 22.02.2014 в 18:10.
dimasinnet вне форума   Ответить с цитированием
Старый 22.02.2014, 18:23   #4
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Помогите с реле

Твердотельное реле будет работать только с переменным напряжением
Индуктивное реле будет срабатывать только если температура будет выше заданой
Admin вне форума   Ответить с цитированием
Старый 22.02.2014, 18:24   #5
dimasinnet
Member
 
Регистрация: 27.08.2013
Адрес: Челябинск
Сообщений: 44
Вес репутации: 0
dimasinnet is an unknown quantity at this point
Отправить сообщение для dimasinnet с помощью Skype™
По умолчанию Re: Помогите с реле

Цитата:
Сообщение от Admin Посмотреть сообщение
Твердотельное реле будет работать только с переменным напряжением
почему??? там же на входе есть "+" и "-"
dimasinnet вне форума   Ответить с цитированием
Старый 22.02.2014, 18:25   #6
dimasinnet
Member
 
Регистрация: 27.08.2013
Адрес: Челябинск
Сообщений: 44
Вес репутации: 0
dimasinnet is an unknown quantity at this point
Отправить сообщение для dimasinnet с помощью Skype™
По умолчанию Re: Помогите с реле

Это на выходе оно с переменным работает, точнее подкючать к нему переменное, мне это и надо посути
dimasinnet вне форума   Ответить с цитированием
Старый 22.02.2014, 18:29   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Помогите с реле

Управляется твердотелка постоянкой, а вот коммутировать оно должно переменку
Admin вне форума   Ответить с цитированием
Старый 22.02.2014, 18:31   #8
dimasinnet
Member
 
Регистрация: 27.08.2013
Адрес: Челябинск
Сообщений: 44
Вес репутации: 0
dimasinnet is an unknown quantity at this point
Отправить сообщение для dimasinnet с помощью Skype™
По умолчанию Re: Помогите с реле

Цитата:
Сообщение от Admin Посмотреть сообщение
Управляется твердотелка постоянкой, а вот коммутировать оно должно переменку
так переменка и будет, там термоголовка на 220 вольт
А скетч не смотрели? где ошибка там?
dimasinnet вне форума   Ответить с цитированием
Старый 22.02.2014, 18:32   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Помогите с реле

То что будет понятно, а тестируете Вы с переменкой?
Admin вне форума   Ответить с цитированием
Старый 22.02.2014, 18:34   #10
dimasinnet
Member
 
Регистрация: 27.08.2013
Адрес: Челябинск
Сообщений: 44
Вес репутации: 0
dimasinnet is an unknown quantity at this point
Отправить сообщение для dimasinnet с помощью Skype™
По умолчанию Re: Помогите с реле

Цитата:
Сообщение от Admin Посмотреть сообщение
То что будет понятно, а тестируете Вы с переменкой?
ну я твердотельное пока отложил, второе же просто должно работать... замкнуть контакты, а этого нет
dimasinnet вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:18. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика