Monitor Kualitas Telur Bagus atau Jelek Arduino
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat melakukan sortir telur dan pengecekan secara beruntun. alat ini menggunakan sensor RGB dan 3 buah servo sebagai aktuatornya. untuk suara menggunakan DF Player mini. untuk lebih jelasnya berikut adalah koding dan skemanya.
1. Skema alat
2. Program Arduino IDE
#include <Wire.h>
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
#include <DFPlayer_Mini_Mp3.h>
#include "HX711.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);
SoftwareSerial mySerial(2, 3); // RX, TX
Servo myservo1;
Servo myservo2;
Servo myservo3;
//int ledhijau = 4;
//int ledmerah = 5;
//myservo1.write(100); stay
//myservo1.write(50); dorong
//myservo2.write(100); lurus
//myservo2.write(50); kanan
//myservo2.write(150); kiri
HX711 scale(8, 7);
long duration, distance;
float tera = 0;
int berat;
float fix;
int x;
int dataadc;
int nilai;
int tombol = 12;
int tombolx;
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
mp3_set_serial(mySerial); //set softwareSerial for DFPlayer-mini mp3 module
delay(1); //wait 1ms for mp3 module to set volume
mp3_set_volume(30); //volume 0-30
pinMode(tombol,INPUT_PULLUP);
lcd.begin();
lcd.clear();
lcd.noCursor();
myservo1.attach(9); //pelontar
myservo2.attach(5); //kanan
myservo3.attach(6); //kiri
myservo1.write(100);
myservo2.write(100);
myservo3.write(100);
//pinMode(ledhijau,OUTPUT);
//pinMode(ledmerah,OUTPUT);
scale.set_scale(2280.f); // this value is obtained by calibrating the scale with known weights; see the README for details
scale.tare(); // reset the scale to 0
lcd.setCursor (0,0);
lcd.print ("LOADING... ");
delay(5000);
lcd.clear();
}
void loop() {
tombolx = digitalRead(tombol);
dataadc = analogRead(A0);
berat = scale.get_units(10) * 1;
//fix = (berat - 0.4233)/0.1586;
if(berat < 0){
berat = berat * -1;
}
lcd.setCursor(0,0);
lcd.print("Berat= ");
lcd.print(berat);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("ADC= ");
lcd.print(dataadc);
lcd.print(" ");
scale.power_down();
delay(200);
scale.power_up();
if(tombolx == 0){
myservo1.write(50);
//telur bagus
if((berat > 20)&&(dataadc > 800)){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TELUR BAGUS ");
//digitalWrite(ledmerah,LOW);
//digitalWrite(ledhijau,HIGH);
myservo2.write(100);
myservo3.write(100);
Serial.print(nilai);
delay(3000);
lcd.clear();
myservo1.write(100);
mp3_play(1); //play music file 0001.mp3
delay(10000);
mp3_stop();
}
//telur jelek
if((berat < 20)&&(dataadc < 800)){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TELUR JELEK ");
//digitalWrite(ledmerah,HIGH);
//digitalWrite(ledhijau,LOW);
myservo2.write(150);
myservo3.write(150);
Serial.print(nilai);
delay(3000);
lcd.clear();
myservo1.write(100);
mp3_play(2); //play music file 0002.mp3
delay(10000);
mp3_stop();
}
}
}
3. VIDEO HASILNYA
No comments:
Post a Comment