Sisukord:
- Samm: materjalid
- Samm: tööriistad
- Samm: 3D -printimine
- Samm: konstrueerige ahel
- Samm: LCD juhtmestik
- Samm: mikrofoni/võimendi juhtmestik
- Samm 7: hetkeline lüliti juhtmestik
- Samm: potentsiomeetri juhtmestik
- Samm: kõrvaklappide pesa juhtmestik
- 10. samm: mikrofoni/võimendi väljund
- 11. samm: mikrofoni/võimendi väljund jätkub
- 12. samm: korpuse komponendid
- Samm 13: korpuses olev jootmine
- 14. samm: +5 V, GND laiendatud juhtmed
- Samm: libistage pikad juhtmed läbi korpuse augu
- 16. samm: Kuuma kokkutõmbumine
- Samm 17: tihendi ümbris
- Samm: looge ühendus Arduinoga
- 19. samm: Arduino IDE/teegid
- 20. samm: Arduino visand
- 21. samm: proovige järele
- 22. samm: tulevane töö
Video: Kiire Hartley muundamise spektraalstetoskoop: 22 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Selles juhendis saate teada, kuidas kiire hartley teisenduse abil spektraalstetoskoopi teha. Seda saab kasutada südame- ja kopsuhelide visualiseerimiseks.
Samm: materjalid
1,8 -tolline LCD -ekraan (7,50 dollarit Amazonil)
Arduino Uno või samaväärne (7, 00 dollarit Gearbestil)
Electreti võimendi (6,95 dollarit Adafruitil)
100 µF kondensaator (0,79 dollarit)
Traat ja džemprid (4,00 dollarit)
3,5 mm stereopistik (1,50 dollarit)
10 kOhm potentsiomeeter (2,00 dollarit)
Hetkelüliti (1,50 dollarit)
Samm: tööriistad
Jootekolb
Kuum liimipüstol
3D -printer… või sõber 3D -printeriga (võimalik teha ka papist)
Traadi lõikur
Leivalaud
Samm: 3D -printimine
Esimene on selle sammu juurde lisatud.stl -failide 3D -printimine. Prindisin mõlemad failid, kasutades järgmist materjali/seadeid:
Materjal: PLA
Kihi kõrgus: 0,1 mm
Seina/ülemise/alumise paksus: 0,8 mm
Trükitemperatuur: 200 ℃
Voodi temperatuur: 60 ° C
Toetus lubatud @ 10%
Samm: konstrueerige ahel
Materjalide jaotises olevate komponentide abil ehitage vooluring. Enne jootekolvi puudutamist panen vooluringi alati esmalt leivaplaadile kokku, et veenduda, kas see töötab korralikult.
Samm: LCD juhtmestik
Sellele sammule lisatud joonise abil jootke juhtmed LCD -ekraanil kaheksast tihvtist seitsmele. Need juhtmed peavad olema umbes 3 jalga pikad, välja arvatud maapind ja +5 V tihvtid (need peavad olema ainult 2-3 tolli)
Samm: mikrofoni/võimendi juhtmestik
Sellele sammule lisatud joonise abil jootke Adafruit'i mikrofoni/võimendi +5V, maandus- ja väljundpistikute külge kolm juhtmest. Need peavad olema ainult umbes 2-3 tolli pikkused.
Samm 7: hetkeline lüliti juhtmestik
Ühendage üks 2-3-tolline juhe kummagi lüliti kahe klemmi külge.
Samm: potentsiomeetri juhtmestik
Kasutades sammu 6 joonist, jootke kolm umbes 2-3 tolli pikkust juhtmest potentsiomeetri kolmele korgile.
Samm: kõrvaklappide pesa juhtmestik
Jootke kolm juhtmest kõrvaklapipesa rõnga, otsa ja varrukasilindrite külge. Kasutasin juba juhtmega ühendatud metronoomi pistikut. Kui te ei tea, mis rõngas, otsik ja varrukasilmad on, googeldage lihtsalt, seal on palju häid pilte stereopistikute juhtmestiku kohta.
10. samm: mikrofoni/võimendi väljund
Pärast mikrofoni/võimendi, potentsiomeetri ja kõrvaklappide juhtmete jootmist jootke üks umbes kolme jala pikkune juhe mikrofonivõimendi väljundjuhtme külge. See juhe ühendatakse hiljem arduino A0 tihvtiga.
11. samm: mikrofoni/võimendi väljund jätkub
Jootke teine juhe mikrofoni/võimendi väljundjuhtme külge. See traat tuleb joota 100 mikroFarad kondensaatorisse. Kui kasutate elektrolüütkondensaatorit, veenduge, et selle juhtmega oleks ühendatud positiivne pool.
12. samm: korpuse komponendid
Kui kõik juhtmed on komponentide külge joodetud, asetage komponendid vastavatesse kohtadesse, järgides sellele sammule lisatud jooniseid. Mikrofoni ja kõrvaklappide pesa kinnitamiseks kasutasin kuuma liimi.
Samm 13: korpuses olev jootmine
Kui kõik komponendid on korpusesse kinnitatud, jootke kõik maandusjuhtmed kokku. Üks peaks olema LCD -ekraanilt, üks mikrofonist/võimendist ja üks kõrvaklappide pesast. Jootke ka +5V juhtmed kokku ja üks juhtmest hetkeline lüliti. Jällegi peaks olema üks vedelkristallekraanilt, üks mikrofonilt/võimendilt ja teine hetkelisel lülitil.
14. samm: +5 V, GND laiendatud juhtmed
Nüüd lõigake kaks traati umbes 3 jala pikkuseks. Jootke üks maandusjuhtmete klastrisse ja teine jootke hetkelise lüliti avatud juhtme külge.
Samm: libistage pikad juhtmed läbi korpuse augu
Nüüd peaks teil olema kokku kaheksa umbes 3 jala pikkust traati. Asetage need läbi korpuse täitmata ava. Vaadake sellele sammule lisatud joonist
16. samm: Kuuma kokkutõmbumine
Kui kogu jootmine on lõpetatud, veenduge, et avatud juhtmed on kaetud. Kasutasin termokahanevaid torusid, kuid ka elektrilint töötab hästi.
Samm 17: tihendi ümbris
Võtke pool korpusest, mis sisaldab LCD -ekraani, ja libistage see üle teisi komponente sisaldava korpuse poole. Mõlemat tükki kokku surudes liimige need kuuma liimiga, et kinnitada korpus.
Samm: looge ühendus Arduinoga
Ülejäänud kaheksa pikka juhet on ühendatud otse nende vastavate Arduino tihvtidega, mis on toodud vooluahela skeemidel. Veenduge, et iga kord, kui joote vooluahelasse ühe neist pikkadest 3 -jalastest juhtmetest, panete teise otsa tüki linti, mis näitab, millisele Arduino tihvtile see läheb!
19. samm: Arduino IDE/teegid
Peate alla laadima Arduino IDE. Selle visandi jaoks kasutasin kolme erinevat raamatukogu: FHT.h, SPI.h ja TFT.h. Kui te ei tea, kuidas Arduino raamatukogusid alla laadida, vaadake aadressi https://www.arduino.cc/en/Guide/Libraries. FHT.h raamatukogu laaditi alla saidilt openmusiclabs.com. Ülejäänud kaks laaditi alla GitHubist.
20. samm: Arduino visand
Kood kasutab kiiret Hartley teisendust (FHT) ajadomeeni muutmiseks sagedusdomeeniks. Seda saab teha ka kiire Fourier -teisenduse (FFT) abil, kuid FHT on palju kiirem. FFT ja FHT on signaalitöötluses väga olulised ideed ja nende tundmine on väga lõbus. Soovitan ise lugeda, kui huvi pakub. FHT näidiskood, mille ma Open Music Labsi veebisaidilt kopeerisin, esitas esialgu iga sagedusala amplituudi logaritmilise või detsibellväljundina. Muutsin seda, et väljastada sageduskastid lineaarskaalal. Seda seetõttu, et lineaarne skaala on parem visuaalne esitus sellest, kuidas inimesed heli kuulevad. Lõpus olev () silmus on mõeldud iga sagedusala amplituudi joonistamiseks LCD -ekraanile. Kogu FHT spekter hõlmaks kõiki sagedusalasid vahemikus i = 0 kuni i <128. Märkate, et minu for () tsükkel on vahemikus i = 5 kuni i <40, sest kopsuhaiguste diagnoosimiseks olulised sagedused on tavaliselt vahemikus 150 Hz kuni 3,5 khz, otsustasin minna umbes 4 kHz sagedusele. Seda saab reguleerida, kui soovite näidata kogu sagedusspektrit.
[kood]
// Digitaalse stetoskoobi kood
// Kiire Hartley teisendusteek, mis on alla laaditud saidilt openmusiclabs
#define LIN_OUT 1 // määrake FHT lineaarse väljundi saamiseks
#define LOG_OUT 0 // lülitage FHT logaritmiline väljund välja
#define FHT_N 256 // FHT proovi number
#include // kaasata FHT raamatukogu
#include // kaasata TFT -kogu
#include // SPI kogu
#define cs 10 // määrake lcd cs pin arduino pin 10 -ks
#define dc 9 // määrake lcd dc pin arduino pin 9 -le
#define rst 8 // määrake lcd lähtestamise pin arduino pin 8 -ks
TFT myScreen = TFT (cs, dc, rst); // kuulutage TFT -ekraani nimi
tühine seadistus () {
//Serial.begin(9600);// set diskreeting rate
myScreen.begin (); // TFT -ekraani initsialiseerimine
myScreen.background (0, 0, 0); // määrake taust mustaks
ADCSRA = 0xe5; // määrake adc vaba töörežiimi
ADMUX = 0x40; // kasutage adc0
}
void loop () {
while (1) {// vähendab värisemist cli (); // UDRE katkestus aeglustab sel viisil arduino1.0
jaoks (int i = 0; i <FHT_N; i ++) {// salvestage 256 proovi
while (! (ADCSRA & 0x10)); // oodake, kuni adc on valmis
ADCSRA = 0xf5; // taaskäivitage adc bait
m = ADCL; // too adc -andmebait
j = ADCH; int k = (j << 8) | m; // vormida int
k -= 0x0200; // vorm allkirjastatud int
k << = 6; // vorm 16b allkirjastatud int
fht_input = k; // pane reaalsed andmed prügikastidesse
}
fht_aken (); // akna andmete parema sagedusreaktsiooni jaoks
fht_reorder (); // enne fht -i tegemist andmete ümberkorraldamine
fht_run (); // töödelda andmeid fht
fht_mag_lin (); // võta fht -i väljund
sei ();
jaoks (int i = 5; i <40; i ++) {
myScreen.troke (255, 255, 255);
myScreen.fill (255, 255, 255);
int drawHeight = kaart (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);
}
}
[/kood]
21. samm: proovige järele
Kasutasin võrgutoonide generaatorit (https://www.szynalski.com/tone-generator/), et kontrollida, kas kood töötab korralikult. Pärast selle toimimise kinnitamist vajutage stetoskoobi kellukest rinnale, hingake sügavalt sisse ja vaadake, millised sagedused esinevad !!
22. samm: tulevane töö
** Märkus: ma olen keemik, mitte insener ega arvutiteadlane **. Kujunduses ja koodis on tõenäoliselt vigu ja täiustusi. Sellegipoolest arvan, et see on hea algus millelegi, mis võib lõpuks olla väga kasulik ja odav. Järgmised täpid on tulevased täiustused, mida tahaksin teha, ja loodan, et mõned teist proovivad seda ka parandada!
· Muutke seade mobiilseks. Mul ei ole laialdasi kogemusi protsessorite või muude mikrokontrolleritega, kuid sellel peaks olema piisavalt mälu, et salvestada kogu FHT -kogu või võib -olla Bluetoothi.
· Lisage koodi mõned statistilise analüüsi arvutused. Näiteks tavaliselt on vilistamise põhisagedus võrdne või suurem kui 400 Hz ja kestab vähemalt 250 ms. Rhonchi esineb põhisagedusel umbes 200 Hz või vähem ja kestab vähemalt 250 ms. Paljud teised kopsuhelid on määratletud ja viitavad tervislikule seisundile (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). Ma arvan, et seda saab koodis kontrollida, kui võrrelda sageduskastide signaali pärast teatud arvu tsüklit läbi FHT ja seejärel käivitada funktsioon millis (), et näha, kui kaua see oli, ja võrrelda seda FHT -arvutuse mürapõrandale. Olen kindel, et neid asju saab teha!
Loodan, et teil kõigil oli selle projektiga lõbus ja kui teil on küsimusi, kommenteerige ja vastan niipea kui võimalik! Ootan huviga kommentaare.
Soovitan:
Kiire käiguvahetus alla 50 dollari! Kazeshifter Arduino reguleeritav kiirkäiguvahetus: 7 sammu
Kiire käiguvahetus alla 50 dollari! Kazeshifter Arduino reguleeritav kiirkäiguvahetaja: Tere Superbike'i või mootorratta armastajad! Selle juhendi järgi jagan, kuidas odavalt oma kiirkäiguvahetust teha! Inimestele, kes on laiskad seda juhendit lugema, vaadake lihtsalt minu videot! Märkus: Mõne jalgratta puhul juba kasutate kütuse sissepritsesüsteemi
Looge vidinad hõlpsalt - kiire BPM -loendur: 6 sammu
Looge vidinad hõlpsalt - kiire BPM -i loendur: veebirakendused on tavalised, kuid veebirakendused, mis ei vaja Interneti -ühendust, ei ole. Selles artiklis näitan teile, kuidas tegin BPM -loenduri lihtsal HTML -lehel koos vanilje javascriptiga ( Vaata siia). Kui see vidin on alla laaditud, saab seda kasutada võrguühenduseta
PCB -adapteri häkkimine - kiire ja mugav :): 5 sammu
PCB -adapteri häkkimine - kiire ja käepärane :): Tere e -maalased! See juhend on mõeldud kõikidele elektroonika valdkonna armatuuridele ja professionaalidele. Vajadus on leiutamise ema. See väike trikk on üks neist leiutistest: DI tahtis prototüüpida ühte vooluringi, mis sisaldas ühte SMD c
EasyFFT: kiire Fourier 'teisendus (FFT) Arduino jaoks: 6 sammu
EasyFFT: kiire Fourier 'teisendus (FFT) Arduino jaoks: Sageduse mõõtmine salvestatud signaalist võib olla keeruline ülesanne, eriti Arduino puhul, kuna sellel on väiksem arvutusvõimsus. Nullpunkti jäädvustamiseks on olemas meetodeid, kus sagedust püütakse, kontrollides, mitu korda
Kiire, kiire, odav, hea väljanägemisega LED -ruumi valgustus (kõigile): 5 sammu (piltidega)
Kiire, kiire, odav, hea väljanägemisega LED-ruumi valgustus (kõigile): Tere tulemast kõigile :-) See on minu esimene juhendatav, nii et kommentaarid on teretulnud :-) Loodan teile näidata, kuidas teha kiire LED-valgustus PISIKE kott. Mida vajate: kaabelLED -id Takistid (510Ohm 12V jaoks) StapelsLotis