Buzzer etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Buzzer etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2014-03-14

Arduino, LDR ve Buzzer ile acaip rahatasız edici bir ses

Arduino / LDR ve Buzzer ile acaip rahatasız edici bir ses
/*
LDR'den okunan analog bilgiyi buzzer sesine dönüştür. 
Çıkan ses oldukça rahatsız edici ben 30 saniyeden fazla katlanamadım ama çalışıyor sonuçta. 
LDR 10K pulldown direnç ile Analog 0 pin'ine bağlanacak
Buzzer "+" ucu 13 nolu dijital pin'e bağlanacak 
Buzzer "-" ucu toprak
http://nevit.blogspot.com
 */

//Setup başlangıçta bir kez çalışır 
void setup() {
Serial.begin(9600); // Seri iletişimi 9600 hızında başlat
pinMode (13, OUTPUT); // pin 13'ü Buzzer + LED output yap. 
}

//Loop sonsuz döngüsü sürekli çalışır
void loop() { 
  int sensorValue = analogRead(A0);   // analog pin 0'dan değer oku (0-1023 arası)
Serial.print (sensorValue); // Okunan değeri yazdır
int Sound =  map (sensorValue, 0, 1024, 120, 1500); // Okunan değeri 120-1500Hz arası ses'e dönüştür. 
Serial.print ("   "); // Boşlık
Serial.println (Sound); // Ses değerini yazdır
tone (13, Sound, 10);  // Buzzer'a ses sinyali gönder. (pin, frekans, süre ms)
delay(1);        // kararlılık için kısa bekleme
}


Devre şeması pek yakında

2014-02-12

Arduino PIR sensörü. Sparkfun SF-8630 PE-20

Arduino ile PIR sensör çalıştırmak çok kolay olmadı. Aslında hemen çalışması gerekirdi ancak PIR üreticisi firma Sparkfun sağolsun, Datasheet i siyah beyaz yapmış. Bu yetmezmiş gibi bağlantıda standart renkleri kullanmamış. Bana gelen pakette kırmızı + uç, siyah: toprak değil, veri olarak kullanılmış, beyaz: toprak olarak kullanılmış. Farklı farklı sayfalarda aynı ürün için farklı renkte kablolar ile pek çok tutorial var. Adamla kablolar farklı renk olabilir derken şaka yapmıyorlar. Sinyal kablosu ise doğrudan değil, pull – up direnç ile kullanılmalı. Denemedim ama, alarm pininin açık kollektör olması birden fazla PIR sensörü aynı pin'e bağlamayı olanaklı kılar.  Sonunda hiç bir parçaya hasar vermeden çalıştırdım PIR'ı. PIR'ın yönü harekete doğru bakarsa daha hasssas davranıyor. Kodu yakında paylaşacağım. Benim proje biri PIR'a yaklaşınca buzzer 100ms ötüyor. 2 saniye sonra durumu tekrar kontrol ediyor. Gördüğüm ilginç projelerden biri PIR'ı su pompasına bağlayıp, biri yaklaşınca su püskürtmeyi başlatması oldu.

 



PIR sensörü http://www.roboweb.net/rw-sf-8630.html
PIR Datasheet http://www.roboweb.net/media/downloadable/rw-sf-8630/SE-10.pdf
PIR Bildr tutorial http://bildr.org/2011/06/pir_arduino/
PIR Sparkfun sayfası https://www.sparkfun.com/products/8630
NYU'dan biraz PIR bilgisi http://itp.nyu.edu/physcomp/sensors/Reports/PIRMotionSensor
PIR'lı su pompası http://www.instructables.com/id/arduino-PIR-motion-water-gun-easy/
Arduino UNO
Bir şey görünce ötmek için bir ufak 5V Buzzer http://www.roboweb.net/bilesen/ses/rw-ml-1294.html
Biraz kablo...

Pasif İnfrared nasıl çalışıyor.

Aşağıda Santral İstanbul'da çektiğim İnfrared kamera görüntüsü var. Tüm sıcak kanlı canlılar bulundukları ortama infrared ışıma yaparlar. PIR sensörler bu ışımayı 1-2 saniye öncesi ile karşılaştırır. Ortam ışımasında değişiklik varsa hareket var sinyali verirler.

  Infrared 1080971

Bu notu ciddiye alın :) Kabloların renkleri değişebilir. Sensöre üstten bakıldığında, ortadaki kablo GND, soldaki kablo “alarm” ve sağdaki kablo ise “VCC” dir.


/*
Arduino ile PIR sensör kodu
PIR:  Sparkfun SF-8630 PE-20
http://bildr.org/2011/06/pir_arduino/
Değişiklikler:
http://nevit.blogspot.com.tr/2014/02/arduino-pir-sensor.html
Nevit Dilmen
*/

int pirPin = 0; // PIR sensör kablosu Analog 0'a bağlı

void setup(){
 Serial.begin(9600); //Debug için serial iletişimi başlat
}

void loop(){
  int pirVal = analogRead(pirPin);
//Debug amaçlı PIR değerini görmek için
//Bende hareket varken 20 civarı, yokken 1020 civarı oldu
Serial.println(pirVal); 
if (pirVal < 500) {
/*
Serial.println("Hareket var."); 
Buzzer + uç pin 8'e bağlı
200Hz ses frekansı
100ms ses süresi
*/
tone(8, 200, 100); 
}
    delay(1000); //İkinci bir hareket'e bakmadan bekleme süresi
  }