Control

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Conveyor belt circuit

CODE

long cm = 0;

long readUltrasonicDistance(int triggerPin, int echoPin)

pinMode(triggerPin, OUTPUT);

digitalWrite(triggerPin, LOW);

delayMicroseconds(2);

digitalWrite(triggerPin, HIGH);

delayMicroseconds(10);

digitalWrite(triggerPin, LOW);

pinMode(echoPin, INPUT);

return (pulseIn(echoPin, HIGH)*0.01723);

}
void setup()

Serial.begin(9600);

pinMode(2, OUTPUT);

void loop()

cm =readUltrasonicDistance(5, 4);

Serial.print(cm);

Serial.println("cm");

if (cm < 10) {

digitalWrite(2, LOW.

else {

delay(100);

digitalWrite(2, HIGH);

delay(100);

}
COLOR SELECTION IN CONEYOR BELT

#include <Wire.h>

#include <Servo.h>

#include <Stepper.h>

Servo myservo1;

Servo myservo2;

const int trigPin = 3;

const int echoPin = 2;

const int stepsPerRevolution = 200;

int speedstep = 0;

int stepCount = 0;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {

Serial.begin(9600);

myservo1.attach(6);

myservo2.attach(7);

long microsecondsToCentimeters(long microseconds) {

return microseconds / 29 / 2;

void gerakA() {

myservo1.write(0);

myservo2.write(90);

delay(1000);

void gerakB() {

myservo1.write(90);

myservo2.write(0);

delay(3000);

void loop() {

speedstep = 350;

int motorSpeed = map(speedstep, 0, 1023, 0, 100);

if (motorSpeed > 0) {

myStepper.setSpeed(motorSpeed);

myStepper.step(stepsPerRevolution / 100);

long duration, cm;

pinMode(trigPin, OUTPUT);

digitalWrite(trigPin, LOW);

delayMicroseconds(0);

digitalWrite(trigPin, HIGH);
delayMicroseconds(20);

digitalWrite(trigPin, LOW);

pinMode(echoPin, INPUT);

duration = pulseIn(echoPin, HIGH);

cm = microsecondsToCentimeters(duration);

if ( cm > 60 && cm < 90){

gerakA();

else if ( cm < 60){

gerakB();

else{

myservo1.write(90);

myservo2.write(90);

You might also like