Obsah:
- Krok 1: Materiály
- Krok 2: Nástroje
- Krok 3: 3D tlač
- Krok 4: Zostrojte obvod
- Krok 5: Zapojenie LCD
- Krok 6: Zapojenie mikrofónu/zosilňovača
- Krok 7: Momentálne zapojenie prepínača
- Krok 8: Zapojenie potenciometra
- Krok 9: Zapojenie konektora pre slúchadlá
- Krok 10: Výstup pre mikrofón/zosilňovač
- Krok 11: Výstup pre mikrofón/zosilňovač pokračuje
- Krok 12: Súčasti v kryte
- Krok 13: Spájkovanie v kryte
- Krok 14: +5V, GND predĺžené vodiče
- Krok 15: Prevlečte dlhé drôty cez otvor v kryte
- Krok 16: Tepelné zmršťovanie
- Krok 17: Kryt tesnenia
- Krok 18: Pripojte sa k Arduinu
- Krok 19: Arduino IDE/knižnice
- Krok 20: Skica Arduino
- Krok 21: Otestujte to
- Krok 22: Budúca práca
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05
V tomto návode sa naučíte, ako vytvoriť spektrálny stetoskop pomocou rýchlej Hartleyho transformácie. Toto je možné použiť na vizualizáciu zvukov srdca a pľúc.
Krok 1: Materiály
1,8 palcový LCD displej (7,50 dolára na Amazone)
Arduino Uno alebo ekvivalent (7,00 dolárov na Gearbest)
Elektretový zosilňovač (6,95 dolárov na Adafruit)
100 µF kondenzátor (0,79 dolára)
Drôt a prepojky (4,00 USD)
3,5 mm stereofónny konektor (1,50 USD)
Potenciometer 10 kOhm (2,00 USD)
Okamžitý prepínač (1,50 USD)
Krok 2: Nástroje
Spájkovačka
Horúca lepiaca pištoľ
3D tlačiareň … alebo priateľ s 3D tlačiarňou (možné vyrobiť aj z kartónu)
Drôtová rezačka
Breadboard
Krok 3: 3D tlač
Prvým je 3D tlač súborov.stl, ktoré sú k tomuto kroku pripojené. Oba súbory som vytlačil pomocou nasledujúceho materiálu/nastavení:
Materiál: PLA
Výška vrstvy: 0,1 mm
Hrúbka steny/hornej/spodnej časti: 0,8 mm
Teplota tlače: 200 ⁰C
Teplota lôžka: 60 ⁰C
Podpora povolená pri 10%
Krok 4: Zostrojte obvod
Použitím komponentov v sekcii materiálov zostavte obvod. Predtým, ako sa dotknem spájkovačky, vždy najskôr spojím obvod na doske, aby som sa ubezpečil, že funguje správne.
Krok 5: Zapojenie LCD
Pomocou obrázku pripojeného k tomuto kroku spájajte vodiče so siedmimi z ôsmich kolíkov na obrazovke LCD. Tieto drôty budú musieť byť asi 3 stopy dlhé, okrem zeme a +5V kolíkov (tieto musia mať iba 2 až 3 palce)
Krok 6: Zapojenie mikrofónu/zosilňovača
Pomocou obrázku pripojeného k tomuto kroku spájajte tri vodiče s kolíkom +5 V, uzemnením a výstupom na mikrofóne/zosilňovači Adafruit. Tieto musia mať dĺžku iba 2 až 3 palce.
Krok 7: Momentálne zapojenie prepínača
Pripojte jeden 2 až 3 palcový vodič ku každému z dvoch výstupkov na dočasnom prepínači.
Krok 8: Zapojenie potenciometra
Pomocou obrázku v kroku 6 spájkujte tri vodiče dlhé asi 2 až 3 palce k trom očkám potenciometra.
Krok 9: Zapojenie konektora pre slúchadlá
Pripájajte tri vodiče k krúžku, špičke a očkám konektora konektora pre slúchadlá. Použil som zdvihák z metronómu, ktorý už bol zapojený. Ak neviete, čo sú prstencové, hrotové a očká na rukáve, jednoducho vygooglite, existuje veľa dobrých obrázkov o zapojení stereo konektorov.
Krok 10: Výstup pre mikrofón/zosilňovač
Po spájkovaní vodičov na mikrofóne/zosilňovači, potenciometri a konektore pre slúchadlá spájajte jeden vodič s dĺžkou asi tri stopy na „výstupný“vodič zosilňovača mikrofónu. Tento drôt bude neskôr pripojený k kolíku A0 arduina.
Krok 11: Výstup pre mikrofón/zosilňovač pokračuje
Spájajte druhý vodič na „výstupný“vodič mikrofónu/zosilňovača. Tento drôt je potrebné spájkovať s kondenzátorom 100 microFarad. Ak používate elektrolytický kondenzátor, uistite sa, že je k tomuto vodiču pripojená kladná strana.
Krok 12: Súčasti v kryte
Potom, čo sú všetky drôty spájkované na súčiastkach, umiestnite komponenty na príslušné miesta podľa obrázkov priložených k tomuto kroku. Na zaistenie konektora mikrofónu a slúchadiel na mieste som použil horúce lepidlo.
Krok 13: Spájkovanie v kryte
Potom, čo sú všetky súčiastky zaistené v kryte, spájkujte všetky uzemňovacie vodiče k sebe. Mal by byť jeden z LCD, jeden z mikrofónu/zosilňovača a jeden z rukáva konektora pre slúchadlá. Tiež spájkujte vodiče +5V k sebe a jeden vodič z dočasného spínača. Opäť by mal byť jeden z LCD, jeden z mikrofónu/zosilňovača a jeden na dočasnom prepínači.
Krok 14: +5V, GND predĺžené vodiče
Teraz odstrihnite dva kusy drôtu asi 3 stopy na dĺžku. Jeden spájkujte so zhlukom uzemňovacích vodičov a druhý spájkujte s otvoreným vodičom na dočasnom spínači.
Krok 15: Prevlečte dlhé drôty cez otvor v kryte
Teraz by ste mali mať celkom osem drôtov asi 3 stopy na dĺžku. Umiestnite ich cez nevyplnený otvor v kryte. Pozrite si obrázok priložený k tomuto kroku
Krok 16: Tepelné zmršťovanie
Po dokončení celého spájkovania skontrolujte, či sú nekryté vodiče zakryté. Použil som zmršťovaciu hadičku, ale elektrická páska funguje dobre.
Krok 17: Kryt tesnenia
Vezmite polovicu skrinky obsahujúcej obrazovku LCD a prevlečte ju cez druhú polovicu skrinky obsahujúcej ostatné komponenty. Pri tlačení dvoch kusov k sebe ich horúcim lepidlom pripevnite k sebe.
Krok 18: Pripojte sa k Arduinu
Zostávajúcich osem dlhých vodičov je zapojených priamo do ich príslušných pinov Arduino uvedených v schémach obvodov. Uistite sa, že zakaždým, keď do obvodu zapojíte jeden z tých dlhých 3 stôp drôtov, na druhý koniec priložíte pásku, ktorá naznačuje, do akého kolíka Arduino ide!
Krok 19: Arduino IDE/knižnice
Budete si musieť stiahnuť Arduino IDE. Na tento náčrt som použil tri rôzne knižnice: FHT.h, SPI.h a TFT.h. Ak neviete, ako sťahovať knižnice Arduino, navštívte stránku https://www.arduino.cc/en/Guide/Libraries. Knižnica FHT.h bola stiahnutá z openmusiclabs.com. Ďalšie dve boli stiahnuté na GitHub.
Krok 20: Skica Arduino
Kód používa Fast Hartley Transform (FHT) na zmenu časovej domény na frekvenčnú doménu. To sa dá urobiť aj pomocou Fast Fourierovej transformácie (FFT), ale FHT je oveľa rýchlejší. FFT a FHT sú veľmi zásadné myšlienky pri spracovaní signálu a je veľmi zábavné sa o nich dozvedieť. Navrhujem, aby ste si niečo prečítali, ak vás to zaujíma, uvidíte. Príklad kódu FHT, ktorý som skopíroval z webovej stránky Open Music Labs, spočiatku vychádzal z amplitúdy každého frekvenčného zásobníka ako logaritmického alebo decibelového výstupu. Zmenil som to tak, aby sa frekvenčné zásobníky zobrazovali lineárne. Dôvodom je, že lineárna stupnica je lepšou vizuálnou reprezentáciou toho, ako ľudia počujú zvuk. Slučka for () na konci slúži na vykreslenie amplitúdy každého frekvenčného zásobníka na obrazovke LCD. Celé spektrum FHT by zahŕňalo všetky frekvenčné zásobníky od i = 0 do i <128. Všimnite si, že moja slučka for () je od i = 5 do i <40, pretože frekvencie dôležité pre diagnostiku pľúcnych stavov sú typicky medzi 150 Hz a 3,5 kHz, rozhodol som sa ísť až na asi 4 kHz. Toto je možné upraviť, ak chcete zobraziť celé frekvenčné spektrum.
[kód]
// Kód digitálneho stetoskopu
// Knižnica Fast Hartley Transform stiahnutá z openmusiclabs
#define LIN_OUT 1 // nastavenie FHT na produkciu lineárneho výstupu
#define LOG_OUT 0 // vypnutie logaritmického výstupu FHT
#define FHT_N 256 // vzorové číslo FHT
#include // zahrnúť knižnicu FHT
#include // zahrnúť knižnicu TFT
#include // zahrnúť knižnicu SPI
#define cs 10 // nastaviť lcd cs pin na arduino pin 10
#define dc 9 // nastavte lcd dc pin na arduino pin 9
#define rst 8 // nastavte resetovací kolík LCD na pin arduino 8
TFT myScreen = TFT (cs, dc, rst); // deklarovanie názvu obrazovky TFT
neplatné nastavenie () {
//Serial.begin(9600);//nastavená vzorkovacia frekvencia
myScreen.begin (); // inicializácia obrazovky TFT
myScreen.background (0, 0, 0); // nastavenie pozadia na čierne
ADCSRA = 0xe5; // nastavenie adc na voľný prevádzkový režim
ADMUX = 0x40; // použite adc0
}
prázdna slučka () {
while (1) {// redukuje chvenie cli (); // Prerušenie UDRE sa týmto spôsobom spomaľuje na arduino1.0
for (int i = 0; i <FHT_N; i ++) {// ulož 256 vzoriek
while (! (ADCSRA & 0x10)); // počkajte, kým bude adc pripravený
ADCSRA = 0xf5; // reštart adc byte
m = ADCL; // načítanie dátového bajtu adc
j = ADCH; int k = (j << 8) | m; // tvar do int
k -= 0x0200; // formulár do podpísaného int
k << = 6; // formulár do 16b podpísaného int
fht_vstup = k; // vložte skutočné údaje do košov
}
fht_window (); // údaje v okne pre lepšiu frekvenčnú odozvu
fht_reorder (); // pred vykonaním príkazu fht zmeňte poradie údajov
fht_run (); // spracovanie údajov vo fht
fht_mag_lin (); // vezmite výstup z fht
sei ();
pre (int i = 5; i <40; i ++) {
myScreen.stroke (255, 255, 255);
myScreen.fill (255, 255, 255);
int drawHeight = mapa (fht_lin_out , 10, 255, 10, myScreen.height ());
int ypos = myScreen.height ()-drawHeight-8; myScreen.rect ((4*i) +8, ypos, 3, drawHeight);
}
myScreen.background (0, 0, 0);
}
}
[/kód]
Krok 21: Otestujte to
Na potvrdenie správneho fungovania kódu som použil online generátor tónov (https://www.szynalski.com/tone-generator/). Keď potvrdíte, že funguje, zatlačte zvonček stetoskopu na hruď, zhlboka sa nadýchnite a zistite, aké frekvencie sú k dispozícii !!
Krok 22: Budúca práca
** Poznámka: Som chemik, nie inžinier alebo počítačový vedec **. Pravdepodobne dôjde k chybám a vylepšeniam dizajnu a kódu. Vzhľadom na to si myslím, že je to dobrý začiatok niečoho, čo môže byť nakoniec veľmi užitočné a lacné. Nasledujúce odrážky sú budúce vylepšenia, ktoré by som rád urobil a dúfam, že sa to niektorí z vás tiež pokúsia vylepšiť!
· Urobte zariadenie mobilným. Nemám rozsiahle skúsenosti s procesormi alebo inými mikrokontrolérmi, ale na uloženie celej knižnice FHT alebo prípadne Bluetooth by potrebovalo dostatok pamäte.
· Zaviesť do kódu niekoľko výpočtov štatistickej analýzy. Napríklad sipot má základnú frekvenciu rovnú alebo väčšiu ako 400 Hz a trvá najmenej 250 ms. Rhonchi sa vyskytuje pri základnej frekvencii asi 200 Hz alebo menej a trvá najmenej 250 ms. Je definovaných mnoho ďalších pľúcnych zvukov, ktoré naznačujú zdravotný stav (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). Myslím, že je to niečo, čo je možné v kóde skontrolovať porovnaním signálu frekvenčných zásobníkov po určitom počte cyklov cez FHT a spustením funkcie millis (), aby ste zistili, ako dlho bol prítomný, a potom ho porovnať. na hladinu hluku výpočtu FHT. Som presvedčený, že tieto veci sa dajú zvládnuť!
Dúfam, že ste sa všetci na tomto projekte pobavili, a ak máte akékoľvek otázky, napíšte komentár a ja vám odpoviem, hneď ako to bude možné! Teším sa na komentáre.
Odporúča:
Ako si vyrobiť 32 -pásmový LED pásmový zvukový hudobný spektrálny analyzátor pomocou Arduino Nano doma #arduinoproject: 8 krokov
Ako si vyrobiť 32 -pásmový analyzátor spektra zvukovej hudby LED pomocou Arduino Nano doma #arduinoproject: Dnes vyrobíme 32 -pásmový analyzátor zvukového spektra LED s použitím Arduina, ktorý dokáže zobrazovať frekvenčné spektrum a súčasne prehrávať muisc. Poznámka The max7219LED musí byť pripojený pred odpor 100k, inak hluk špice
Hack adaptéra PCB - rýchly a šikovný :): 5 krokov
Hack na PCB adaptér - rýchly a šikovný :): Ahoj e -pozemšťania, tento návod je pre všetky armatúry a profesionálov v oblasti elektroniky. Nutnosť je matka vynálezu. Tento malý trik je jedným z týchto vynálezov: DI chcel prototypovať jeden obvod, ktorý obsahoval jeden SMD c
Najmenší rýchly zosilňovač Wi -Fi Esp 01: 6 krokov
Najmenší rýchly zosilňovač Wi -Fi Esp 01: Vždy som chcel šikovný zosilňovač Wifi, pretože som sa špeciálne presúval na rôzne miesta, kde nastavenie smerovača opakovača na striedavý prúd bolelo, a tak som sa rozhodol ísť na server esp 01, pretože spotrebúva nízke napätie a beží na moja powerbanka na týždeň v
Neobvyklý vlastný box/skriňa (rýchly, ľahký, modulárny, lacný): 7 krokov
Neobvyklý vlastný box/skriňa (rýchly, ľahký, modulárny, lacný): Účelom tohto návodu je ukázať vám, ako vyrobiť lacný, vlastný, modulárny box/box. Ukážem vám, ako to urobiť s obmedzeným počtom možností nástroje a rozpočet. Toto je môj prvý návod (tiež angličtina nie je môj prvý jazyk), takže prosím
Spektrálny analyzátor: 4 kroky
Analyzátor spektra: Tento projekt bol pre „Creative Electronics“, modul 4. ročníka Beng Electronics Engineering na Univerzite v Málage, Telekomunikačnej škole (https://www.uma.es/etsi-de-telecomunicacion/). Projekt navrhol a zmontoval Carl