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.
Görev
OrtaIşı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
}
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