Простой контроллер полива растений на ATTINY

Простой контроллер полива растений на ATTINY
Есть в наличии. Отгрузка со склада в Москве 1-2 рабочих дня.
845 × = 845

Спецификация набора

То, что у вас уже есть, вы можете удалить в корзине.

НаименованиеЦенаКол-во
ATTINY13A-PU, Микроконтроллер 8-Бит, picoPower, AVR, 20МГц, 1КБ Flash [DIP8] 55 1
BB-601P (WBP-317), Плата макетная (цветная) 180 1
Troyka-Soi Moisture Sensor, Датчик влажности почвы для Arduino проектов 190 1
Troyka-Green Led, Зеленый светодиод "Пиранья" для Arduino проектов 140 1
Troyka-Red Led, Красный светодиод "Пиранья" для Arduino проектов 140 1
Troyka-Yellow Led, Желтый светодиод "Пиранья" для Arduino проектов 140 1

Описание

В интернете можно найти множество схем для ирригации садовых участков и домашних растений. Есть схемы индикации простые схемы управления поливом, и даже автоматические комплексы, привязанные к времени, температуре окружающей среды, влажности почвы и фазе луны.

Мы также хотим внести свою лепту в автоматизацию дачных участков и домашних цветников. Сегодня соберем простую, недорогую и очень эффектную схему индикации влажности почвы. С помощью этого индикатора можно дистанционно, не тыкая пальцем в землю, оценить влажность почвы на небольшой глубине и принять верное решение о поливе.

Особенности этого датчика влажности в том, что он собран на микроконтроллере ATTINY. А особенности КОДА позволили загрузить его в скудную память ATTINY. Наш датчик работает так: три светодиода красный, желтый и зеленый индицируют влажность почвы. Вы сами можете настроить пороги срабатывания. (см. комменты в коде).

А еще один вывод (3) микроконтроллера может быть использован для управления клапаном полива. Он срабатывает (активная единица) когда уровень влажности почвы поднимается выше «Зеленого» и возвращается в ноль при влажности чуть ниже зеленого уровня.

В качестве датчика влажности используем Troyka-Soi Moisture Sensor от Амперки, в качестве светодиодов три модуля с сверхяркими светодиодами Troyka-Green Led, Troyka-Yellow Led, Troyka-Red Led. А исполнительным устройством можно будет управлять с помощью модуля Troyka-Mosfet.

Технические параметры

Напряжение питания, В 3 … 5
Потребляемый ток, мА 30

Электрическая схема

Электрическая схема

Монтажная схема

В этом проекте нет.

Печатная плата

В этом проекте нет.

Скетч. Код программы

#define          GREEN_LED                 0
#define          YELLOW_LED                1
#define          RED_LED                   2
#define          WATER_CTRL                4

#define          GREEN_LINE                140 //выше этого норма, зеленый
#define          YELLOW_LINE               80 //выше этого предупреждение, жедтый; ниже - красный
#define          GREEN_NORMAL              (GREEN_LINE + 40) //поливаем до этой отметки

#define          THRESHOLD                 20


void setup()
{ 
  //ATtiny13a
  DDRB = 0b00010111;
  PORTB &= ~((1 << GREEN_LED) | (1 << YELLOW_LED) | (1 << RED_LED) | (1 << WATER_CTRL));
        
  ADCSRA = (1 << ADEN) | (1 << ADPS2) | (1 << ADPS1);
  ADMUX = (1 << MUX0) | (1 << MUX1) | (1 << ADLAR);
  ACSR = (1 << ACD);
  DIDR0 |= (1 << ADC3D);

//  SREG |= 0x80;
}
//------------------------------------------------------
void loop()
{ 
  static byte PrvADCVal = 0;
  byte ADCValDif;
  
  ADCSRA |= (1 << ADSC);
  while (ADCSRA & (1 << ADSC));
  
  if (PrvADCVal >= ADCH)
    ADCValDif = PrvADCVal - ADCH;
  else
    ADCValDif = ADCH - PrvADCVal;
  
  if (ADCValDif >= THRESHOLD)
  {
    PORTB &= ~((1 << GREEN_LED) | (1 << YELLOW_LED) | (1 << RED_LED));
    
    if (ADCH < GREEN_LINE)
    {
      PORTB |= 1 << WATER_CTRL;
      
      while ((PINB & (1 << GREEN_LED)) == 0)
      {
        ADCSRA |= (1 << ADSC);
        while (ADCSRA & (1 << ADSC));
        
        if (ADCH < YELLOW_LINE)
          PORTB |= (1 << RED_LED);

        else if (ADCH < GREEN_NORMAL)
          PORTB |= (1 << YELLOW_LED);
    
        else
          PORTB |= (1 << GREEN_LED);
      }
    }    

    else
      PORTB |= (1 << GREEN_LED);
    
    PrvADCVal = ADCH;
  }
}

Техническая документация

ATtiny13A
pdf, 4226 КБ
tiny
zip, 80 КБ
tiny24
zip, 79 КБ

Комментарии