İçindekiler:
- Gereçler
- Adım 1: Bağlantılar
- Adım 2: Programı Oluşturma
- Adım 3: Kod Ekleme
- Adım 4: USART Ekleme
- Adım 5: Kodu Çalıştırma
- 6. Adım: Hassasiyeti Değiştirin
- 7. Adım: İstediğiniz Her Şeyi Değiştirin
Video: Alkış Anahtarı: 7 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bir keresinde bir akrabam, el çırpmaya tepki veren bir anahtar yapıp yapamayacağımı sordu. Bu yüzden bir proje oluşturmak için bazı şeyler sipariş ettim ve herkesin böyle harika bir geçişe sahip olabilmesi için bir talimat vermeye karar verdim.
Mikrodenetleyici bu projenin beynidir. Mikrodenetleyiciye bir ses sensörü bağlanır, ses algılandığında sensör analog veri gönderir. Mikrodenetleyici, sesteki büyük farklılıkları algılamak üzere programlanmıştır. Yeterince yüksek bir fark algılandığında, yani bir alkış, mikrodenetleyici röleye bir sinyal gönderir. Röle değişir ve ışık yanar. İkinci kez alkışlarken, ışık tekrar kapanacaktır.
Gereçler
Fiziksel şeyler:
- Programlama için kablolu 1x ATmega328P Xplained Mini
- 1x 5v röle modülü 1 kanallı (KY-019 veya benzeri)
- 1x Ses sensörü modülü (KY-038 veya benzeri)
- 1x Ekmek Tahtası
- 6x Erkek-Erkek atlama teli
- Kablolu 1x ışık soketi (veya açmak istediğiniz başka bir cihaz)
- 1x ampul
- 1x direnç* (220 Ohm kullanıyorum)
- 1x LED*
Yazılım indir):
- AtmelStudio 7.0(https://www.microchip.com/mplab/avr-support/atmel-studio-7)
- Macun (www.putty.org)*
* Test amaçlı
Adım 1: Bağlantılar
Tüm kabloları resimde gösterildiği gibi bağlayın.
Adım 2: Programı Oluşturma
C ile kodlamayı seviyorum, bu yüzden bu proje C ile yazılmış.
Gerekli yazılımı henüz indirip kurmadıysanız, şimdi indirin ve kurun.
Şimdi aşağıdaki adımları izleyin:
- AtmelStudio'yu açın.
- "Dosya" -> "Yeni" -> "Proje" üzerine tıklayın.
- "GCC C Yürütülebilir Projesi" üzerine tıklayın. Projenize depolamak için bir ad ve konum verin. "Tamam" ı tıklayın.
- ATmega328P'yi arayın. "ATmega328P" -> "Tamam" ı tıklayın.
- Ana programı açmak için "main.c" üzerindeki Çözüm Gezgini'ne tıklayın.
Adım 3: Kod Ekleme
Main.c'de zaten mevcut olan kodu silin
Aşağıdaki kodu main.c'ye kopyalayıp yapıştırın
#define F_CPU 16000000
#include #include #include #include "usart.h" #define MINIMALVALUE 5 void InitADC(); uint16_t ReadADC(uint8_t ADCchannel); çift val1, val2; int main(void) { // USART USART_init(9600); USART_putstr("#USART başlat\n"); // ADC'yi başlat InitADC(); USART_putstr("#ADC başlat\n"); // PORTC çıkışının PC1 pini, kalan giriş. DDRC = 0b00000010; // başlangıç değerlerini PORTC düşük olarak ayarla. PORTC = 0b00000000; while(1) { //potansiyometre değerini oku // değeri oku ve val1'e kaydet val1=ReadADC(0); _delay_ms(1); // sonraki değeri oku val2'de sakla val2=ReadADC(0); karakter dizisi[10]; // ReadADC(), değeri tamsayı olarak geri verir. Putty'de hata ayıklamak veya değeri görmek istiyorsak, // USART'ın yazdırabilmesi için değerin karakterlere dönüştürülmesi gerekir. itoa(val1, str, 10); USART_putstr(str); USART_putstr("\n"); // 2 değer arasında belirli bir fark varsa. Bir ses algılanır ve bir bağlantı noktasını değiştirir. // MINIMALVALUE değiştirilebilir, artırmak onu daha az hassas hale getirecektir. Azaltma, onu daha hassas hale getirecek if(val1-val2 > MINIMALVALUE || val2-val1 > MINIMALVALUE) { PORTC ^= 0b00000010; // IŞIK AÇIK UC _delay_ms(200); } } } void InitADC() { // Vref=AVcc ADMUX seçin |= (1<<REFS0); //önceden çağırıcıyı 128'e ayarlayın ve ADC ADCSRA'yı etkinleştirin |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADEN); } uint16_t ReadADC(uint8_t ADCchannel) { //güvenlik maskeli ADC kanalını seçin ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); //tek çevrim modu ADCSRA |= (1<<ADSC); // ADC dönüşümü tamamlanana kadar bekleyin while(ADCSRA & (1<<ADSC)); ADC'yi iade edin; }
Adım 4: USART Ekleme
USART, mikrodenetleyici üzerinde kullanılabilen bir seri iletişim protokolüdür. Sensörden gelen analog verileri görmek için mikrodenetleyicide kullanıyorum.
USART, bir başlık(.h) ve kaynak(.c) dosyası içeren, zaten doğru şekilde programlanmıştır. 2 dosyayı indirin ve AtmelStudio'daki programınıza ekleyin.
Solution Explorer'da proje adına sağ tıklayın. "Ekle" -> "Mevcut Öğe…" ye tıklayın ve indirilen 2 dosyayı seçin.
Adım 5: Kodu Çalıştırma
Mikrodenetleyiciyi bilgisayara bağlayın. Bilgisayarınızda "aygıt yöneticisi" arayın ve açın. "Bağlantı Noktaları (COM & LPT)" öğesini arayın ve mikro denetleyicinin açık olduğu COM bağlantı noktasını unutmayın.
PuTTY'yi açın ve "Seri" üzerine tıklayın, mikrodenetleyicide bulduğunuz COM portunu yazın ve "Aç" ı tıklayın. Bir terminal açılır, şimdilik bırakın.
Mikrodenetleyiciyi programlamak için doğru aracı seçmek için AtmelStudio'ya geri dönün.
- Çekiç aracına tıklayın.
- "mEDBG*ATML" hata ayıklayıcısını/programlayıcısını seçin.
- "debugWIRE" arayüzünü seçin.
- "Hata ayıklamadan başla"yı tıklayın.
Program oluşturacak ve yazacaktır.
Program doğru çalıştığında, puTTY'de tamsayı değerleri görürsünüz. Tornavida kullanarak sensör üzerindeki vidayı çevirerek puTTY'de görülen değeri değiştirebilirim. Sensörüm vidayı sonuna kadar çevirirken 0 ile 1000 arası değerler veriyor. Vidayı toplam değerin 100'üne (%10) çeviriyorum. Bunun benim için işe yaradığını öğrendim.
6. Adım: Hassasiyeti Değiştirin
Işık açıldığında hassasiyeti ayarlamak için 2 seçeneği kullanabilirsiniz, ancak ikisini birden değil birini seçin:
- Sensör vidasını değiştirin;
- Kod değerini değiştirin.
Seçenek 2'yi kullanıyorum. MINIMALVALUE değerini artırmak onu daha az duyarlı hale getirecek, azaltmak onu daha hassas hale getirecek.
#define MİNİMALDEĞER 5
7. Adım: İstediğiniz Her Şeyi Değiştirin
UYARI: Daha yüksek voltajları değiştirirken dikkat edin
Sensörün hassasiyetinden memnun kaldığınızda devreyi değiştirebilirsiniz. Devreyi yukarıdaki resimdeki gibi değiştirin. Artık istediğiniz her şeyi değiştirebilirsiniz!
Önerilen:
Alkış Anahtarı: 4 Adım
Clap Switch: Bir cihazı kapatmak/yok etmek için sadece düğmeyi çevirmek için kalkmaktan ya da karanlıkta bir düğme aramaktan bıktınız mı? Neden bir alkış düğmesi yapmıyorsunuz? Alkış anahtarı nedir? Bir clap -switch devresi, ses tabanına duyarlı bir devredir, İnv
El Alkış Işıkları Anahtarı: 4 Adım
El Clap Işık Anahtarı: Işık anahtarına ulaşmadan önce genellikle karanlıkta birkaç adım atmanız gerekir. Şimdi bir el çırparak ışıkları zahmetsizce açabilirsiniz
Alkış Anahtarı Devresi Nasıl Yapılır: 12 Adım (Resimli)
Alkış Anahtarı Devresi Nasıl Yapılır: Merhaba arkadaşlar bugün bir alkış anahtarı devresi yapacağım.Alkış yapacağımız zaman led yanacaktır.Bu devre harika.Bu devreyi yapmak için LM555 IC ve C945 transistör kullanacağım.Hadi bakalım. Başlamak
Alkış Anahtarı (5 Saniyede 40 Alkış): 4 Adım (Resimli)
Clap Switch (5 Saniyede 40 Alkış): Clap Switch, devrenin çıkışını bir röle anahtarına bağlayarak her türlü elektrikli komponenti AÇMA/KAPAMA özelliğine sahiptir. Burada çok iyi açıklamalarla birkaç bileşenli bir alkış anahtarı yapacağız. Diğer tüm alkış anahtarı ile karşılaştırıldığında
Bluetooth Alkış Anahtarı: 3 Adım (Resimli)
Bluetooth Clap Switch.: Bu, eski bluetooth hoparlörlerini yeniden kullanmanın ucuz bir yoludur. Bu, cep telefonuna kurulu bir yazılımda alkışlayarak ışıkları veya şehir voltajına bağlı herhangi bir şeyi açıp kapatabilen kendin yap cihazıdır