LAB 5 BIRDS |
powered by GoBookee.org |
2014-03-30
2014-03-27
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
Devre şeması pek yakında
/* 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-03-10
HC-SR501 Ayarlanabilir-IR Hareket Algılama Sensoru
HC-SR501 sensör daha önce kullandığım sensöre göre daha kolay bir kullanıma sahiptir. Dijital çıkışlı olan bu modül, ortamda hareket algılamadığı zaman lojik 0, hareket algılandığı zaman ise lojik 1 (3v) çıkış vermektedir. Kablo bağlantısı ise oldukça kolay. Vcc: 5v, Out : Dijital giriş pinine , Gnd: Toprak. Dezavantajı ise birden fazla sensör kullanıldığında herbiri için ayrı bir sensör pini ayırmak gerektiğidir.
Sensör modülü üzerinde Sx ve Tx olmak üzere iki adet sarı potansiyometre bulunmaktadır. Sx potansiyometresi sensörün görme mesafesini 3 ile 5 metre arasında değiştirmektedir. Tx potu ise sensör gördükten sonra ne kadar süre daha çıkış pininden lojik 1(5V) çıkışını vereceğini ayarlamaktadır. Bunlar ile oynamama gerek kalmadan fabrika ayarı gayet düzgün çalıştı.
5 nolu dijital pin'e hareket olduğu zaman alarm vermesi için küçük bir buzzer bağladım. Ses algısı LED veya serial çıkışın akışından daha kolay hissediliyor.
Özellikleri:
Sensör modülü üzerinde Sx ve Tx olmak üzere iki adet sarı potansiyometre bulunmaktadır. Sx potansiyometresi sensörün görme mesafesini 3 ile 5 metre arasında değiştirmektedir. Tx potu ise sensör gördükten sonra ne kadar süre daha çıkış pininden lojik 1(5V) çıkışını vereceğini ayarlamaktadır. Bunlar ile oynamama gerek kalmadan fabrika ayarı gayet düzgün çalıştı.
5 nolu dijital pin'e hareket olduğu zaman alarm vermesi için küçük bir buzzer bağladım. Ses algısı LED veya serial çıkışın akışından daha kolay hissediliyor.
Özellikleri:
- Çalışma Voltajı: 5-12V
- Algılama Alanı: 3-5 metre
- Algılama Açısı: 140º
- Bekleme Süresi: 5-200 saniye
- Ürün Boyutları: 33x25x24 mm
// (HC-SR501) PIR Sensörü için kısa program int PIRpini = 8; // PIR Bağalacak pin int OkunanDeger; void setup() { Serial.begin(9600); pinMode(13, OUTPUT); //LED için Pin 13 modunu çıkış olarak belirler } void loop() { OkunanDeger = digitalRead(PIRpini); //PIR durumunu oku if (OkunanDeger == LOW) { Serial.println("Hareket yok"); //Değer düşük ise hareket yok yaz digitalWrite (13, LOW); } else { Serial.println("Hirsiz Var!"); //Değer yüksek ise hareket var. digitalWrite (13, HIGH); // Ses / Cızırtı // tone (pin no, Hz olarak ses frekansı, ms olarak süre) tone(5, 100, 50); delay (100); tone(5, 200, 100); delay (100); tone(5, 100, 50); } delay(1500); //Bir saniye bekleme }
2014-03-08
Arduino ile I2C EEPROM iletişim
Coşkun Taşdemir Arduino Kitabından I2C hakkında yararlı bulduğum bir paragraf.
EEPROM’a YAZMA işlemi I2C kütüphanesi fonksiyonları ile aşağıdaki adımlarda gerçekleşir.
I2C kütüphanesi fonksiyonları ile EEPROM’dan OKUMA işlemi adımları aşağıdaki gibidir.
EEPROM’a YAZMA işlemi I2C kütüphanesi fonksiyonları ile aşağıdaki adımlarda gerçekleşir.
- Arduino I2C haberleşmesini başlatır.
- Arduino veriyoluna EEPROM çipinin adresiyle beraber başlangıç işaretini yollar
- Arduino yazmak istediği bellekgözünün adresini yollar.(8 bit)
- Arduino yazmak istediği veriyi yollar.
- Arduino veriyoluna durdurma işaretini yollar.
I2C kütüphanesi fonksiyonları ile EEPROM’dan OKUMA işlemi adımları aşağıdaki gibidir.
- Ardunio I2C haberleşmesini başlatır.
- Arduino veriyoluna EEPROM çipinin adresiyle beraber başlangıç işaretiniyollar
- Arduino okumak istediği bellek gözünün adresini yollar. (1 bayt)
- Arduino veriyoluna dudrudma işaretini yollar.
- Arduino EEPROM’a ver alma isteğini yollar. (1bayt)
- Arduino EEPROM veri yollayıncaya kadar bekler. Arduino gelen veriyi okur.
I2C üzerinden gelen yanıtta 4 mesajı olabilir:
0- Veri gönderimi başarılı
1- Gönderilmek istenen veri tampon boyutunu aşıyor
2- Adres gönderiminden sonra NACK (Not Acknowledged - Olumsuz Yanıt alındı)
3- Veri gönderiminden sonra NACK (Not Acknowledged - Olumsuz Yanıt alındı)
4- Başka bir hata oluştu.
1- Gönderilmek istenen veri tampon boyutunu aşıyor
2- Adres gönderiminden sonra NACK (Not Acknowledged - Olumsuz Yanıt alındı)
3- Veri gönderiminden sonra NACK (Not Acknowledged - Olumsuz Yanıt alındı)
4- Başka bir hata oluştu.
Arduino'dan EEPROM değerlerini okuma.
Arduino'dan EEPROM değerlerini okuma.
Arduino örnekleri içinde bulunan KOD + Türkçe açıklamalar.
Arduino içerisinde üç çeşit bellek bulunur. Flash belleği kalıcı olup, program bu belleğe yüklenir.
SRAM belleği geçici olup, program çalışması sırasında değişkenleri tutmak için kullanılır.
EEPROM belleği kalıcı olup, adres bazlı okuma ve yazmaya izin verir. Küçük log'lar, sıralı işlemler için kullanılabilir.
Arduino örnekleri içinde bulunan KOD + Türkçe açıklamalar.
Arduino içerisinde üç çeşit bellek bulunur. Flash belleği kalıcı olup, program bu belleğe yüklenir.
SRAM belleği geçici olup, program çalışması sırasında değişkenleri tutmak için kullanılır.
EEPROM belleği kalıcı olup, adres bazlı okuma ve yazmaya izin verir. Küçük log'lar, sıralı işlemler için kullanılabilir.
/* * EEPROM okuma EEPROM (Electronically Erasable Programmable Read-Only Memory), küçük boyuttaki verileri kalıcı olarak saklamak için bilgisayar ya da diğer cihazlarda kullanılan bir yongadır. Boyutu daha büyük olan sabit verileri saklamak için ise flaş bellek gibi daha ekonomik yöntemler kullanılır. EEPROM, elektrikle yazılıp silinme özelliğine sahiptir. Yazma/silme sayısı 100,000 ile sınırlıdır. * Bu program ne işe yarar? * Arduino dahili EEPOROM'un her byet'ını okur ve seri port'a yazdırır. * Kamu lisanslı kod. Arduino örneklerinden * Eski Arduino'larda EEPROM kapasitesi 512, yenilerde 1024 byte'dır. * Adresleri 0'dan başlar 511 veya 1023'e kadar devam eder. http://tr.wikipedia.org/wiki/EEPROM EEPROM'lar hakkında daha fazla bilgi. http://nevit.blogspot.com */ // EEPROM kütüphanesini içer #include <EEPROM.h> // Başlangıç olarak 0 nolu adresten başla. int adres = 0; // byte cinsinden bellekten okunan değer byte deger; void setup() { // Seri port başlat ve bekle Serial.begin(9600); while (!Serial) { ; // Seri port'un bağlanmasını bekle } } void loop() { // Adres hanesinden değerini okur. deger = EEPROM.read(adres); Serial.print(adres); // Adres'i yaz Serial.print("\t"); // Sekme Serial.print(deger, DEC); // Değer'i yaz Serial.println(); // Yeni satır // EEPROM adresini bir artır. adres = adres + 1; // Bazı Arduino'larda sadece 512 adres, yeni olanlarda 1024 adres bulunur. // son adrese gelince, adresi sıfırla, başa dön. if (adres == 1023) adres = 0; delay(100); // Bekleme süresi }
2014-03-07
Arduino ile HC-SR501 PIR sensörü
Arduino ile PIR denemesi
// (HC-SR501) PIR Sensörü için kısa program int PIRpini = 8; // Bağalacak pin int OkunanDeger; void setup() { Serial.begin(9600); } void loop() { OkunanDeger = digitalRead(PIRpini); //PIR durumunu oku if (OkunanDeger == LOW) { Serial.println("Hareket yok"); //Değer düşük ise hareket yok yaz } else { Serial.println("Hırsız Var!"); //Değer yüksek ise hareket var. } delay(1000); //Bir saniye bekleme } // http://robotic-controls.com/learn/sensors/pir-sensor-hc-sr501 // http://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor/ // http://nevit.blogspot.com.tr/search/label/Arduino
2014-03-04
Be Happy
Shawn Achor: The happy secret
Write down three new things that they're grateful for for 21 days in a row, three new things each day. And at the end of that, their brain starts to retain a pattern of scanning the world, not for the negative, but for the positive first. Journaling about one positive experience you've had over the past 24 hours allows your brain to relive it. Exercise teaches your brain that your behavior matters. We find that meditation allows your brain to get over the cultural ADHD that we've been creating by trying to do multiple tasks at once and allows our brains to focus on the task at hand. And finally, random acts of kindness are conscious acts of kindness. We get people, when they open up their inbox, to write one positive email praising or thanking somebody in their social support network.
https://en.wikipedia.org/wiki/Shawn_Achor
Write down three new things that they're grateful for for 21 days in a row, three new things each day. And at the end of that, their brain starts to retain a pattern of scanning the world, not for the negative, but for the positive first. Journaling about one positive experience you've had over the past 24 hours allows your brain to relive it. Exercise teaches your brain that your behavior matters. We find that meditation allows your brain to get over the cultural ADHD that we've been creating by trying to do multiple tasks at once and allows our brains to focus on the task at hand. And finally, random acts of kindness are conscious acts of kindness. We get people, when they open up their inbox, to write one positive email praising or thanking somebody in their social support network.
https://en.wikipedia.org/wiki/Shawn_Achor
2014-03-03
Beethoven's Sonata No. 32 in C Minor
Video: 20 minutes of Fire by Nevit Dilmen
Music: " Beethoven's Sonata No. 32 in C Minor, Op. 111 - II. Arietta Adagio molto semplice e cantabile" (by Daniel Veesey)
Music: " Beethoven's Sonata No. 32 in C Minor, Op. 111 - II. Arietta Adagio molto semplice e cantabile" (by Daniel Veesey)
2014-03-01
Kaydol:
Kayıtlar (Atom)