Commit ef9ab0d1 authored by Supun Chamod's avatar Supun Chamod

Egg collecter Microcontroller Code

parent c55b3161
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
Servo myservo;
LiquidCrystal_I2C lcd(0x27, 16, 4);
int ir_pin1 = D8;
int ir_pin2 = D7;
int irState = 0;
int lastirState = 0;
int motor_pin = D5;
int motorA = D3;
int motorB = D4;
int motorC = 10;
int motorD = 9;
int counter2 = 0;
int counter1 = 0;
int irPushCounter = 0;
int counter = 0;
void setup() {
lcd.init();
lcd.clear();
lcd.backlight();
pinMode(ir_pin1, INPUT);
pinMode(motorA, OUTPUT);
pinMode(motorB, OUTPUT);
pinMode(motorA, OUTPUT);
pinMode(motorB, OUTPUT);
Serial.begin(9600);
myservo.attach(D6);
}
void loop() {
irState = digitalRead(ir_pin1);
int val2 = digitalRead(ir_pin2);
if (val2 == 1) {
// Serial.print("CON ON");
digitalWrite(motor_pin, HIGH);
lcd.setCursor(2, 1);
lcd.print("conveyor on ");
// myservo.write(180);
}
else if (val2 == 0) {
digitalWrite(motor_pin, LOW);
lcd.setCursor(2, 1);
lcd.print("conveyor off");
// myservo.write(0);
}
if (irState != lastirState) {
if (irState == HIGH) {
irPushCounter++;
Serial.println(irPushCounter);
counter = irPushCounter ;
}
lastirState = irState;
}
counter1 = counter;
lcd.setCursor(0, 0);
lcd.print("eggs =");
lcd.setCursor(7, 0);
lcd.print(counter);
lcd.setCursor(10, 0);
lcd.print(counter2);
if (counter1 == 1) {
digitalWrite(motorA, LOW);
digitalWrite(motorB, HIGH);
delay(100);
digitalWrite(motorA, HIGH);
digitalWrite(motorB, HIGH);
}
if (counter1 == 2) {
digitalWrite(motorA, LOW);
digitalWrite(motorB, HIGH);
delay(100);
digitalWrite(motorA, HIGH);
digitalWrite(motorB, HIGH);
}
if (counter1 == 3) {
digitalWrite(motorA, LOW);
digitalWrite(motorB, HIGH);
delay(100);
digitalWrite(motorA, HIGH);
digitalWrite(motorB, HIGH);
}
if (counter1 == 3) {
digitalWrite(motorA, LOW);
digitalWrite(motorB, HIGH);
delay(100);
digitalWrite(motorA, HIGH);
digitalWrite(motorB, HIGH);
digitalWrite(motorC, LOW);
digitalWrite(motorD, HIGH);
delay(100);
digitalWrite(motorC, HIGH);
digitalWrite(motorD, HIGH);
}
if (counter1 == 4) {
digitalWrite(motorA, HIGH);
digitalWrite(motorB, LOW);
delay(100);
digitalWrite(motorA, HIGH);
digitalWrite(motorB, HIGH);
}
if (counter1 == 5) {
digitalWrite(motorA, HIGH);
digitalWrite(motorB, LOW);
delay(100);
digitalWrite(motorA, HIGH);
digitalWrite(motorB, HIGH);
}
if (counter1 = 6) {
digitalWrite(motorA, HIGH);
digitalWrite(motorB, LOW);
delay(100);
digitalWrite(motorA, HIGH);
digitalWrite(motorB, HIGH);
myservo.write(180);
counter1 = 0;
counter2++;
}
else {
myservo.write(0);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment