» ipler » İpuçları »Arduino ve daha fazlası için IR sensörü

Arduino için IR sensörü ve sadece



Instructables tarafından AdnanA61 takma adı altında önerilen sensör, uzaktan kumandalar, ateş, akkor lambalar ve güneş gibi kaynaklardan kısa dalga kızılötesi radyasyon tespit etmenizi sağlar. Kaynaklarının tümü normal sıcaklıklara ısıtılmış nesneler olan uzun dalga olan başka bir kızılötesi radyasyon formuna cevap vermez. ev yapımı ürün iki tür sinyal üretir: analog ve ayrık, ikincisi eşiği ayarlanabilir hale getirilmiş bir karşılaştırıcı tarafından oluşturulur. Her iki sinyal de Arduinove mikrodenetleyici içeren veya içermeyen diğer cihazlara. Aşağıdaki başka bir kart tasarımı, devre farklı değil:

Arduino için IR sensörü ve sadece


Sensör, LM393 mikro devresinin iki karşılaştırıcısından birinde yapılır; ikincisi istenirse başka bir sorunu çözmek için kullanılabilir. Kullanmazsanız, her iki girişini de ortak bir kabloya bağlamak ve çıkışı bağlı bırakmak daha iyidir.



Şema, okunması çok uygun olmayacak şekilde tasarlanmıştır. A0 olarak belirtilen üç nokta birbirine bağlanmalıdır. D0 olarak gösterilen iki nokta da -. Böylece neye bağlı olduğu ve nasıl çalıştığı belli oluyor. Bilmeceler yok. Sensörü tasarımcıdan monte ederseniz, sette bulunan tahtadaki tarak pin çıkışı aşağıdaki gibi olacaktır:



Tabii ki, derme çatma bir tahtada, baskılı veya breadboard üzerinde, bu pin çıkışı sizin için uygun hale getirilebilir. Panodaki LED sayesinde, güç besleyerek, montajdan hemen sonra kartı çalışırken kontrol edebilir ve karşılaştırıcı eşiğini ayarlayabilirsiniz. İkinci LED, güç açıkken sürekli yanar. Ardından sensörü Arduino'ya bağlayabilir ve analog çıkışı bu çizim ile test edebilirsiniz:

// bu kodu arduino'nun kenarına bu satırdan kopyala

// not: - bu kod analog değer içindir

int sensörü = A0; // analog pimi başlatma

int zil = 3; // zil pimini başlatma

int değeri;

void setup () {

Serial.begin (9600);

pinMode (sensör, INPUT); // pimin pin modu tipini giriş veya çıkış olarak değerlendirmek

pinMode (buzzer, OUTPUT);

}

void loop () {

değer = analogOkuma (sensör); // valusun sensörden okunması

değer = harita (değer, 0.1023,0,255); // 0 ila 1023 s / b 0 ila 255 arasında bir değer eşleme

digitalWrite (zil, değer); // sesli uyarıyı eşlenen değerle açma veya kapatma

}


Ve dijital - başka bir taslakla:

// bu kodu arduino'nun kenarına bu satırdan kopyala

// not: - bu kod dijital değer içindir

int sensor_digital = 2; // dijital pini başlatma

int zil = 3;

int değeri;

void setup () {

Serial.begin (9600);

pinMode (sensor_digital, INPUT);

pinMode (buzzer, OUTPUT);

}

void loop () {

değer = digitalRead (sensor_digital); // dijital verileri sensörden okuma

digitalWrite (zil, değer); // sesli uyarıyı açma veya kapatma

}


Her şey işe yaradığında, daha karmaşık algoritmalar uygulayan programlar yazabilirsiniz. Örneğin, bir robotun bir alev veya güçlü bir akkor lambaya yaklaşmaması için bozulmayacak. Ve doğru olanı yapıyor, çünkü sensör kartını 100 mm'den daha az bir mesafede güçlü ısıtma kaynaklarına tutmak ona zarar verebilir.

Konu için uygun

İlgili konular

Yorum ekle

    • gülümsegülümsemelerxaxatamamdontknowyahoonea
      patronçizikaptalevetevet-evetagresifgizli
      üzgünümdansdance2dance3pardonyardımiçecekler
      Durarkadaşlariyigoodgooddüdükbaygınlıkdil
      dumanzırıltıcraybeyanalaycıDon-t_mentionindir
      ısıöfkelilaugh1mdatoplantımoskingnegatif
      Not_ipatlamış mısırcezalandırmakokumakkorkutmakkorkutuyorarama
      alaythank_youbuto_clueumnikakutanlaşmak
      kötübeeeblack_eyeblum3kızarmakövünçcan sıkıntısı
      sansürlüşakasecret2tehdit etmekzaferyusun_bespectacled
      shokrespektlolPrevedkarşılamaKrutoyya_za
      ya_dobryiyardımcıne_huliganne_othodiFludyasakyakın

Okumanızı tavsiye ederiz:

Akıllı telefon için verin ...