L
A
M
1. Listing Program Arduino
#include <LiquidCrystal.h> #include <Servo.h>
LiquidCrystal lcd(3, 4, 7, 8, 9, 10); Servo myservo;
int sen1, sen2, sen3, banding, tbaik=0, tburuk=0, btn;
int ambtlr=105,baitlr=160,brktlr=50,kaltlr=85; int ledm=6,ledh=5;
void setup() {
pinMode(2,INPUT_PULLUP); myservo.attach(12);
pinMode(A0,INPUT); pinMode(A1,INPUT); pinMode(A2,INPUT); pinMode(ledm,OUTPUT); pinMode(ledh,OUTPUT);
lcd.begin(16, 2); Serial.begin(9600);
digitalWrite(ledh,1); lcd.setCursor(0, 0);
lcd.print(" DONI HARTONO"); lcd.setCursor(0, 1);
lcd.print(" 142406228"); delay(3000);
digitalWrite(ledm,0); digitalWrite(ledh,0); myservo.write(brktlr); banding=analogRead(A0)+10; }
void sensor(){ delay(1);
sen1=analogRead(A0); sen2=analogRead(A1); sen3=analogRead(A2);
Serial.println(sen3); delay(200);
}
void tombol(){
btn=digitalRead(2); if(btn==0){
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("JUMLAH TELUR"); lcd.setCursor(2, 1);
lcd.print("SAAT INI: "); lcd.setCursor(12, 1); lcd.print(tbaik+tburuk); delay(3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("TELUR BAIK : "); lcd.setCursor(13, 0);
lcd.setCursor(0, 1);
lcd.print("TELUR BURUK: "); lcd.setCursor(13, 1);
lcd.print(tburuk); delay(5000);
} }
void kserial(){
if(Serial.available()>0){ char a=Serial.read(); if(a=='1'){
myservo.write(50);//baik kiri }
else if(a=='2'){
myservo.write(85);//kalibrasi }
else if(a=='3'){
myservo.write(105);//ambil telur }
else if(a=='4'){
else if(a=='0'){ sensor();
}
else{ }
Serial.println(a); }
}
//////////////////////////////////////////////// void programutama(){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ADC TELUR: "); lcd.setCursor(11, 0); lcd.print(sen1);
lcd.setCursor(0, 1);
lcd.print("KONDISI : "); delay(1000);
sensor();
if(sen1<930){
lcd.setCursor(11, 1); lcd.print("BAIK"); digitalWrite(ledh,1);
myservo.write(ambtlr); delay(4000);
myservo.write(baitlr); delay(2000);
digitalWrite(ledh,0); tbaik+=1;
}//Eksekusi saat telur baik
if(sen1>=930){//976 //920 lcd.setCursor(11, 1); lcd.print("BURUK"); digitalWrite(ledm,1);
myservo.write(ambtlr); delay(4000);
digitalWrite(ledm,0); tburuk+=1;
}//Eksekusi saat telur tidak baik myservo.write(brktlr);
lcd.clear(); }
////////////////////////////////////////////////
void loop() {
tombol(); sensor();
if(banding<sen1){//Melihat apakah ada telur yang masuk atau tidak
delay(1);
sensor(); if(banding<sen1){ delay(500); programutama(); }
else{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("TIDAK TERDETEKSI"); lcd.setCursor(3, 1);
lcd.print("TELUR LAGI"); delay(200);