Животноводство

Автоматическая дверь в курятник

Автоматическая дверь в курятнике значительно облегчает жизнь птицеводам. По крайне мере вечером не нужно идти закрывать курятник, да и утром можно поспать лишний часок.

Именно такую дверь и решил сделать мастер-самодельщик, а для ее изготовления он использовал следующие

Материалы и инструменты:
-Фоторезистор;
-Ардуино;
-Резисторы;
-Кнопочные переключатели;
-Шаговый двигатель;
-Солнечная панель;
-Повербанк;
-Макетная плата;
-Провода;
-Два блока;
-Веревка;
-Рым-болт;
-Вал с блоками;
-Противовес;

Шаг первый: Ардуино
Сначала мастер собирает схему, как на фото.

Дверь закрывается, когда на улице настают сумерки и открывается, когда встает солнце. Для принудительного закрытия/открытия мастер установил две кнопки.

После сборки схемы мастер скачивает библиотеки по этому адресу .
#include #include CheapStepper Stepper (8,9,10,11); логическое moveClockwise = true; const int ldrPin = A2; const int OuvPin = 5; const int FermPin = 6; int x = 1; const int pinReveil = 2; const int pinReveil2 = 3; const int pinReveil3 = 4; const int pinReveil4 = 12;
В этом коде мастер устанавливает разъемы шагового двигателя, кнопок, фоторезистора и т.д.
Далее определяет контакты, которые будут получать информацию (от LDR и от кнопок). Х — это положение двери (1 = открыто, 0 = закрыто).
Ниже он устанавливает скорость шагового двигателя. Скорость выставляется между 1 и 8. 8 самая маленькая скорость.
void setup () { pinMode (pinReveil, OUTPUT); pinMode (pinReveil2, OUTPUT); pinMode (pinReveil3, OUTPUT); pinMode (pinReveil4, OUTPUT); pinMode (ldrPin, INPUT); pinMode (OuvPin, INPUT); pinMode (FermPin, INPUT); stepper.setRpm (1); Serial.begin (9600); Загружает код. void loop() digitalWrite(pinReveil,HIGH); // The pins is now +5V digitalWrite(pinReveil2,HIGH); digitalWrite(pinReveil3,HIGH); digitalWrite(pinReveil4,HIGH); delay(100); digitalWrite(pinReveil,LOW); // The pin is now 0 digitalWrite(pinReveil2,LOW); digitalWrite(pinReveil3,LOW); digitalWrite(pinReveil4,LOW); // Here that is what I was talking about : stimulating my powerbank so that I don't have to // open it and solder things, or power my arduino with 3.6V. if(digitalRead(OuvPin) == 1 ){ while ( digitalRead(OuvPin) == 1 ){ moveClockwise = true; stepper.moveDegrees(moveClockwise, 1 ); } digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); x=1; // We consider that we will use this button only to put the door in full "open" position } // I just checked whether my 'open' button was used or not, and acted accordingly. else if(digitalRead(FermPin) == 1 ){ while ( digitalRead(FermPin) == 1 ){ moveClockwise = false; stepper.moveDegrees(moveClockwise, 1 ); } digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); x=0; // We consider that we will use this button only to put the door in full "closed" position } // Same here with closing button. int ldrStatus = analogRead(ldrPin); delay(500); // I get the value of the ldr resistance, and let a delay to process the information. if(ldrStatus > 150 && x==0){ // If my door is closed and light is enough moveClockwise = true; stepper.moveDegrees(moveClockwise,2500); stepper.moveDegrees(moveClockwise,2500); stepper.moveDegrees(moveClockwise,2500); stepper.moveDegrees(moveClockwise,2500); stepper.moveDegrees(moveClockwise,2000); x=1; digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); } // I open my door if it's closed and if the threshold is reached ( you have to observe your chickens // so that you know when they get in and out and adapt values accordingly. else if (ldrStatus<6 && x==1) { moveClockwise=false; stepper.moveDegrees(moveClockwise,2500); stepper.moveDegrees(moveClockwise,2500); stepper.moveDegrees(moveClockwise,2500); stepper.moveDegrees(moveClockwise,2500); stepper.moveDegrees(moveClockwise,2000); x=0; digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); } // same with closing else { for (int i=0; i<6;i++) LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF) } // If I'm not in those situations ( full day or night ), I just put my arduino in sleep mode // to try to save energy. }
Шаг второй: дверь
Далее мастер делает устанавливает систему блоков для поднятия двери. Шаговый двигатель и всю электронику, кроме солнечной панели, устанавливает внутри. Солнечную панель поместил в пластиковый контейнер и установил на крыше. По команде начинает работать шаговый двигатель и наматывает веревку на шкив — дверь открывается. Вечером двигатель начинает крутится в другую сторону и дверь закрывается. Продолжительность работы двигателя устанавливается опытным путем в зависимости от размеров двери и конструкции блока.

Источник

b8c49f23d6acc40de2a736280fa0fb80 (3)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Кнопка «Наверх»


Яндекс.Метрика
Закрыть
Закрыть