İçindekiler:
- 1. Adım: Malzemeleri Toplayın
- Adım 2: Devre Şeması
- Adım 3: Ses Dosyalarını Hazırlama
- Adım 4: Kodlama
- Adım 5: Projenin Çalışması
Video: Token Duyuru Sistemi: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Önceki derste Arduino'nuzu Konuşmaya nasıl hazırlayacağınızı gördük. Bugün aynı konuyu biraz daha inceleyeceğiz. Hepimiz hayatımızın bir noktasında, belki bir bankada veya bir tren istasyonunda bir Duyuru sistemi ile karşılaşmış olmalıyız. Bu anons sistemlerinin nasıl çalıştığını hiç merak ettiniz mi? Son projemizle aynı prensipte çalışıyorlar. Bugün bu derste, 1'den 999'a kadar olan jetonları, yani toplam 999 jetonu (0'ı dahil ederseniz 1000) ilan edebilen bir Token Duyuru Sistemi yapacağız. Gelelim yapım sürecine!!!
1. Adım: Malzemeleri Toplayın
Hey, bileşenleri satın almak için bir çevrimiçi mağaza arıyorsanız, o zaman kontrol etmeniz gereken site UTSource.net'tir. Uygun fiyatlarda çok çeşitli elektronik modüllere ve bileşenlere sahiptirler. Ayrıca 16 katmana kadar PCB Hizmetleri sağlarlar. Web sitelerini kontrol edin.
Bu proje için ihtiyacımız olan modüllere bir göz atalım -
1. Arduino Uno Kartı
2. 4*4 Matris Tuş Takımı
3. SD Kart Modülü
4. 3,5 mm Ses Jakı
5. Dahili amplifikatöre ve AUX kablosuna sahip hoparlör
6. Bazı Başlık Telleri
Bu bileşenlerin çoğu önceki projelerimizde kullanıldı.
Adım 2: Devre Şeması
Bu projenin devre şeması, Talking Arduino projesinde olduğu gibi tamamen aynıdır. Tek fark klavyedir. Bir tuş takımı arabirimi oldukça basittir. Tuş takımı sıralarını yukarıda gösterildiği gibi Arduino'nun pinlerine bağlayın.
(Bu projede kullandığım keypadler devredeki ile aynı değil çünkü Fritzing'in parça listesinde doğru olanı bulamadım. O yüzden devredeki keypadin ilk ve son pinlerini dikkate almayınız.)
Audio Jakının sol ve sağ kanalını Arduino'nun dijital pin 10'una bağlayın. Ve topraklama pimi Arduino'nun toprağına.
Bağlantıların geri kalanını yapmak için diyagramı izleyin.
Adım 3: Ses Dosyalarını Hazırlama
Şimdi, SD kart modülünü ve TMRpcm kitaplığını kullanırken sadece.wav ses formatını kullanabileceğinizi aklınızda bulundurmalısınız. Başka hiçbir ses formatı çalışmaz.
Bu nedenle, kaydedilmiş ses dosyalarınızı veya SD karta yüklemeyi düşündüğünüz dosyaları dönüştürmek için bu çevrimiçi ses dönüştürücüyü kullanmalısınız >> BURAYA TIKLAYIN
Yukarıdaki resimde gösterildiği gibi dönüştürme ayarlarını saklayın.
Ve gerçek sistemlerde duyduğumuz harika sayısallaştırılmış sesler istiyorsanız, yazılı metni konuşmaya dönüştüren bu web sitesini kontrol edin. Daha sonra yukarıda belirtilen siteden.wav formatına dönüştürülebilecek mp3 formatında indirebiliriz.
SİTEYİ ZİYARET ETMEK İÇİN TIKLAYINIZ
Kullandığım ses dosyalarını da aşağıdan indirebilirsiniz. Böylece tahtayı programlamanın zamanı geldi.
Adım 4: Kodlama
.ino dosyasını aşağıdan indirin. Programı derleyin ve Arduino Board'unuza yükleyin. Kodu yüklerken herhangi bir sorunla karşılaşırsanız, benimle iletişime geçmekten veya aşağıya bir yorum bırakmaktan çekinmeyin. Size yardımcı olmaktan mutluluk duyarım.
#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; karakter myNum[4]; int i; const bayt SATIRLAR = 4; //dört satır const bayt COLS = 4; //dört sütun karakter anahtarları[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; bayt rowPins[SATIR] = {A0, A1, A2, A3}; //klavyenin satır pin çıkışlarına bağlan bayt colPins[COLS] = {9, 8, 7, 6}; //tuş takımının sütun pinlerine bağlanın Tuş takımı keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS); geçersiz kurulum() { tmrpcm.speakerPin = 10; Seri.başla(9600); if (!SD.begin(SD_ChipSelectPin)) { Serial.println("SD başarısız"); dönüş; } /* tmrpcm.setVolume(5); tmrpcm.play("üç.wav"); //Test için kullanılır(Son koda dahil etmeyin) delay(1000);*/ } void loop() { Serial.println("Üç haneli sayı girin -"); for (i = 0; i < 4; ++i) { while((myNum = keypad.getKey())==NO_KEY) { delay(1); // Sadece bir anahtar bekleyin } // Anahtarın serbest bırakılmasını bekleyin while(keypad.getKey() != NO_KEY) { delay(1); } Serial.print(myNum); } if(myNum[3]=='A') { Serial.println("Token Gönderildi"); tmrpcm.setVolume(5); tmrpcm.play("tokenno.wav"); gecikme(2000); Kontrol(); } if(myNum[3]=='B') { Serial.println("Token Gönderilmedi"); i=0; } if(myNum[3]=='*') { Serial.println("Kayıt masası"); tmrpcm.setVolume(5); tmrpcm.play("yıldız.wav"); i=0; } if(myNum[3]=='#') { Serial.println("kapanıyor"); tmrpcm.setVolume(5); tmrpcm.play("hash.wav"); i=0; } if(myNum[3]=='D') { Serial.println("Alt"); tmrpcm.setVolume(5); tmrpcm.play("D.wav"); i=0; } } void check() { for(int c=0;c<3;c++) { if (myNum[c]=='0') { tmrpcm.setVolume(5); tmrpcm.play("sıfır.wav"); gecikme(1000); } if (myNum[c]=='1') { tmrpcm.setVolume(5); tmrpcm.play("bir.wav"); gecikme(1000); } if (myNum[c]=='2') { tmrpcm.setVolume(5); tmrpcm.play("iki.wav"); gecikme(1000); } if (myNum[c]=='3') { tmrpcm.setVolume(5); tmrpcm.play("üç.wav"); gecikme(1000); } if (myNum[c]=='4') { tmrpcm.setVolume(5); tmrpcm.play("dört.wav"); gecikme(1000); } if (myNum[c]=='5') { tmrpcm.setVolume(5); tmrpcm.play("beş.wav"); gecikme(1000); } if (myNum[c]=='6') { tmrpcm.setVolume(5); tmrpcm.play("altı.wav"); gecikme(1000); } if (myNum[c]=='7') { tmrpcm.setVolume(5); tmrpcm.play("yedi.wav"); gecikme(1000); } if (myNum[c]=='8') { tmrpcm.setVolume(5); tmrpcm.play("sekiz.wav"); gecikme(1000); } if (myNum[c]=='9') { tmrpcm.setVolume(5); tmrpcm.play("dokuz.wav"); gecikme(1000); } } tmrpcm.setVolume(5); tmrpcm.play("yıldız.wav"); }
Ses dosyalarının adlarını değiştirirseniz, bunları kodda da düzenlediğinizden emin olun. Bu yapıldığında projeniz test edilmeye hazırdır. Nasıl çalıştığını görelim.
Adım 5: Projenin Çalışması
Aşağıda projenin bir videosunu yükledim. Bunu kontrol edebilirsiniz. Proje beklentilerime göre çalıştı. Karşılaştığım tek sınırlama, proje için ayrı bir ekranın olmamasıydı. Dizüstü bilgisayarı her zaman bağlı tutamayız. Diğer durum, bütün gün dizüstü bilgisayarda çalışıyorsanız ve bol miktarda USB bağlantı noktasına sahipseniz.
Bu yüzden bu projeye bir lcd (herhangi bir şey yapacak) eklemenizi ve bana o projenin bir bağlantısını göndermenizi istiyorum.
Bu proje ofislerinizde, günlük olarak çok sayıda ziyaretçiniz varsa, resepsiyon masalarında kullanılabilir.
Ayrı bir güç kaynağı ve lcd eklemek bu projeyi tek başına ayakta tutacaktır. Bu görevi size emanet ediyorum çocuklar.
Çalışmamı beğendiyseniz, projelerimi sosyal medya hesaplarınızda paylaşarak bana yardımcı olun. Şimdilik bu kadar. Yakında başka bir projede görüşmek üzere.
Önerilen:
Bluetooth Kontrollü Messenger LCD -- 16x2 LCD -- Hc05 -- Basit -- Kablosuz Duyuru Panosu: 8 Adım
Bluetooth Kontrollü Messenger LCD || 16x2 LCD || Hc05 || Basit || Kablosuz Duyuru Panosu:…………………………… Daha fazla video için lütfen YouTube kanalıma ABONE OLUN…… ………………………………………….Bildiri panosu, insanları yeni bilgilerle güncellemek için kullanılır. veya Odada veya salonda mesaj göndermek isterseniz
Kablosuz Duyuru Panosu (Bluetooth): 5 Adım (Resimlerle)
Kablosuz Bildiri Panosu (Bluetooth): Her şeyin dijitalleştiği bu modern dünyada, neden geleneksel Bildiri panosu yeni bir görünüm kazanmasın. Öyleyse, Bluetooth kontrollü bir Bildiri Panosu yapalım çok basit. Bu kurulum statik bildirim yerine kullanılabilir. kolejlerde olduğu gibi yönetim kurulu /
Duyuru için Arduino Sayma Zamanlayıcısı: 5 Adım
Duyuru için Arduino Sayma Sayacı: Arduino UNO ve LCD monitör kullanılarak yapılan geri sayım sayacıdır. Bu projeyi yapmamın sebebi okulumuzda (KCIS) her Çarşamba saat 21:30'da online öğle yemeği rezervasyonu yapmamız gerekiyor. Ancak en ünlüsü ve içinde bulunduğu yemek
Duyuru: 4 Adım
Annunciator: Başkalarına kişisel eşyalarını sizin yerinize koymamalarını söyleme deneyiminiz oldu mu? Çoğunlukla herkes bu durumla karşılaşmıştır ve çoğu zaman bu sorun, diğerleri genellikle uyarıyı dinlemediği için çözülmez. Bu cihaz &quo
Raspberry Pi ve MQTT Protokolünü Kullanan Dijital Duyuru Panosu: 8 Adım
Raspberry Pi ve MQTT Protokolünü Kullanan Dijital Duyuru Panosu: Duyuru Panoları ofis, okul, hastane, otel gibi hemen her yerde kullanılmaktadır. Önemli bildirimleri görüntülemek veya yaklaşan etkinliklerin veya toplantıların reklamını yapmak için tekrar tekrar kullanılabilirler. Ancak duyuru veya reklamlar basılı olmak zorunda