Chicken Coop Automation Using Arduino

chicken coop.

Automating a chicken coop with sensors and actors, using an Arduino MKR1000 and the Blynk internet dashboard.

Chicken Coop Automation

Things used in this project

Hardware components

Arduino MKR1000
Arduino MKR1000
× 1
CHIHAI DC Motor – 12V 200rpm Encoder with Mounting Bracket
× 1
Geekcreit L298N Dual H Bridge Stepper Motor Driver Board For Arduino
× 1
Photo resistor
Photo resistor
× 1
DHT22 Temperature Sensor
DHT22 Temperature Sensor
× 1

Software apps and online services

Blynk
Blynk

Story

Introduction

To protect our new chickens from the different predators, an automatic door is needed. We had a look on the available solutions on the market, but none could meet our requirements:

 

  • Remote monitoring and control by using an app
  • Possibility to add additional sensors and actors to measure temperature or buzzer alert
  • Not too expensive

It would be way more fun to build it myself, so this is the start of my first microcontroller project.

Concept

A simple aluminium plate with guide rails will serve as the door. It is attached to a DC motor by using nylon wire. The DC motor includes a gearbox, resulting in 200 rpm on 12V DC. The used motor has a hall sensor encoder built in. To keep the door in the “up” position, it is not needed to engage the motor. Resulting power consumption will therefore be very low.

chicken coop.

Alu door with pulley to guide nylon wire into the chicken coop. Can you spot the light sensor?

The control module I used is the Arduino MKR1000. It has WiFi built in and plenty of I/O. I have installed a WiFi Access Point in my garden shed, so WiFi reception is perfect within my chicken coop.

After booting or restarting the Arduino, the first step will be to “calibrate” the encoder values for its up and down positions. The app will ask to give the Up command or to confirm the door is already in the Up position. Once done, the encoder value is set to zero.

For the next step, the app will ask to give the Close command and Close confirmation. The encoder value at that moment will be stored in a variable. From now on, we can control the door between a zero encoder value and closed encoder value.

To control the door automatically, I’ve used a cheap photoresistor. Threshold value for daylight and sunset are preset within the Blynk dashboard as well as the operating mode: manual or automatic.

Leave a Comment

Your email address will not be published. Required fields are marked *