Obsah:

Rýchly Hartleyho transformačný spektrálny stetoskop: 22 krokov
Rýchly Hartleyho transformačný spektrálny stetoskop: 22 krokov

Video: Rýchly Hartleyho transformačný spektrálny stetoskop: 22 krokov

Video: Rýchly Hartleyho transformačný spektrálny stetoskop: 22 krokov
Video: Zakázaná Česká reklama T-Mobile 2014 2024, Júl
Anonim
Rýchly Hartleyho transformačný spektrálny stetoskop
Rýchly Hartleyho transformačný spektrálny stetoskop

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

Zapojenie LCD
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

Zapojenie mikrofónu/zosilňovača
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

Komponenty v prílohe
Komponenty v prílohe
Komponenty v prílohe
Komponenty v prílohe

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

Prevlečte dlhé drôty cez otvor v kryte
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

Kryt tesnenia
Kryt tesnenia
Kryt tesnenia
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

Otestujte to!
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: