Automação Inteligente de Alimentação de Gado Leiteiro
Maristela Liberato Soares do Nascimento, Pedro de Oliveira Coelho , Rodrigo Vinícius S. Souza

Introdução

Este trabalho consiste no desenvolvimento de uma plataforma de automação do processo de alimentação do gado leiteiro uma vez que a sua dieta configura-se como um dos aspectos mais importantes no processo de produção de leite.
Nosso objetivo é o desenvolvimento de uma plataforma de automação para criação de uma mistura de alimentos e nutrientes exclusiva para cada animal.

Montagem

Programa Arduino

#include <deprecated.h>
#include <MFRC522.h>
#include <MFRC522Debug.h>
#include <MFRC522Extended.h>
#include <MFRC522Hack.h>
#include <require_cpp11.h>



#include <LiquidCrystal.h>

#include <Servo.h>

#define pinServo 6
#define pinServo 7
#define pinServo 8
Servo servo1;
Servo servo2;
Servo servo3;
constexpr uint8_t RST_PIN = 9;
constexpr uint8_t SS_PIN = 10;
MFRC522 mfrc522(SS_PIN, RST_PIN);
MFRC522 :: MIFARE_Key key;
int quantidadedeleite;
int fasedelactacao;
LiquidCrystal lcd(0,1,2,3,4,5);
'21

void setup() {

lcd.begin(16,2);
SPI.begin();
mfrc522.PCD_Init();
servo1.attach(6);
servo2.attach(7);
servo3.attach(8);

}

void loop() {
// put your main code here, to run repeatedly:


byte angulo1;
byte angulo2;
byte angulo3;
byte angulo4;
angulo2 = 0;
angulo1 = 45;
angulo3 = 98;
angulo4 = 135;
servo1.write(angulo2);
servo2.write(angulo2);
servo3.write(angulo3);
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;

}
String conteudo= "";
byte letra;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
conteudo.toUpperCase();

if (conteudo.substring(1) == "0A BC 41 83"){ // chip escrito
quantidadedeleite = 35;
fasedelactacao = 1;
lcd.print("quantidade = 35");
lcd.setCursor(0,1);
lcd.write("fase = 1");


}

else if (conteudo.substring(1) == "84 52 5B 1E"){ // Cartao
quantidadedeleite = 20;
fasedelactacao = 1;
lcd.print("quantidade = 20");
lcd.setCursor(0,1);
lcd.write("fase = 1");


}

else if (conteudo.substring(1) == "3C 7F 13 D3"){ // chip
quantidadedeleite = 50;
fasedelactacao = 1;
lcd.print("quantidade = 50");
lcd.setCursor(0,1);
lcd.write("fase = 1");
}
if (fasedelactacao == 1){
if ( quantidadedeleite < 14){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(3000);
servo1.write(angulo2);
servo2.write(angulo1);
delay(4000);
servo2.write(angulo2);
lcd.clear();
}


else if ((quantidadedeleite <= 23) && (quantidadedeleite > 14)){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(4000);
servo1.write(angulo2);
servo2.write(angulo1);
delay(2000);
servo2.write(angulo2);
lcd.clear();
}


else if ((quantidadedeleite <= 35) && (quantidadedeleite >= 24)){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(4500);
servo1.write(angulo2);
servo2.write(angulo1);
delay(1000);
servo2.write(angulo2);
lcd.clear();
}
else if ( ( quantidadedeleite < 40) && (quantidadedeleite >= 36)){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(5000);
servo1.write(angulo2);
servo2.write(angulo2);
lcd.clear();
}


else if((quantidadedeleite >= 40) && (quantidadedeleite <=45)){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
servo3.write(angulo4);
delay(5000);
servo1.write(angulo1);
servo2.write(angulo1);
servo3.write(angulo3);
delay(5000);
servo1.write(angulo2);
servo2.write(angulo2);
lcd.clear();
}


else {

delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
servo3.write(angulo4);
delay(2250);
servo1.write(angulo1);
servo2.write(angulo1);
servo3.write(angulo3);
delay(2250);
servo1.write(angulo1);
servo2.write(angulo2);
delay(2000);
servo1.write(angulo2);
lcd.clear();
}
}


else if ( fasedelactacao == 2){
if((quantidadedeleite >= 3) && (quantidadedeleite<=5)){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(1000);
servo1.write(angulo2);
servo2.write(angulo1);
delay(9000);
servo2.write(angulo2);
lcd.clear();

}

else if((quantidadedeleite > 5) && (quantidadedeleite<=8)){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(2000);
servo1.write(angulo2);
servo2.write(angulo1);
delay(8000);
servo2.write(angulo2);
lcd.clear();

}
else if((quantidadedeleite > 8) && (quantidadedeleite<=11)){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(3000);
servo1.write(angulo2);
servo2.write(angulo1);
delay(7000);
servo2.write(angulo2);
lcd.clear();

}
else if((quantidadedeleite > 11) && (quantidadedeleite<=14)){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(4000);
servo1.write(angulo2);
servo2.write(angulo1);
delay(6000);
servo2.write(angulo2);
lcd.clear();

}
else if((quantidadedeleite > 14) && (quantidadedeleite<=17)){
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(5000);
servo1.write(angulo2);
servo2.write(angulo1);
delay(5000);
servo2.write(angulo2);
lcd.clear();

}
else {
delay(4000);
servo1.write(angulo1);
servo2.write(angulo1);
delay(6000);
servo1.write(angulo2);
servo2.write(angulo1);
delay(4000);
servo2.write(angulo2);
lcd.clear();

}
}

else if (fasedelactacao == 3){
servo2.write(angulo1);
delay(10000);
servo2.write(angulo2);
lcd.clear();


}
}

Conclusão

Essa automação para além de sua importância na própria saúde e produtividade do gado, constitui-se como um benefício ao produtor rural no que diz respeito ao controle do processo produtivo, já que possibilita a supervisão dos números diários e das condições de cada animal.

Referências

Embrapa, Gado de Leite, sistema de alimentação. Disponível em: &amp;amp;amp;amp;amp;amp;amp;lt;https://sistemasdeproducao.cnptia.embrapa.br/FontesHTML/Leite/LeiteCerrado/alimentacao.html&amp;amp;amp;amp;amp;amp;amp;gt;, Acesso em: 28 set. 2018.



Administrado por: Epaminondas Lage