İçindekiler:
- Adım 1: Composants Utilisés
- 2. Adım: Mimarlık
- Adım 3: Parti Analogu
- Adım 4: Gösterim Des PCB'leri
- Adım 5: Partie Numerique
- Adım 6: Le Kodu
Video: Otomatik Ayar: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Otomatik Ayarlama
Notre équipe va vous présenter la réalisation de ce projet. Notre équipe est composée de 3 élèves ingénieurs de Polytech Sorbonne ve EISE4 (4ème année du cycle in électronique informatique systèmes embarqués).
Notre projesi, PC'nin yanı sıra FFT'nin yanı sıra mikro, üst düzey bir bilgisayar için de geçerlidir. Il sera olası de- ğiştirici le son ses comme le hacmi ve créer un écho.
C'est parti les açıklamaları dökün !!
Adım 1: Composants Utilisés
- Kart DEO-Nano-SoC
- Pil 2 çıkışı à 5V2A
- Mikro
- Haut Parleur 8 Ohm
- Düzenleyici: MAX660
- Yakalayıcı IR: GP2Y0E02A
- Ampli Ses: LM386N-1/NOPB
- DAC: MCP4821-E/P
- diyot: 1N4148
- Transistör: LND150N3-G / N-FET
- 2 AOP: TL081C
- Dirençler
- kondensatörler
- Wi-Fi: ESP8266EX
- 4 anahtar
- 3 Led de couleur
2. Adım: Mimarlık
Sesli ci-dessus notre şema bloğu temsili l'mimari de notre projet Autotune.
Comme vous pouvez le voir, notre projet va pouvoir capter un son à l'aide du micro don le sinyal analog capté sera converti en un sinyal numérique don l'ADC est entégré dans la carte FPGA. En iyi sinyal sera modifié selon nos effets choisis à l'aide d'un capteur de proximité et des anahtarları. Enfin, le sinyal modifié depuis la carte sera reconverti en un sinyal analoğu ve sera iletmek à travers le haut parleur.
Adım 3: Parti Analogu
Notre party analogie est composée de 2 devreleri:
Birincil devre, parti mikro, küçük sera dalları ve CAN de la carte FPGA, oluşturma ve kazanç ve filtre geçişlerini önleme sinyali.
Un-deuxieme devresi tekrar tekrar partie özel salon, qui sera dalı à la carte FPGA, composé du DAC, d'un diviseur de tansiyon et d'un amplificateur audio.
Daha fazla bilgi için bkz. -5V.
Adım 4: Gösterim Des PCB'leri
Bakim, nous allons créer nos PCB afin deles imprimer et de les relier !
A l'aide du logiciel Alitum, nous avons pu creer deux PCB'ler, en kötü partiye mikro et haut parleur. Sesli site muhabiri veya tutoriel Altium qui peut kesinlik vous aider !
Adım 5: Partie Numerique
PCB'ler ve FPGA'dan daha fazla kaçın!
Özel numaralar, nous avons créer un code C qui en est séparé en deux en utilisant un thread'i dökün. D'un cote, récupère le sinyali üzerinde le modifie ve l'envoie vers le DAC en spi'de. D'un deuxième côté, envoie le résultat par wifi hesabında la fft et. Partinin prömiyeri için ayrılma izni.
Kullanımda Qsys et quartus dallandırıcı le HPS avec les différents komposantları dökün. Notamment une IP SPI'yi kullanırken, IP UART'ı, avec la carte wifi ile iletişim kurun.
Adım 6: Le Kodu
Voici le lien où nous avons recuperé le code pour faire la fft.
Se kodunu kullanırken hesaplayıcıyı la fft dökün:
// Yapılandırma de la konfigürasyon ve des arabellekleri in et out pour s(t) et S(f) const kiss_fft_cfg config = kiss_fft_alloc(NFFT, 0, NULL, NULL);
kiss_fft_cpx* in = (kiss_fft_cpx*)malloc(NFFT*sizeof(kiss_fft_cpx));kiss_fft_cpx* out = (kiss_fft_cpx*)malloc(NFFT*sizeof(kiss_fft_cpx));
for(j = 0; j < NFFT; j++){Değer = *h2p_lw_adc_addr; //recupère la valeur provenant du pcb du microin[j].r = Değer-2000.0; //emeklilik üzerine l'offset de cette valeurfor(i = 0; i < 2100; i++) {} //un temps bien précis pour avoir une fréquence d'échantillonnage connue}
// verss outkiss_fft(config, in, out);bzero(C_val, 110); // envoyer par wififor(t=0;t< (NFFT/4);t++) { //sınırlayıcıyı bir sınırlayıcıya boşaltın. fft à des valeurs entre 0 ve 9 tmp_log=20*(log(abs(out[t].r/1000.0)))*9;
tmp_log=tmp_log/50; if(tmp_log<0){ tmp_log=0; } if(tmp_log>9){ tmp_log=9; } sprintf(tmp_val, "%d", tmp_log); strcat(C_val, tmp_val); //ajoute au buffer la nouvelle valeur
}send_wifir(C_val); // envoi le buffer par wifi üzerinde
işlev wifir gönder:
void send_wifir(char* com_AT){ int num, z; for(z=0;z<22000000;z++) {} for(num = 0; num < (int)strlen(com_AT); num++) { *(h2p_lw_rs232_addr) = com_AT[num]; } }
Başlatıcı la carte wifi'yi uygun kullanım koduna dökün:
send_wifi("AT+RST\r\n"); //kart uykuda sıfırlama talebi(3); // qu'elle resetsend_wifi("AT+CWMODE=3\n\r"); // cartesend_wifi seçim modu("AT+CWJAP=\"wifiNom\", \"MotDePasse\"\r\n"); //wifisleep(15); //katılıyor qu'elle se connectesend_wifi("AT+CIPSTART=\"UDP\", \"192.168.43.110\", 32003\r\n"); //Uykudan bağımsız olarak, isteğe bağlı bir bağlantıda, en üst düzey sunucuda(3); //connexionsend_wifi("AT+CIPMODE=1\r\n"); // yüz yüze görüşme modunda envoie en sürekli uyku(3);send_wifi("AT+CIPSEND\r\n"); // iletimin başlangıcında
işlev wifi gönder:
void send_wifi(char* com_AT){ int num, z;for(num = 0; num < (int)strlen(com_AT); num++) { *(h2p_lw_rs232_addr) = com_AT[sayı]; for(z=0;z<2500000;z++) {} } }
Sunucu kodu:
afficage de la fft:
int i, j, Değer=0; sistem ("temizle");
for(i =0; i < 41; i++) { if(i < 40) { for(j = 0; j < BUFSIZE; j++) { if(table[j]*4 > (40 - i)) { if (tablo[j]*4 > 35) printf(KIRMIZI "|" SIFIRLAMA); else if(table[j]*4 > 28) printf(L_RED "|" RESET); else if(table[j]*4 > 21) printf(YEL "|" RESET); else if(table[j]*4 > 14) printf(L_YEL "|" RESET); else if(table[j]*4 > 7) printf(L_GRN "|" RESET); else printf(GRN "|" RESET); } başka printf(" "); } printf("\n"); } else { printf("0Hz 2.5Hz 5Hz 7.5kHz 10kHz\n"); /*for(j = 0; j < (BUFSIZE/2); j++)
Önerilen:
NodeMCU, Yerel Blynk Sunucusu ve Blynk Apk ile İç Mekan Bitkilerinin Sulanması, Ayarlanabilir Ayar Noktası: 3 Adım
NodeMCU, Local Blynk Server ve Blynk Apk ile İç Mekan Bitkilerini Sulama, Ayarlanabilir Ayar Noktası: Bu projeyi oluşturdum çünkü iç mekan bitkilerimin uzun süre tatildeyken bile sağlıklı olması gerekiyor ve bu fikri seviyorum evimde olan tüm olası şeyleri internet üzerinden kontrol etmek veya en azından izlemek
1 Pin Kullanarak DIP Ayar Seçici: 4 Adım
1 Pin Kullanan DIP Akort Seçici: Bir süre önce bir "müzik kutusu" üzerinde çalıştım; 10 farklı melodi parçası arasından seçim yapması gereken proje. 4 anahtar 24=16 farklı ayar sağladığından, belirli bir melodiyi seçmek için doğal bir seçim 4 pinli dip anahtarıydı. H
Açma/Kapama Ayar Noktalı Arduino Zamanlayıcı: 6 Adım (Resimli)
Açık/Kapalı Ayar Noktalı Arduino Zamanlayıcı: Düzenlendi 05-02-2018 Yeni Zamanlayıcılar! saat, dakika, saniye, eeprom. Lütfen ziyaret edin:https://www.instructables.com/id/Arduino-Ultra-Meg…Merhaba, bu proje ile cihazlarınızın istediğiniz zaman arasında açılıp kapanmasını kontrol edebileceksiniz. Onlar olabilir
Acer Extensa Dizüstü Bilgisayar (5620 / T5250) Yükseltme ve İnce Ayar Kılavuzu: 6 Adım
Acer Extensa Dizüstü Bilgisayar (5620 / T5250) Yükseltme ve İnce Ayar Kılavuzu: Bir süre önce yeni Acer Extensa 5620-6830 dizüstü bilgisayarıma Windows XP kurulumu hakkında bir paylaşımda bulundum. Bu hoş ve küçük bir makine - fiyat uygundu ve standart özellikler fena değil. Ama işte bu bütçeye sahip herkese yardımcı olabilecek bazı bilgiler
Otomatik Ayar Nasıl Yapılır (Ücretsiz!): 4 Adım
Otomatik Ayar Nasıl Yapılır (Ücretsiz!): Garaj bandını kullanarak, o çok duyduğunuz otomatik ayar efektini nasıl kolayca oluşturacağınızı öğrenin.**DÜZENLE** Bir örneğe bağlantı: http://limelinx.com/files/e7b32e25dda5c5a22ab1bfc8c0eb3acd