Değerli eşyalarınızı veya özel kutunuzu meraklı gözlerden korumak ister misiniz? Ya da basit bir sarsıntı veya devrilme durumunda uyarı veren bir sistem mi arıyorsunuz? Bu projede, bir tilt sensörü, piezo hoparlör ve LED kullanarak devrildiğinde veya eğildiğinde uyarı veren bir alarm sistemi yapacağız. Proje sayesinde sensör okuma, temel ses üretme ve görsel uyarı verme konularında deneyim kazanacaksınız.
Bu projeyi hayata geçirmek için ihtiyacın olan tüm malzemeler aşağıda listelenmiştir. Bu bileşenler genellikle başlangıç seviyesi Arduino kitlerinde bulunur.
Devre bağlantılarını doğru yapmak, projenin sorunsuz çalışması için önemlidir. Aşağıdaki adımları dikkatlice takip ederek bağlantıları tamamlayabilirsin.
Devre bağlantılarını tamamladıktan sonra sıra projenin beynini oluşturan koda geldi. Arduino IDE'yi aç ve aşağıdaki kodları kopyalayıp yapıştır. Bu kod, tilt sensörden gelen durumu okuyacak ve sensör eğildiğinde alarmı tetikleyecek.
C++
// Sensör, LED ve hoparlör pinlerini tanımlıyoruz
const int tiltSensorPin = 7;
const int ledPin = 5;
const int buzzerPin = 9;
// Tilt sensörün mevcut durumunu tutacak değişken
int tiltState = 0;
void setup() {
// Pinleri giriş ve çıkış olarak ayarlıyoruz
pinMode(tiltSensorPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600); // Seri monitörü başlatıyoruz (hata ayıklama için)
Serial.println("Tilt Sensörlü Alarm Hazır!");
Serial.println("Sensörü eğdiğinizde alarm çalacaktır.");
}
void loop() {
// Tilt sensöründen gelen değeri okuyoruz
tiltState = digitalRead(tiltSensorPin);
// Eğer sensör durumu HIGH ise (eğilme algılandıysa)
// NOT: Tilt sensörüne göre HIGH veya LOW durumu eğilmeyi belirler.
// Kendi sensörünüzü deneme-yanılma ile kontrol edin.
if (tiltState == HIGH) {
// Alarmı çalıştırıyoruz
digitalWrite(ledPin, HIGH); // LED'i yak
Serial.println("Alarm! Hareket Algılandı!");
// Buzzer'dan ses çıkar
tone(buzzerPin, 1000, 200); // 1000 Hz frekansta 200 milisaniye ses çıkar
delay(200);
noTone(buzzerPin); // Sesi durdur
delay(100);
} else {
// Sensör normal konumdaysa alarmı durduruyoruz
digitalWrite(ledPin, LOW); // LED'i kapat
noTone(buzzerPin); // Buzzer'ı sustur
}
}
Bu projede, bir tilt sensörü ile basit bir devrilme algılama sistemi kurdunuz. Kod, digitalRead() komutu ile sensörden gelen HIGH veya LOW sinyalini sürekli kontrol eder. Eğer sensörün durumu belirlenen eşiğe ulaşırsa (yani devrilme gerçekleşirse), if bloğu çalışır ve alarm için gerekli olan LED ve buzzer komutlarını tetikler.
Bu projeyi daha da geliştirmek istersen:
Bu proje, temel sensör kullanımı ve uyarı sistemlerini anlamak için mükemmel bir başlangıç noktasıdır. Kendi yaratıcılığını kullanarak onu daha da kullanışlı hale getirebilirsin!