Menu
CoddyTech

Servo Işık Göstergesi

Coddy'nin Arduino Journey'sinin Çıkışlar bölümünün bir parçası. Ders 24 / 24.

Koluna bir ibre takıldığında servo, arabadaki hız göstergesi gibi bir ölçere dönüşür. Burada ışığın ne kadar parlak olduğunu gösterir.

Gece lambasında olduğu gibi modülün AO değeri, ışık daha parlak olduğunda daha düşük olur: karanlıkta yaklaşık 1023, tam ışıkta ise 0'a yakındır. Bir ölçerin ibresi ışık daha parlak olduğunda daha yukarıyı göstermelidir; bu nedenle dönüşüm ters yönde yapılır. Işık ölçerde olduğu gibi, map() işlevine yeni aralığı ters sırayla verin:

int angle = map(reading, 0, 1023, 180, 0);

0, yani tam ışık, 180 dereceye; 1023, yani karanlık ise 0 dereceye dönüşür. Aradaki tüm değerler de ters yönde arada bir değere karşılık gelir.

challenge icon

Görev

Orta

Işık sensörünün AO çıkışı A0'da, servo ise 9 numaralı pinde. Kolu bir ışık göstergesine dönüştür:

  • karanlıkta kol 0 dereceyi, tam ışıkta 180 dereceyi göstersin
  • yeni aralık tersten olacak şekilde map() kullan
  • açıyı yazdır ve her seferinde 50 ms bekle

Run'a bas ve sensördeki ışık kaydırıcısını hareket ettir, ardından Check'e bas.

Kendin dene

#include <Servo.h>

const int lightPin = A0;
Servo arm;

void setup() {
  arm.attach(9);
  Serial.begin(9600);
}

void loop() {
  // ışık değerini oku, ters yönde 180..0 aralığına eşle, kolu hareket ettir, açıyı yazdır
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Çıkışlar bölümündeki tüm dersler

Kendi başına pratik yap: Arduino playground