Merhaba sitemizin sakinleri! İle ilgili makaleyi tercüme ettiğimde sahte ahşap led izle, bazı okuyucular düşündü: saat, termometre ve higrometre modunu ev yapımı bir mod ile değiştirmek için gerekli titreşim sensörünü değiştirmek mümkün mü? Tabii ki yapabilirsin ve ArifSae takma adı altında Instructables yazarının nasıl olduğunu anlatıyor.
Master, sensörün hareketli bir elemanı olarak bir sarma telinden bir yay kullanır. Bakır olana ek olarak, örneğin düğmeli bir dolma kalemden çelik bir yay kullanabilirsiniz, ancak sensörün parametrelerini etkileyecek daha serttir.
Sargı teli cilalandığından soyulmalıdır. Bunu yapmak için ArifSae zımpara kağıdı uygular:
Soyulmuş bir teli (bu arada, kırık bir bilgisayar fanının motorundan alınan) bir çiviye sarmak:
Ve böyle bir şeyi perfboard tipi bir kartta bir yay ve 220 ohm'luk bir dirençten toplar:
Yay bakırsa, bu tür bir titreşim sensörü kesinlikle dikey olarak konumlandırılmalıdır, aksi takdirde yay titreşim olmasa bile direncin çıkışına eğilir ve dokunur. Çelik bir yay ile sensör herhangi bir pozisyonda çalıştırılabilir.
Sensör kontaklarının sıçramalarını hem programlı hem de donanımsal olarak bastırabilirsiniz. İkincisi, elektrik devresi biraz karmaşıkken programı basitleştirmenizi sağlar. Donanım sıçrama önleme için devrelerden biri şekilde gösterilmiştir:
Böyle bir devre ayrıca, yayın direncin çıkışı ile çok kısa bir teması ile nabzı uzatır. Bu, ağır kütüphaneler kullanılarak yazılmış ve “yavaşlar” olsa bile programın bir tetikleyici algılamasına yardımcı olur. Sözü edilen sahte ahşap saatlerin ürün yazılımına tırmanmanız gerekmeyecek, kendi kendine yapılan bir sensörle modlar, bitmiş olanla aynı şekilde bir halkaya geçecek.
Geliştiricinin analog girişe bağlı bir titreşim sensörü var Arduino, durumunu hem digitalRead komutu hem de analogRead komutuyla okumanızı sağlar. İkinci durumda, kondansatörü kapatabilirsiniz, daha sonra donanım gevezelik bastırma olmaz ve program titreşimin yoğunluğunu değerlendirebilir. Aşağıda, uygun komutları kullanmanın iki taslak örneği verilmiştir. Birincisi:
int sensörü = A5; // sensör pimi
int liderliğindeki = 13; // arduino için varsayılan led
void setup () {
pinMode (sensör, INPUT);
pinMode (led, ÇIKIŞ);
Serial.begin (9600);
}
void loop () {
int voltaj = digitalRead (sensör); // sensörü buradan okuyun
Seri.println (voltaj); // pc'de seri monitöre voltaj yazdırın
gecikme (1000);
if (voltaj & gt; = 1) {// yay sallandığında temas ederse
digitalWrite (led, YÜKSEK); // titreşimin algılandığını göstermek için aç
gecikme (2000);
digitalWrite (led, DÜŞÜK); // şimdi led'i kapat
} // gerilim varsa bitir
} // bitiş döngüsü
İkincisi:
int sensörü = A5;
int ledi = A0;
void loop () {
int sensorValue = analogRead (sensör);
şamandıra gerilimi = sensörDeğeri * (5.0 / 1023.0);
Seri.println (voltaj); gecikme (200);
Eğer (voltaj> = 0,5) {// hassasiyeti burada ayarlayın, daha az duyarlı için voltajı 0,5 artırın, daha duyarlı için azaltın
digitalWrite (led, YÜKSEK);
gecikme (2000);
digitalWrite (led, DÜŞÜK); }
}
Titreşim sensörünün bir sensör üzerindeki avantajı, kasanın üzerindeki belirli bir noktaya dokunarak değil, herhangi bir yere dokunarak modları değiştirebilmesidir. İkinci okuma yönteminde, kılavuz çekme yoğunluğuna bağlı olarak farklı bir reaksiyon elde edilebilir. Örneğin, halka üzerindeki modların değiştirilmesini tersine çevirmek için: bir tarafta zayıf bir dokunuşla, diğer tarafta güçlü bir dokunuşla.