Arduino Renk Ayıran Proje

Merhaba arkadaşlar Arduino ile renk ayıran projemin devre şeması ve yazılımına buradan ulaşabilirsiniz. 3 adet renk ayırma özelliği olan projemizde renkler ilgili kutuya düşmektedir. Servo motor sayesinde rengin ilgili olduğu alan konveyör bandımızın önüne gelmektedir.

#include<Servo.h>
Servo servo;

const int s2 = 7;
const int s3 = 6;
const int out = 5;

int red = 0;
int green = 0;
int blue = 0;

#define role 2
#include <LiquidCrystal.h>


//               (Rs, E, D4, D5, D6 ,D7)
LiquidCrystal lcd(13 , 12, 11 , 10 , 9 , 8);
void setup()
{ 
  
  servo.attach(3);
  
  Serial.begin(9600);
  pinMode(role, OUTPUT);
  pinMode(s2, OUTPUT);
  pinMode(s3, OUTPUT);
  pinMode(out, INPUT);
  
  servo.write(105);

  lcd.begin(16, 2);
  lcd.clear();
  lcd.setCursor (0, 0);
  lcd.print("   RENK OKUMA   ");
  lcd.setCursor (0, 1);
  lcd.print("    PROJESI     ");
  delay(3000);
}

void loop()
{

  lcd.setCursor (0, 0);
  lcd.print(" RENK SENSORU   ");
  lcd.setCursor (0, 1);
  lcd.print("    PROJESI     ");
    color();
    digitalWrite(role,HIGH);

if(red < 1000 || blue < 1000 || green < 1000)
{
//    digitalWrite(role,LOW);
//    for(int a=0;a<5;a++);
//    {
//      color();delay(200);
//    }
//    digitalWrite(role,HIGH);
  if(red < blue && red < green)
{
  servo.write(0);
  lcd.setCursor (0, 0);
  lcd.print(" RENK BULUNDU   ");
  lcd.setCursor (0, 1);
  lcd.print("    KIRMIZI    "); 
  
  delay(1000);
  
}

  if(blue < red && blue < green)
{
  
  servo.write(90);
  lcd.setCursor (0, 0);
  lcd.print(" RENK BULUNDU   ");
  lcd.setCursor (0, 1);
  lcd.print("     MAVI       ");
  delay(1000);
}
  if(green < red && green < blue)
{
  
  servo.write(180);
  lcd.setCursor (0, 0);
  lcd.print(" RENK BULUNDU   ");
  lcd.setCursor (0, 1);
  lcd.print("      YESIL     ");
  delay(1000);
}
  
}


  
}

void color()
{
  digitalWrite(s2, LOW);
  digitalWrite(s3, LOW);
  //Kırmızı
  red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
  digitalWrite(s3, HIGH);
  //Mavi
  blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
  digitalWrite(s2, HIGH);
  //Yeşil
  green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);


  
    Serial.print("R Intensity:");
    Serial.print(red, DEC);
    Serial.print(" G Intensity: ");
    Serial.print(green, DEC);
    Serial.print(" B Intensity : ");
    Serial.print(blue, DEC);
    Serial.println();
}

Sosyal Medyada Paylaş Facebook Twitter Google+

Etiketler: , , , , , ,
Eklenme Tarihi: 15 Mayıs 2021

Konu hakkında yorumunuzu yazın

UA-46017808-1

HOŞ GELDİNİZ

Youtube kanalıma Abone Olabilirsiniz.