1 2 3 4 5 6 7 8 9 10 9.5/10 9,44оценок: 9

Автоматизация курятника

Тема в разделе "Птицеводство", создана пользователем xeox1184, 17.12.10.

  1. Recov1
    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83

    Recov1

    Участник

    Recov1

    Участник

    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83
    Адрес:
    Приморский край
    Я ардуино побаиваюсь в коком плане: не дай бог глюканет, вся система отрубится. Поэтому делаю исключительно сам и на каждое событие ставлю независимую систему. Все это не дорого, зато надежнее. Если что то одно откажет, остальное будет работать. Такая вот логика.
     
  2. Саня1981
    Регистрация:
    30.10.08
    Сообщения:
    59
    Благодарности:
    17

    Саня1981

    Живу здесь

    Саня1981

    Живу здесь

    Регистрация:
    30.10.08
    Сообщения:
    59
    Благодарности:
    17
    Адрес:
    Новокузнецк
    Так ардуио это просто название конструктора который собран на базе ATMEGA (328) например а она вообще ни чем не отличается от atmega 8. У ардуино есть куча датчиков для это конструктора вот в чем плюс. Так что глюкануть может абсолютно все.
    По вашей костркции- как достигается что все куры забегаю обратно? Не закрывает ли кого в Бункере?
    Я хочу завести кур в марте -исходные данные холодная стайка на удалении 25 км (планирую ездить туда по выходным).Хочу сделать автокормушку на базе электромясорубки с подачей сухого комбикорма. В стайке сделаю коробку из фанеры с теплым полом, так как греть все помещение не целесообразно экономически.
     
  3. Recov1
    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83

    Recov1

    Участник

    Recov1

    Участник

    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83
    Адрес:
    Приморский край
    Теплый пол будет греть подстилку и куриное дерьмо. Подумайте над этим. А вот вопрос про "как достигается что все куры забегаю обратно" мне не понятен.
     
  4. Prince
    Регистрация:
    25.07.10
    Сообщения:
    2.682
    Благодарности:
    2.172

    Prince

    Живу здесь

    Prince

    Живу здесь

    Регистрация:
    25.07.10
    Сообщения:
    2.682
    Благодарности:
    2.172
    И что из этого? У меня был теплый пол, куры нормально себя чувствовали в морозы и чем им греться тогда? Подстилка перепревает и выделяется тепло. Главное регулировать вентиляцию. В большие морозы выключаю.
    Сегодня пленка стоит на стенах, при -26 снаружи в курятнике +5, вода на полу не замерзает, это главный показатель нормальной температуры.

    В конце лета, когда ночи были холодные, пара кур не зашли в курятник сами, а я не проверил. В результате околели на улице. Автоматизация закрытия люка у меня под сомнением.
     
  5. Recov1
    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83

    Recov1

    Участник

    Recov1

    Участник

    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83
    Адрес:
    Приморский край
    Вот в том то и дело, что при теплых полах вонь стоит несусветная. Все это дерьмо на полу греется, в нем чего только не заводится. У меня стоит простой настенный электрообогреватель. В курятнике сухо и при минимальной вентиляции не воняет. Куриное дерьмо на насесте через сетку проваливается на клеенку и высыхает. Потом легко снять решетку, рамку с сеткой, взял клеенку (от банера) за два края, вынес раз в две недели, вытряхнул и все. За всю зиму все заботы. Ну сена добавишь раз в месяц. Обогреватель можно от термостата за 300 руб. с Алиэкспресса запитать. У меня температура например 15С на уровне насеста.
    Про автоматику закрытия согласен. У меня она есть, всегда отключена. Только сами. Пару раз я ее включал, когда дома никого не оставалось, и то с запасом. Зимой на 21-00. Вот уже почти шесть вечера, на улице минус 8, темнеет, а четыре дуры где-то лазят. Но видишь, мне проще. Я по видеокамере глянул что все приперлись и иду закрывать. Зря не бегаю. Старый стал, ленивый.
     

    Вложения:

    • 1.jpg
  6. АндрейЕв
    Регистрация:
    08.02.12
    Сообщения:
    146
    Благодарности:
    53

    АндрейЕв

    Живу здесь

    АндрейЕв

    Живу здесь

    Регистрация:
    08.02.12
    Сообщения:
    146
    Благодарности:
    53
    Адрес:
    Зеленоград, Тверь
    А у вас петух есть? :) мне кажется, что как только завел петуха, куры от него не отходят, только начинает темнеть - все дружно в курятник идут. Автоматический люк пока еще не протестировал, но, думаю, что не должнл проблем возникнуть. Неужели курица могла замерзнуть летом? У многих ведь без обогрева живут, там и -20 может быть.
    Кстати у ардуино есть рфид метки, можно отслеживать кто где, кто несется, кто нет. но это конечно перебор уже :)
     
  7. Prince
    Регистрация:
    25.07.10
    Сообщения:
    2.682
    Благодарности:
    2.172

    Prince

    Живу здесь

    Prince

    Живу здесь

    Регистрация:
    25.07.10
    Сообщения:
    2.682
    Благодарности:
    2.172
    @АндрейЕв, петух был в тот момент Первомайской породы, куры Ломан-Браун. Именно в конце лета были ночные температуры около 0 °С. У вас куры от испуга не умирали? У нас была одна после испуга кошкой, встала и не с места, к утру околела. Две индюшки после сильной грозы так же околели, самец и самка.
    При - 20 возможно и живут, но разве это жизнь? А вот гребень если отморозит, что тогда будете делать? Зачем их мучить, уж лучше сразу под нож. Наслышан таким уходом, когда вместо воды снег дают и причитают- не несутся.
    Нам продали индюшек, тк самца задрала чужая собака. Она пролезла через забор и набила своё брюхо. Как будет действовать Ардуино при этом, пошлёт СМС-ку?
     
    Последнее редактирование: 17.01.16
  8. Recov1
    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83

    Recov1

    Участник

    Recov1

    Участник

    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83
    Адрес:
    Приморский край
    Петуха своим привез когда им было месяцев 8 что ли. Он сука их сразу избил и стал властвовать. Куры перестали нестись, а один раз впали в истерику всем курятником. Перьев было... Яйца потеряли. От петуха пришлось избавляться и только спустя две недели куры занеслись вновь. Порода кур Хайсексы что ли. Так и живут без петуха. Он им спать не давал.
     
  9. leletau
    Регистрация:
    27.12.10
    Сообщения:
    2.013
    Благодарности:
    6.477

    leletau

    Волочай Иван

    leletau

    Волочай Иван

    Регистрация:
    27.12.10
    Сообщения:
    2.013
    Благодарности:
    6.477
    Адрес:
    Санкт-Петербург
    Петуха выбирать надо. С одной ячной закладки бывают агрессивные (родные братья), бывают и заботливые.
    А тот петух которого вы привезли жил без кур в загоне с одними петухами как на зоне. Где постоянно выясняют отношения между собой. Вот он и принес свою манеру поведения к Вам в курятник.
    P. s.
    И привыкнуть они должны были два три дня (а лучше неделю) через решетку к друг другу.
     
  10. калтаков
    Регистрация:
    22.10.14
    Сообщения:
    516
    Благодарности:
    720

    калтаков

    Живу здесь

    калтаков

    Живу здесь

    Регистрация:
    22.10.14
    Сообщения:
    516
    Благодарности:
    720
    Адрес:
    Губкин
    Очень, очень правильные слова.
     
  11. Recov1
    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83

    Recov1

    Участник

    Recov1

    Участник

    Регистрация:
    24.05.10
    Сообщения:
    31
    Благодарности:
    83
    Адрес:
    Приморский край
    Вот чего не знал, так не знал. Спасибо.
     
  12. yarkilo
    Регистрация:
    22.01.16
    Сообщения:
    1
    Благодарности:
    0

    yarkilo

    Новичок

    yarkilo

    Новичок

    Регистрация:
    22.01.16
    Сообщения:
    1
    Благодарности:
    0
    Недавно тоже занялся этой проблемой и как верно было подмечено можно сделать проще но не интересно :aga:, уже начал собирать некоторые приблуды*, кормушка с автоматической подачей, дверь автоматическую и тд, если не жалко можешь поделиться кодом для ардуино? :pioner:
     
  13. АндрейЕв
    Регистрация:
    08.02.12
    Сообщения:
    146
    Благодарности:
    53

    АндрейЕв

    Живу здесь

    АндрейЕв

    Живу здесь

    Регистрация:
    08.02.12
    Сообщения:
    146
    Благодарности:
    53
    Адрес:
    Зеленоград, Тверь
    Я не программист, код не особо красив :)
    Тут есть пару багов (не помню с чем связаны), они были отлажены на компе, который на даче, код остался там. и там же было добавлено включение вентилятора по влажности, но тут ничего сложного нет :)
    Код:
    #include <OneWire.h>
    #include <LiquidCrystal_I2C.h>
    #include <WString.h>
    #include <Wire.h>
    #include <SPI.h>
    #include "DHT.h"
    #include <Ethernet.h>
    #include <Stepper.h>
    #define DHTPIN 7     // what pin we're connected to
    
    //=======================
    int timesend = 59;// Как часто посылать данные на сервер. Это время увеличивается на 1-3 секунды в зависимости от сложности скетча.
    int hourmorningon = 6; int minutemorningon = 0; int  secmorningon = 0; //Время включение света утром
    int hourmorningoff = 11; int minutemorningoff = 0; int  secmorningoff = 0; //Время включение света утром
    int houreveningon = 15; int minuteeveningon = 30; int  seceveningon = 0; //Время включение света вечером
    int houreveningoff = 20; int minuteeveningoff = 0; int  seceveningoff = 0; //Время включение света вечером
    int hourvent1on = 4; int minutevent1on = 0; int hourvent1off = 7; int minutevent1off = 0;  //Вентиляция интервал 1
    int hourvent2on = 15; int minutevent2on = 30; int hourvent2off = 19; int minutevent2off = 30;  //Вентиляция интервал 2
    int hourdooron = 8; int minutedooron = 0;  //Время открытия двери
    int hourdooroff = 18; int minutedooroff = 0; //Время закрытия двери
    int tempdoor = 0; //Температура, при которой открываем дверь
    int Ton = 11;
    int Toff = 13;
    //=======================
    #define DHTTYPE DHT21   // DHT 21 (AM2301)
    OneWire  ds(8);
    int svetinpin = A13;
    int svetoutpin = A14;
    int switch6 = A6;
    int switch5 = A7;
    int switch4 = A8;
    int switch3 = A9;
    int switch2 = A10;
    int switch1 = A11;
    int lightswitch = A12;
    int motorswitch = A15;
    int light = 0;
    int inetlightswitch = 0;
    int lightinetnow = 0;
    int lightinet;
    int inetvent;
    int ventinetnow;
    float InTemp;
    float OutTemp;
    float Hum;
    int Relay = 30;
    int Relay1 = 31;
    int inetopendoor;
    int inetdoornow = 0;
    int doornow;
    long lightmorningon = 0;
    long lightmorningoff = 0;
    long lighteveningon = 0;
    long lighteveningoff = 0;
    long vent1on;
    long vent1off;
    long vent2on;
    long vent2off;
    long dooron;
    long dooroff;
    
    const int stepsPerRevolution = 200;
    String readString = String(30);
    DHT dht(DHTPIN, DHTTYPE);
    LiquidCrystal_I2C lcd(0x27,16,2);
    
    Stepper doorstepper(stepsPerRevolution, 3, 4, 5, 6);
    
    
    
    float brightness = 0;    // уставливаем начально значение яркости
    float fadeAmount = 0;    // шаг приращения/убывания яркости
    long  daystamp;
    long  sendstamp;
    long  timefromsend;
    long delta;
    byte mac[] = {  0xCE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
    byte ip[] = {192, 168, 1, 5 };
    byte gateway[] = { 192, 168, 1, 1 };
    byte subnet[] = { 192, 168, 1, 1 };
    
    //IPAddress ip(192, 168, 1, 5);
    EthernetServer server(80);
    EthernetClient client;
    //char server[]="http://93.188.43.146/arduino";
    int buff=0;
    
    //Часы start=======================================================
    byte decToBcd(byte val)    {
                      return ( (val/10*16) + (val%10) );
                               }
    
    byte bcdToDec(byte val)    {
                      return ( (val/16*10) + (val%16) );
                               }
    
    void setDateDs1307(byte second,byte minute, byte hour, byte dayOfWeek, byte dayOfMonth, byte month, byte year)
                               {
                      Wire.beginTransmission(0x68);
                      Wire.write(0);
                      Wire.write(decToBcd(second));   
                      Wire.write(decToBcd(minute));
                      Wire.write(decToBcd(hour));     
                      Wire.write(decToBcd(dayOfWeek));
                      Wire.write(decToBcd(dayOfMonth));
                      Wire.write(decToBcd(month));
                      Wire.write(decToBcd(year));
                      Wire.endTransmission();
                               }
    
    void getDateDs1307(byte *second, byte *minute, byte *hour, byte *dayOfWeek, byte *dayOfMonth, byte *month, byte *year)
                               {
    
                      Wire.beginTransmission(0x68);
                      Wire.write(0);
                      Wire.endTransmission();
    
                      Wire.requestFrom(0x68, 7);
    
                      *second     = bcdToDec(Wire.read() & 0x7f);
                      *minute     = bcdToDec(Wire.read());
                      *hour       = bcdToDec(Wire.read() & 0x3f);
                      *dayOfWeek  = bcdToDec(Wire.read());
                      *dayOfMonth = bcdToDec(Wire.read());
                      *month      = bcdToDec(Wire.read());
                      *year       = bcdToDec(Wire.read());
                               }
    //Часы end=======================================================
    
    void setup(void) {
    pinMode(Relay, OUTPUT);
    pinMode(Relay1, OUTPUT);
       
    digitalWrite(Relay1, HIGH);
    digitalWrite(Relay, HIGH);
    doorstepper.setSpeed(60);
    doornow == 0;
    /*
      // установка часов
      byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
      second = 59;
      minute = 32;
      hour = 21;
      dayOfWeek = 3; // день недели
      dayOfMonth = 4; // день
      month = 11;
      year = 15;
      setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
    */ 
        pinMode(9, OUTPUT);
        dht.begin();
        analogWrite(9, brightness);
        Wire.begin();
        Serial.begin(9600);
    
        lcd.init(); // initialize the lcd
        lcd.backlight();
        lcd.setCursor(3,0);
        Ethernet.begin(mac, ip, gateway, subnet);
    //Ethernet.begin(mac);
        Serial.print("server is at ");  Serial.println(Ethernet.localIP());
    sendstamp = 1;
    
    
    
    
    
    lightmorningon = hourmorningon*60;
    lightmorningon = lightmorningon * 60;
    minutemorningon = minutemorningon*60;
    lightmorningon = lightmorningon + minutemorningon + secmorningon;
    
    
    lightmorningoff = hourmorningoff*60;
    lightmorningoff = lightmorningoff * 60;
    minutemorningoff = minutemorningoff*60;
    lightmorningoff = lightmorningoff + minutemorningoff + secmorningoff;
    
    lighteveningon = houreveningon*60;
    lighteveningon = lighteveningon * 60;
    minuteeveningon = minuteeveningon*60;
    lighteveningon = lighteveningon + minuteeveningon + seceveningon;
    
    
    lighteveningoff = houreveningoff*60;
    lighteveningoff = lighteveningoff * 60;
    minuteeveningoff = minuteeveningoff*60;
    lighteveningoff = lighteveningoff + minuteeveningoff + seceveningoff;
    
    
    vent1on = hourvent1on*60;
    vent1on = vent1on*60;
    minutevent1on = minutevent1on*60;
    vent1on = vent1on + minutevent1on;
    
    vent1off = hourvent1off*60;
    vent1off = vent1off*60;
    minutevent1off = minutevent1off*60;
    vent1off = vent1off + minutevent1off;
    
    vent2on = hourvent2on*60;
    vent2on = vent2on*60;
    minutevent2on = minutevent2on*60;
    vent2on = vent2on + minutevent2on;
    
    vent2off = hourvent2off*60;
    vent2off = vent2off*60;
    minutevent2off = minutevent2off*60;
    vent2off = vent2off + minutevent2off;
    
    
    dooron = hourdooron*60;
    dooron = dooron*60;
    minutedooron = minutedooron*60;
    dooron = dooron + minutedooron;
    
    dooroff = hourdooroff*60;
    dooroff = dooroff*60;
    minutedooroff = minutedooroff*60;
    dooroff = dooroff + minutedooroff;
    
    
    }
    
    
    void loop(void) {
    byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
      getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
      char time[10];
      snprintf(time, sizeof(time),"%02d:%02d:%02d", hour, minute, second);
     
      daystamp = hour*60 ;
      daystamp = daystamp*60 ;
      daystamp = daystamp + minute*60;
      daystamp = daystamp + second;
      timefromsend = daystamp - sendstamp;
      if (timefromsend < 0)
      {
        sendstamp = 1;
      }
      if (timefromsend > timesend)
      {
     
      client.connect("xx.xx.xx.xx", 80);
      client.print( "GET arduino/add.php?");
      client.print("k=sssss"); // Специальный код, например asREb25C
      client.print("&");
      client.print("InTemp=");
      client.print(InTemp);
      client.print("&");
      client.print("OutTemp=");
      client.print(OutTemp);
      client.print("&");
      client.print("hum=");
      client.print(Hum);
       client.print("&");
      client.print("door=");
      client.print(doornow);
       client.print("&");
      client.print("svetin=");
    client.print( analogRead(svetinpin));
       client.print("&");
      client.print("svetout=");
    client.print( analogRead(svetoutpin));
     
      client.println(" HTTP/1.1");
      client.print( "Host: " );
      client.println("xx.xx.xx.xx");
      client.println( "Connection: close" );
      client.println();
      client.println();
    
      sendstamp = hour*60 ;
      sendstamp = sendstamp*60 ;
      sendstamp = sendstamp + minute*60;
      sendstamp = sendstamp + second;
    
    
      }
    // client.stop();
      //client.flush();
    
     
    //  digitalWrite(Relay, LOW);
    //   delay (2000);
    //digitalWrite(Relay, HIGH);
     
    // delay(2000);
    
    //  digitalWrite(Relay1, LOW);
    //   delay(2000);
    //digitalWrite(Relay1, HIGH);
     
      //delay(2000);
    
    
    
    
     
    //  delay(2000);
     
     
     
     
     
     
     
      client = server.available();
      if (client) {
        while (client.connected()) {
        if (client.available()) {
          char c = client.read();
          //read char by char HTTP request
          if (readString.length() < 130) {
            readString += c;
            //store characters to string
          //  readString.append( c);
          //readString.concat( c);
          }
            //output chars to serial port
            Serial.print( c);
            //if HTTP request has ended
            if (c == '\n') {
                  if (readString.indexOf("?button1on") >0){
                  inetlightswitch = 1;
                  readString="";
               }
              if (readString.indexOf("?button1off") >0){
                   inetlightswitch = 0;
                   readString="";
               }
                  if (readString.indexOf("?button2on") >0){
                  inetvent = 1;
                  readString="";
               }
              if (readString.indexOf("?button2off") >0){
                   inetvent = 0;
                   readString="";
               }
              if (readString.indexOf("?button3on") >0){
                  inetopendoor = 1;
                  readString="";
               }
              if (readString.indexOf("?button3off") >0){
                   inetopendoor = 0;
                   readString="";
               }
    
         
    
             client.println("HTTP/1.1 200 OK");
              client.println("Content-Type: text/html");
             client.println();
              client.println("<head> ");
              client.println("<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> ");
              client.println("<title> Курятник </title>");
              client.println("</head> ");
              client.println("<body>");
             
              client.println("<h1>Курятник</h1>");
              client.print("Температура внутри: ");
              client.println(InTemp);
              client.print("<br />Температура на улице: ");
              client.println(OutTemp);
              client.print("<br />Влажность: ");
              client.println(Hum);
              client.print("<br />Освещение внутри: ");
              client.println(analogRead(svetinpin));
              client.print("<br />Освещение снаружи: ");
              client.println(analogRead(svetoutpin));
             
              client.print("<br />Дверь: ");
              if (doornow == 1) { client.println("Открыта"); }
              if (doornow == 0) { client.println("Закрыта"); }
             
              client.println("<br /><a href=\"/?button1on\"\">Включить свет</a>");
              client.println("<a href=\"/?button1off\"\">Выключить свет</a><br />");
              client.println("<br /><a href=\"/?button2on\"\">Включить вентиляцию</a>");
              client.println("<a href=\"/?button2off\"\">Выключить вентиляцию</a><br />");
              client.println("<br /><a href=\"/?button3on\"\">Открыть дверь</a>");
              client.println("<a href=\"/?button3off\"\">Закрыть дверь</a><br />");
    
    
           //   if (LEDON){
             //  client.println("<form method=get name=LED><input type=radio name=lightinet value=1 CHECKED>Включить<input type=radio name=lightinet value=0>Выключить<input type=submit value=Применить></form>");
              //  client.println("<font size=’5′>LED-статус: ");
              //  client.println("<font size=’5′>Вкл.");
             // }else{
             //   client.println("<form method=get name=LED><input type=radio name=lightinet value=1>Включить<input type=radio name=Level value=0 CHECKED>Выключить<input type=submit value=Применить></form> ");
             //   client.println("<font size=’5′>LED-статус: ");
             //   client.println("<font size=’5′>Выкл");
            //  }
                client.println("<hr />");
                client.println("</body></html>");
                //clearing string for next read
          //      readString="";
                //останавливаем web-client
                client.stop();
               
              }
            }
          }
        }
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
      float h = dht.readHumidity();
    Hum = dht.readHumidity();
    //Serial.print("sw1 ");
    //Serial.println(analogRead(switch1));
    //Serial.print("sw2 ");
    //Serial.println(analogRead(switch2));
    //Serial.print("sw3 ");
    //Serial.println(analogRead(switch3));
    //Serial.print("sw4 ");
    //Serial.println(analogRead(switch4));
    //Serial.print("sw5 ");
    //Serial.println(analogRead(switch5));
    //Serial.print("sw6 ");
    //Serial.println(analogRead(switch6));
    //Serial.print("light ");
    //Serial.println(analogRead(lightswitch));
    //Serial.print("motor ");
    //Serial.println(analogRead(motorswitch));
    //Serial.print("svetin ");
    // Serial.println(analogRead(svetinpin));
    
    //Serial.print("svetout ");
    // Serial.println(analogRead(svetoutpin));
     
    
    //analogWrite(9, brightness);
     
    //Снятие температуры start========================== 
      byte i;
      byte type_s;
      byte data[12];
      byte addr[8];
      float celsius;
      //int cikl = ;
    //  cikl++;
    //if ( cikl > 10 ) {
      ds.search(addr);
      ds.reset();           
      ds.select(addr);       // Выбираем адрес
      ds.write(0x44, 1);     // Производим замер, в режиме паразитного питания
      delay(1000);   
    
      ds.reset();
      ds.select(addr);   
      ds.write(0xBE);         // Считываем оперативную память датчика
    
      for ( i = 0; i < 9; i++) {           
        data[i] = ds.read();  // Заполняем массив считанными данными
      }
    
      // Данные о температуре содержатся в первых двух байтах, переведем их в одно значение и преобразуем в шестнадцатиразрядное число
      int16_t raw = (data[1] << 8) | data[0];
        byte cfg = (data[4] & 0x60);
        if (cfg == 0x00) raw = raw & ~7;
        else if (cfg == 0x20) raw = raw & ~3;
        else if (cfg == 0x40) raw = raw & ~1;
      celsius =  (float)raw / 16.0;
    
      if (addr[7] == 215)
      {
      OutTemp = celsius;
      }
      if (addr[7] == 61)
      {
        InTemp = celsius;
      }
    //  cikl=0
    //}
    //Снятие температуры end========================== 
    // Serial.print("Temp = ");
    
    
    lcd.setCursor(0, 0);
    lcd.print("To");
    lcd.print(OutTemp);
    
    lcd.setCursor(0, 1);
    lcd.print("Ti");
    lcd.print(InTemp);
    
    
    
    
    //  Serial.print(celsius);  Serial.print(" C, ");
    //  Serial.println(brightness);
     
    // byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
      getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
    // char time[10];
      snprintf(time, sizeof(time),"%02d:%02d:%02d", hour, minute, second);
     
     
     
      lcd.setCursor(8, 1);
      lcd.print(time);
       lcd.setCursor(8, 0);
       lcd.print("Hum ");
       lcd.print(h, 1);
     
       
      daystamp = hour*60 ;
      daystamp = daystamp*60 ;
      daystamp = daystamp + minute*60;
      daystamp = daystamp + second;
    
    
    //Включение через инет
    if ( inetlightswitch==1 && light == 0 && lightinetnow == 0) {
    //if ( lightinet==1 && light == 0 && lightinetnow == 0) {
    for (int iq=0; iq <= 255; iq++){
      if (iq < brightness)
      {
       iq = brightness;
      }
    analogWrite(9,iq);
    delay(20);
    light = 1;
    lightinetnow = 1;
    }
    }
    Serial.print("inetlightswitch");
    Serial.println(inetlightswitch);
    Serial.print("lightinetnow");
    Serial.println(lightinetnow);
    if ( inetlightswitch==0 && lightinetnow == 1) {
    light = 0;
     
    for (int is=255; is >= 0; is--){
       int n=is;
       if (is < brightness)
      {
       is = brightness;
      }
    analogWrite(9,is);
    delay(20);
    light = 0;
    lightinetnow = 0;
    is=n;
    }
    }
    
    //конец включения через инет
    
    
    
    
    
    
    
    if ( analogRead(lightswitch) > 1000 && light == 0) {
    for (int iq=0; iq <= 255; iq++){
      if (iq < brightness)
      {
       iq = brightness;
      }
    analogWrite(9,iq);
    delay(20);
    light = 1;
    }
    }
    
    if ( analogRead(lightswitch) < 1000 && light == 1 && inetlightswitch==0) {
    light = 0;
      Serial.print("123");
    for (int is=255; is >= 0; is--){
       int n=is;
       if (is < brightness)
      {
       is = brightness;
      }
    analogWrite(9,is);
    delay(20);
    light = 0;
    is=n;
    }
    }
    
    
    
    //Утреннее включение света
      if (daystamp >  lightmorningon && daystamp < lightmorningoff && analogRead(lightswitch) < 800 && analogRead(switch1) > 800)
              {
                delta =  daystamp - lightmorningon ;
                if (delta < 1800)
                          {
                            brightness = 0.141*delta;
                          } else
                              {
                                brightness = 255;
                              }
       
                if (brightness < 1)
                         {
                            brightness = 1;
                         }
                         if (analogRead(switch1) > 1000){
                analogWrite(9,brightness);   
                         }
             }
    if (daystamp > lightmorningoff && daystamp < lighteveningon && analogRead(lightswitch) < 800 && analogRead(switch1) > 800 && inetlightswitch==0)
             {
              brightness = 0;
              if (analogRead(switch1) > 1000){
              analogWrite(9,brightness);
              }
             }
    //Конец утреннего включения света 
    //Вечернее включение света
      if (daystamp >  lighteveningon && daystamp < lighteveningoff && analogRead(lightswitch) < 800 && analogRead(switch1) > 800)
              {
                delta =  lighteveningoff - daystamp;
                if (delta < 1800)
                          {
                            brightness = 0.141*delta;
                          } else
                              {
                                brightness = 255;
                              }
       
                if (brightness < 1)
                         {
                            brightness = 1;
                         }
                         if (analogRead(switch1) > 1000){
                analogWrite(9,brightness);   
                         }
             }
    if (daystamp > lighteveningoff  && analogRead(lightswitch) < 800 && analogRead(switch1) > 800 && inetlightswitch==0)
             {
              brightness = 0;
              if (analogRead(switch1) > 1000){
              analogWrite(9,brightness);
              }
             }
             
    //Конец вечернего включения света
    if (analogRead(switch1) < 800 &&  light == 0 ){
              analogWrite(9,0);
             }
    //Включение вентилятора 1
    if (daystamp > vent1on && daystamp < vent1off && analogRead(switch2) > 800)
    {
    pinMode(Relay1, OUTPUT);
    digitalWrite(Relay1, LOW);
    }
    if (daystamp > vent1off && daystamp < vent2on && inetvent == 0)
    {
    digitalWrite(Relay1, HIGH);
    }
    //конец включения вентилятора 1
    
    //Включение вентилятора 2
    if (daystamp > vent2on && daystamp < vent2off && analogRead(switch2) > 800)
    {
    pinMode(Relay1, OUTPUT);
    digitalWrite(Relay1, LOW);
    }
    if (daystamp > vent2off && inetvent == 0)
    {
    digitalWrite(Relay1, HIGH);
    }
    //конец включения вентилятора 2
    //включение вентилятора через web
    if ( inetvent == 1 && ventinetnow == 0)
    {
      pinMode(Relay1, OUTPUT);
    digitalWrite(Relay1, LOW);
    ventinetnow = 1;
    }
    if ( inetvent == 0 && ventinetnow == 1)
    {
        pinMode(Relay1, OUTPUT);
    digitalWrite(Relay1, HIGH);
    ventinetnow = 0;
    
    }
    //end включение вентилятора через web
    //Обогреватель
    if (OutTemp < Ton && analogRead(switch3) > 800)
    {
    pinMode(Relay, OUTPUT);
    digitalWrite(Relay, LOW);
    }
    if (OutTemp > Toff)
    {
    pinMode(Relay, OUTPUT);
    digitalWrite(Relay, HIGH);
    }
    
     
  14. АндрейЕв
    Регистрация:
    08.02.12
    Сообщения:
    146
    Благодарности:
    53

    АндрейЕв

    Живу здесь

    АндрейЕв

    Живу здесь

    Регистрация:
    08.02.12
    Сообщения:
    146
    Благодарности:
    53
    Адрес:
    Зеленоград, Тверь
    Не влезло в одно сообщение
    Код:
    //end Обогреватель
    //Мотор
    if (inetopendoor == 1 && doornow == 0 && analogRead(switch4) < 800 )
    {
       doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doornow = 1;
      inetdoornow = 1;
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
    
    }
    if (inetopendoor == 0 && inetdoornow == 1 && analogRead(switch4) < 800)
    {
       doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doornow = 0;
      inetdoornow = 0;
    digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
    }
    
    if ( daystamp > dooron && OutTemp > tempdoor && doornow == 0 && daystamp < dooroff && analogRead(switch4) > 800)
    {
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doornow = 1;
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
    }
    
    if ( daystamp > dooroff && doornow == 1 && inetopendoor == 0 && analogRead(switch4) > 800)
    {
        doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doornow = 0;
    digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
    }
    
    if ( analogRead(motorswitch) > 1000 && doornow == 0 && analogRead(switch4) < 800) {
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doorstepper.step(stepsPerRevolution);
      doornow = 1;
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
    }
    if ( analogRead(motorswitch) > 1000 && doornow == 1 && analogRead(switch4) < 800) {
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doorstepper.step(-stepsPerRevolution);
      doornow = 0;
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
    }
    
    //end Мотор
        } 
     
  15. Dimitrij13
    Регистрация:
    02.07.12
    Сообщения:
    170
    Благодарности:
    187

    Dimitrij13

    Живу здесь

    Dimitrij13

    Живу здесь

    Регистрация:
    02.07.12
    Сообщения:
    170
    Благодарности:
    187
    Адрес:
    Щелково
    Здравствуйте, помогите пожалуйста разобраться. Купил шилд sim900,для ардуино, и что то не могу разобраться, он меня уже до психоза доводит, хотя я человек усидчивый. Дело в следующем, пришел мне этот шилд из китая. Взял его, вставил симку, подал питание (4,5в),все дело пошло, светик питания загорелся, нажал кнопец, начал сеть искать, и нашел, звонок на него идет (гудки).Одел его на ардуино уно, пробую через IDE, открываю монитор порта, даю ему команду AT, а в ответ тишина, только в момент посыла команды на дуне светодиодик мырг, значит команда проходит, по даташиту у него 1и2 ноги апаратные Rx иTx, а 7и8-software,уже все перепробывал, ну не хочет откликаться, на подачу команд. Хочу для контроля курятника присобачить.