4 Kasım 2026 Çarşamba


Programlama Kodları

//AÇIKLAMA
//Bu uygulamada sensör renkleri okur, ham değerleri alır. Ardından 
//gerçek RGB değerlerine denk gelen değerler hesaplanır.

#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define sensor_out 8

int red_ham = 0;
int green_ham = 0;
int blue_ham = 0;

//Bir önceki uygulamada her renk için, sensörü nesneye en yakın (rengin en yoğun 
//olduğu durum) şekilde tutarak minimum değeri ve siyah bir yüzeye (rengin hiç 
//olmadığı durum) tutarak maksimum değeri kaydetmiştik. Şimdi burada bu değerleri kullanacağız. 
int red_min = 27;
int red_max = 187;
int green_min = 46;
int green_max = 195;
int blue_min = 29;
int blue_max = 144;

int R, G, B;

void setup()
{
  Serial.begin(9600);

  pinMode(S0, OUTPUT);
  pinMode(S1, OUTPUT);
  pinMode(S2, OUTPUT);
  pinMode(S3, OUTPUT);
  pinMode(sensor_out, INPUT);

  //sensörün çıkış frekansını %20 olarak ölçeklendirme
  digitalWrite(S0, HIGH);
  digitalWrite(S1, LOW);
}

void loop()
{
  //kırmızı renk okuma
  red_ham = kirmizi_ham_oku();
  R = map(red_ham, red_min, red_max, 255, 0);
  delay(200);

  //yeşil renk okuma
  green_ham = yesil_ham_oku();
  G = map(green_ham, green_min, green_max, 255, 0);
  delay(200);

  //mavi renk okuma
  blue_ham = mavi_ham_oku();
  B = map(blue_ham, blue_min, blue_max, 255, 0);
  delay(200);

  Serial.print("R = ");  Serial.print(R);     Serial.print(" | ");
  Serial.print("G = ");  Serial.print(G);     Serial.print(" | ");
  Serial.print("B = ");  Serial.println(B);

}

int kirmizi_ham_oku()
{
  int ham;
  digitalWrite(S2, LOW);
  digitalWrite(S3, LOW);
  ham = pulseIn(sensor_out, LOW);
  return ham;
}

int yesil_ham_oku()
{
  int ham;
  digitalWrite(S2, HIGH);
  digitalWrite(S3, HIGH);
  ham = pulseIn(sensor_out, LOW);
  return ham;
}

int mavi_ham_oku()
{
  int ham;
  digitalWrite(S2, LOW);
  digitalWrite(S3, HIGH);
  ham = pulseIn(sensor_out, LOW);
  return ham;
}



Devre Şeması




Cyana en yakın durumda seri port ekranı




Kırmızıya en yakın durumda seri port ekranı




Magentaya en yakın durumda seri port ekranı




Maviye en yakın durumda seri port ekranı




Sarıya en yakın durumda seri port ekranı




Yeşile en yakın durumda seri port ekranı




0 comments:

Yorum Gönder

Arduino Eğitimi Konu - 7

Toplam Sayfa Görüntüleme Sayısı

Sensörler ve Aygıtların Arduino İle Kullanımı

Popular Posts

Yararlanılan Kaynaklar

İletişim

gokdag17@gmail.com