[nextpage title=”Introduction” ]
Introduction
This article will give you information about the work I’ve done a recently. It is a metal sorting system as you can see in my video system design. This system is actually many different ways (eg pneumatic systems, through methods such as linear thrust) was done, but I want to take a job using the least expensive ingredients in my hand and I was doing this project, too.
Used materials
- The Arduino Mega
- Engine shield (L293D)
- FUTABA S3003 Servo
- I2C LCDs
- Conveyor belts (12v DC motor)
- Pot (10K)
- Inductive sensor (12V)
- Relay (12 V excitation)
- Power supply (12V, 5A)
[/nextpage]
Circuit diagram
[nextpage title=”Circuit diagram” ]
Conveyor passing through the material is sens relay producing metal while the sensor signal can not connect directly to the Arduino to as industrial, relay switched by Arduino information career Arduino information is read, the handle on the power thanks to the delay set the pot driving the metal material on the conveyor side of throws. The reason I use pot; It is that it facilitates calibration of the sensor according to the distance between the servo arm. The LCD panel is writing the number of the extracted material delay and set the pot.
[/nextpage]
Arduino code of the project
[nextpage title=”Arduino code of the project” ]
#
include
<Servo.h>
#
include
<AFMotor.h>\\motor.shield kütüphanesi
#
include
<Wire.h>
#
include
<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
AF_DCMotor motor(2);
Servo servo1;
int sensorPin = A8;
int sensorValue = 0;
void setup()
{
pinMode(15,INPUT);
Serial.begin(9600);
lcd.begin();
servo1.attach(9);
motor.setSpeed(255);
motor.run(RELEASE);
lcd.setCursor(0,0);
lcd.
print
(
"HAKAN COBAN"
);
lcd.setCursor(0,1);
lcd.
print
(
"MEKATRONIK MUH."
);
delay(1000);
lcd.clear();
}
int i;
int b;
void loop()
//sonsuz döngü
{
sensorValue = analogRead(sensorPin);
sensorValue = map(sensorValue, 0, 1023, 0, 9999);
motor.run(FORWARD); ÂÂ
lcd.setCursor(0,0);
lcd.
print
(
"METAL GRB :"
);
lcd.setCursor(12,0);
lcd.
print
(b);
lcd.setCursor(0,1);
lcd.
print
(
"GECIKMEÂ Â :"
);
lcd.setCursor(12,1);
lcd.
print
(sensorValue);
if
(digitalRead(15)Â ==LOW)Â {
Serial.println(sensorValue);
delay(sensorValue*2);
// endüktif algıladıktan sonra servonun devreye girmesi için gecikmesi
for
(i=0; i<255; i++) {
servo1.write(i);
delay(1000);
//servonun konveyorun üzerinde bekleme süresi
for
(i=255; i!=0; i--) {
servo1.write(i-255);
}
b = b+1;
delay(2000);
}
else
Serial.println(sensorValue);
}
[/nextpage]