İçindekiler:

Token Duyuru Sistemi: 5 Adım
Token Duyuru Sistemi: 5 Adım

Video: Token Duyuru Sistemi: 5 Adım

Video: Token Duyuru Sistemi: 5 Adım
Video: Fexobit Borsası Gen token kilitli ve kilitsiz ön satış ! ! ! 2024, Temmuz
Anonim
Jeton Duyuru Sistemi
Jeton Duyuru Sistemi

Ö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

Malzemeleri Toplayın
Malzemeleri Toplayın
Malzemeleri Toplayın
Malzemeleri Toplayın
Malzemeleri Toplayın
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ı

Devre şeması
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

Ses Dosyalarının Hazırlanması
Ses Dosyalarının Hazırlanması
Ses Dosyalarının Hazırlanması
Ses Dosyalarının Hazırlanması

Ş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

kodlama
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ı

Projenin Çalışması
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: