Alışverişlerinizi Robotistan’dan Yapın

Faydalı içerikler oluşturarak size yardımcı olmak istiyoruz. Aynı zamanda uygun fiyat, hızlı teslimat ve kaliteli hizmetle Robotistan.com’da hizmet veriyoruz. Siz de alışverişlerinizi robotistan.com‘dan yaparak bize yardımcı olabilirsiniz 🙂

Raspberry Pi 3 İle Sese Duyarlı Alarm Devresi #16

Raspberry Pi Dersleri serimizde kullanacağımız malzemelerin tamamına sizler için hazırladığımız setler ile kolayca sahip olabilirsiniz. Raspberry Pi’ye Uzaktan Bağlantı Yöntemleri (VNC,SSH,TTL) #4 dersimize kadar olan malzemeler için Kombo Kit, Raspberry Pi 3 Röle Kartı İle Alarm Devresi Yapımı #11 dersimize kadar olan malzemeler için Süper Başlangıç Seti, tüm derslerdeki malzemeler için Proje Seti tercih edebilirsiniz.

Merhaba arkadaşlar. Bu dersimizde Raspberry Pi’mizi kullanarak sese duyarlı alarm devresi yapacağız.

Gerekli malzemeler:

Bildiğimiz üzere Raspberry Pi’miz, 3.5mm jak çıkışı ve HDMI üzerinden ses çıkışı sunabilmektedir. Buna karşılık Pi üzerinde herhangi bir ses girişi mevcut değildir. Ses kaydı amaçlı mikrofon bağlamak için özel shield kartları veya USB ses kartları kullanmamız gerekir. Bu derste ise çok daha basit yapıya sahip bir mikrofon sensörü ile ses şiddeti algılayıp, bu şiddetin seviyesine göre sesli bir alam tetiklemeyi öğreneceğiz.

Ses Sensörü Nedir?

Kullanacağımız ses sensörü, bir mikrofon ve basit bir amfi devresinden oluşmaktadır. Mikrofonun çıkışındaki çok düşük seviyedeki (milivoltlar mertebesinde) sinyali, amfi devresi güçlendirerek analog veya dijital olarak çıkış almamızı sağlar. Analog sinyal, bize sesin şiddetini ölçmemizi sağlarken kart üzerinde bulunan vidalı trimpot ile dijital çıkışın hangi seviyede aktif olacağını çok hassas bir şekilde ayarlayabilmemiz mümkündür.

Kartın üzerinde yer alan LED’lerden trimpotun yakınında yer alanı, dijital çıkışın hangi seviyede tetikleneceğini gösterir.

Ses sensör modülü

Raspberry Pi – ses sensörü devre şeması:

Not: Kullandığım çizim programında (Fritzing) ses sensörünün birebir aynısını bulamadığım için temsili olarak bir mikrofon kartı kullandım. Sizler bağlantı yaparken sensörün + pinin 3.3V’a, G pinini GND’ye, DO pinini de GPIO18’e bağlayın.

Ses sensörü Python kodu (alternatif link):

import time 
import RPi.GPIO as GPIO 
GPIO.setmode(GPIO.BCM)

buzzer_pin = 17
sensor_pin = 18 

GPIO.setup(sensor_pin, GPIO.IN)
GPIO.setup(buzzer_pin, GPIO.IN)
GPIO.setup(buzzer_pin, GPIO.OUT) 

notes = {
 'B0' : 31,
 'C1' : 33, 'CS1' : 35,
 'D1' : 37, 'DS1' : 39,
 'EB1' : 39,
 'E1' : 41,
 'F1' : 44, 'FS1' : 46,
 'G1' : 49, 'GS1' : 52,
 'A1' : 55, 'AS1' : 58,
 'BB1' : 58,
 'B1' : 62,
 'C2' : 65, 'CS2' : 69,
 'D2' : 73, 'DS2' : 78,
 'EB2' : 78,
 'E2' : 82,
 'F2' : 87, 'FS2' : 93,
 'G2' : 98, 'GS2' : 104,
 'A2' : 110, 'AS2' : 117,
 'BB2' : 123,
 'B2' : 123,
 'C3' : 131, 'CS3' : 139,
 'D3' : 147, 'DS3' : 156,
 'EB3' : 156,
 'E3' : 165,
 'F3' : 175, 'FS3' : 185,
 'G3' : 196, 'GS3' : 208,
 'A3' : 220, 'AS3' : 233,
 'BB3' : 233,
 'B3' : 247,
 'C4' : 262, 'CS4' : 277,
 'D4' : 294, 'DS4' : 311,
 'EB4' : 311,
 'E4' : 330,
 'F4' : 349, 'FS4' : 370,
 'G4' : 392, 'GS4' : 415,
 'A4' : 440, 'AS4' : 466,
 'BB4' : 466,
 'B4' : 494,
 'C5' : 523, 'CS5' : 554,
 'D5' : 587, 'DS5' : 622,
 'EB5' : 622,
 'E5' : 659,
 'F5' : 698, 'FS5' : 740,
 'G5' : 784, 'GS5' : 831,
 'A5' : 880, 'AS5' : 932,
 'BB5' : 932,
 'B5' : 988,
 'C6' : 1047, 'CS6' : 1109,
 'D6' : 1175, 'DS6' : 1245,
 'EB6' : 1245,
 'E6' : 1319,
 'F6' : 1397, 'FS6' : 1480,
 'G6' : 1568, 'GS6' : 1661,
 'A6' : 1760, 'AS6' : 1865,
 'BB6' : 1865,
 'B6' : 1976,
 'C7' : 2093, 'CS7' : 2217,
 'D7' : 2349, 'DS7' : 2489,
 'EB7' : 2489,
 'E7' : 2637,
 'F7' : 2794, 'FS7' : 2960,
 'G7' : 3136, 'GS7' : 3322,
 'A7' : 3520, 'AS7' : 3729,
 'BB7' : 3729,
 'B7' : 3951,
 'C8' : 4186, 'CS8' : 4435,
 'D8' : 4699, 'DS8' : 4978
}

def buzz(frequency, length):

 if(frequency==0):
 time.sleep(length)
 return
 period = 1.0 / frequency
 delayValue = period / 2
 numCycles = int(length * frequency)
 
 for i in range(numCycles):
 GPIO.output(buzzer_pin, True)
 time.sleep(delayValue)
 GPIO.output(buzzer_pin, False)
 time.sleep(delayValue)

def play():
 buzz(notes['A3'], 0.5)
 buzz(notes['A3'], 0.5)
 buzz(notes['A3'], 0.5)
 buzz(notes['F3'], 0.35)
 buzz(notes['C4'], 0.15)
 buzz(notes['A3'], 0.5)
 buzz(notes['F3'], 0.35)
 buzz(notes['C4'], 0.15)
 buzz(notes['A3'], 1.0)

while True:
 if GPIO.input(sensor_pin):
 print("Ses Alarmi!")
 play()
 time.sleep(0.5)

Alarmın melodisi eminim çoğunuza tanıdık gelecektir 😀

Paylaş

Yorumları Görüntüle

En Son İçerik

  • Arduino
  • Arduino Programlama ve Dersler

Arduino Step Motor Kontrolü ve İnternet Üzerinden Step Motor Sürme

< 21. Derse Dön Merhabalar. Bu yazımızda öncelikle Arduino ile step motor kontrolünü öğreneceğiz. Ardından da ESP8266 kullanarak step motorumuzu…

4 saat Önce
  • Genel

Arduino İle ESP8266 WiFi Modülü Kullanarak Sıcaklık ve Nem Ölçümü – ThingSpeak’e Yollama

22. Derse Geç > < 20. Derse Dön Merhaba arkadaşlar ! Bu yazımızda sizlerle ESP8266 nedir, bu wifi modülü nasıl…

1 gün Önce
  • Genel
  • Raspberry Pi

Raspberry Pi 4 Model B Tanıtıldı – Özellikleri Neler Farklı?

https://youtu.be/LSHLeKOxv0Y Raspberry Pi severlere müjde: Raspberry Pi 4 Model B tanıtıldı ! Mini bilgisayar olarak kullanılan ve farklı versiyonları ile…

2 hafta Önce
  • Arduino
  • Arduino Programlama ve Dersler

Arduino ile RFID Kart Okuyucu (RC522) Modül Kullanarak Kapı Kilidi Yapımı

21. Derse Geç > < 19. Derse Dön Herkese merhabalar. Eve kim ne zaman girmiş çıkmış, bilmek istemez misiniz? Öyleyse…

3 hafta Önce
  • Arduino
  • Arduino C# Projeleri ve Uygulamaları

Arduino ve C# ile Mesafe Ölçer – 4. Ders

Sonraki Ders > < Önceki Ders Arkadaşlar merhaba, bu dersimizde HC-SR04 sensörü ile ölçtüğümüz mesafeyi seri haberleşme yardımıyla anlık olarak…

3 hafta Önce
  • Arduino
  • Arduino Programlama ve Dersler
  • Arduino Projeleri
  • Genel

Arduino İle MQ Gaz Sensörlerinin Kullanımı – Yanıcı Gaz Alarmı

20. Derse Geç > < 18. Derse Dön Arkadaşlar herkese selamlar ! Daha önce hiç gaz sensörü kullandınız mı? Bu…

1 ay Önce