Mundarija:
- 1 -qadam: materiallar
- 2 -qadam: asboblar
- 3 -qadam: 3D bosib chiqarish
- 4 -qadam: O'chirish sxemasini tuzing
- 5 -qadam: LCD simlari
- 6 -qadam: Mikrofon/kuchaytirgich simlari
- 7 -qadam: Bir lahzali kalitlarni ulash
- 8 -qadam: Potentsiometr simlari
- 9 -qadam: minigarniturani ulash kabeli
- 10 -qadam: Mikrofon/Kuchaytirgich chiqishi
- 11 -qadam: Mikrofon/Kuchaytirgich chiqishi davom etdi
- 12 -qadam: Qoplamadagi komponentlar
- 13-qadam: Qoplamali-lehim
- 14 -qadam: +5V, GND kengaytirilgan simlari
- 15 -qadam: Uzoq simlarni korpus teshigidan o'tkazing
- 16 -qadam: issiqlik qisqarishi
- 17 -qadam: muhr muhiti
- 18 -qadam: Arduino -ga ulaning
- 19 -qadam: Arduino IDE/kutubxonalari
- 20 -qadam: Arduino eskiz
- 21 -qadam: Sinab ko'ring
- 22 -qadam: Kelgusi ish
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
Ushbu qo'llanmada siz tezkor hartli konvertatsiyasi yordamida spektral stetoskop yasashni o'rganasiz. Bu yurak va o'pka tovushlarini vizualizatsiya qilish uchun ishlatilishi mumkin.
1 -qadam: materiallar
1,8 dyuymli LCD displey (Amazonda 7,50 dollar)
Arduino Uno yoki unga teng (Gearbest -da 7,00 dollar)
Elektret kuchaytirgich (Adafruitda 6,95 dollar)
100 mF kondansatör (0,79 dollar)
Tel va jumper ($ 4.00)
3,5 mm stereo uyasi (1,50 dollar)
10kOm potentsiometr (2,00 dollar)
Lahzali kalit ($ 1.50)
2 -qadam: asboblar
Lehimlash temir
Issiq yopishtiruvchi qurol
3D printer … yoki 3D printerli do'st (kartondan ham qilish mumkin)
Tel kesuvchi
Non paneli
3 -qadam: 3D bosib chiqarish
Birinchisi, bu qadamga biriktirilgan.stl fayllarini 3D chop etish. Men ikkala materialni quyidagi materiallar/sozlamalar yordamida chop etdim:
Materiallar: PLA
Qatlam balandligi: 0,1 mm
Devor/yuqori/pastki qalinligi: 0,8 mm
Bosib chiqarish harorati: 200⁰C
To'shak harorati: 60⁰C
Qo'llab -quvvatlash yoqilgan @ 10%
4 -qadam: O'chirish sxemasini tuzing
Materiallar bo'limidagi komponentlardan foydalanib, sxemani tuzing. Men lehim temiriga tegmasdan oldin uning to'g'ri ishlashiga ishonch hosil qilish uchun har doim sxemani non taxtasida birlashtiraman.
5 -qadam: LCD simlari
Ushbu bosqichga biriktirilgan rasmdan foydalanib, LCD displeyidagi sakkizta pinning yettitasiga simlarni lehimlang. Bu simlarning uzunligi taxminan 3 fut bo'lishi kerak, faqat er va +5V pinlar bundan mustasno (ular faqat 2-3 dyuym bo'lishi kerak)
6 -qadam: Mikrofon/kuchaytirgich simlari
Ushbu qadamga biriktirilgan rasm yordamida Adafruit mikrofon/kuchaytirgichidagi +5V, Ground va Out pinlariga uchta simni lehimlang. Ularning uzunligi atigi 2-3 dyuym bo'lishi kerak.
7 -qadam: Bir lahzali kalitlarni ulash
Bir lahzali kalitning har ikki qulog'iga bitta 2-3 dyuymli simni ulang.
8 -qadam: Potentsiometr simlari
6-qadamdagi rasmdan foydalanib, uzunligi taxminan 2-3 dyuym bo'lgan uchta simni potansiyometrning uch uchiga lehimlang.
9 -qadam: minigarniturani ulash kabeli
Eshitish vositasi ulagichining halqasiga, uchiga va qisqichlariga uchta simni lehimlang. Men allaqachon simli bo'lgan metronomdan uyadan foydalanardim. Agar siz halqa, uchi va qisqichlari nima ekanligini bilmasangiz, google -da stereo uyalarni ulash haqida juda ko'p yaxshi rasmlar bor.
10 -qadam: Mikrofon/Kuchaytirgich chiqishi
Simlarni mikrofon/amp, potensiometr va naushnik ulagichiga lehimlagandan so'ng, uzunligi taxminan 3 fut bo'lgan bitta simni mikrofon kuchaytirgichining "chiqib ketgan" simiga lehimlang. Bu sim keyinchalik arduino A0 piniga ulanadi.
11 -qadam: Mikrofon/Kuchaytirgich chiqishi davom etdi
Mikrofon/kuchaytirgichning "chiqib ketgan" simiga ikkinchi simni lehimlang. Bu simni 100 microFarad kondansatörüne lehimlash kerak. Agar siz elektrolitik kondansatkichdan foydalanayotgan bo'lsangiz, uning ijobiy tomoni bu simga ulanganligiga ishonch hosil qiling.
12 -qadam: Qoplamadagi komponentlar
Barcha simlar komponentlarga lehimlangandan so'ng, ushbu bosqichga biriktirilgan rasmlarga binoan komponentlarni tegishli joylarga joylashtiring. Mikrofon va minigarniturani joyiga qo'yish uchun issiq elim ishlatardim.
13-qadam: Qoplamali-lehim
Barcha komponentlar korpusga mahkamlangandan so'ng, barcha topraklama simlarini bir -biriga lehimlang. LCD -dan, mikrofon/amp -dan va eshitish jakining yengidan bittasi bo'lishi kerak. Bundan tashqari, +5V simlarni va bir lahzali kalitdan bir simni lehimlang. Yana LCD displeyda, mikrofon/kuchaytirgichda va bir lahzali kalitda bo'lishi kerak.
14 -qadam: +5V, GND kengaytirilgan simlari
Endi uzunligi taxminan 3 fut bo'lgan ikkita simni kesib oling. Birini tuproq simlari klasteriga lehimlang, ikkinchisini bir lahzali kalitda ochiq simga lehimlang.
15 -qadam: Uzoq simlarni korpus teshigidan o'tkazing
Endi sizda taxminan 3 fut uzunlikdagi sakkizta sim bo'lishi kerak. Ularni korpusdagi to'ldirilmagan teshikka joylashtiring. Ushbu bosqichga biriktirilgan rasmga qarang
16 -qadam: issiqlik qisqarishi
Barcha lehim tugagandan so'ng, ochiq simlar yopilganligiga ishonch hosil qiling. Men issiqlik o'tkazmaydigan quvurlardan foydalanardim, lekin elektr tasmasi ham yaxshi ishlaydi.
17 -qadam: muhr muhiti
LCD displeyli korpusning yarmini oling va uni boshqa qismlari bo'lgan korpusning ikkinchi yarmiga o'tkazing. Ikkita bo'lakni bir -biriga itarayotganda, ularni mahkam yopish uchun issiq yopishtiring.
18 -qadam: Arduino -ga ulaning
Qolgan sakkizta uzun simlar sxemada ko'rsatilgan Arduino pinlariga to'g'ridan -to'g'ri ulanadi. Har bir uzunlikdagi 3 futli simlardan birini lehimlaganingizda, ikkinchi uchiga bir bo'lak lenta qo'yib, Arduino pinining nimaga ketishini bildiring!
19 -qadam: Arduino IDE/kutubxonalari
Siz Arduino IDE -ni yuklab olishingiz kerak. Bu eskiz uchun men uch xil kutubxonadan foydalandim: FHT.h, SPI.h va TFT.h. Agar siz Arduino kutubxonalarini qanday yuklab olishni bilmasangiz, https://www.arduino.cc/en/Guide/Libraries ga qarang. FHT.h kutubxonasi openmusiclabs.com saytidan yuklab olingan. Qolgan ikkitasi GitHub -da yuklab olingan.
20 -qadam: Arduino eskiz
Vaqt maydonini chastota domeniga o'zgartirish uchun kod Fast Hartley Transform (FHT) dan foydalanadi. Buni Fast Fourier Transform (FFT) yordamida ham qilish mumkin, lekin FHT ancha tezroq. FFT va FHT signallarni qayta ishlashda juda muhim g'oyalar va ularni o'rganish juda qiziq. Men o'zim o'qishni taklif qilaman, agar qiziqsangiz qarang. Open Music Labs veb -saytidan nusxa ko'chirgan FHT kodi dastlab har bir chastota qutisining amplitudasini logarifmik yoki desibelli chiqish sifatida chiqardi. Men buni chastota qutilarini chiziqli shkalada chiqarish uchun o'zgartirdim. Buning sababi shundaki, chiziqli shkala odamlarning ovozni qanday eshitishini yaxshiroq tasvirlaydi. Oxiridagi for () tsikli LCD displeyda har bir chastota qutisining amplitudasini chizish uchun mo'ljallangan. To'liq FHT spektri i = 0 dan i <128 gacha bo'lgan barcha chastota qutilarini o'z ichiga oladi. Siz () loopining i = 5 dan i <40 gacha bo'lganini sezasiz, chunki o'pka kasalliklarini tashxislash uchun muhim bo'lgan chastotalar odatda 150 Gts va 3,5 kHz oralig'ida bo'ladi, men taxminan 4 kHz gacha ko'tarilishga qaror qildim. Agar siz to'liq chastota spektrini ko'rsatmoqchi bo'lsangiz, bu sozlanishi mumkin.
[kod]
// Raqamli stetoskop kodi
// Fast Hartley Transform kutubxonasi openmusiclabs -dan yuklab olingan
#define LIN_OUT 1 // chiziqli chiqishni ishlab chiqarish uchun FHT ni o'rnating
#define LOG_OUT 0 // FHT logarifmik chiqishini o'chirib qo'ying
#dehine FHT_N 256 // FHT namuna raqami
#include // FHT kutubxonasini o'z ichiga oladi
#include // TFT kutubxonasini o'z ichiga oladi
#include // SPI kutubxonasini o'z ichiga oladi
#define cs 10 // lcd cs pinini arduino pin 10 ga o'rnating
#decine dc 9 // lcd dc pinini arduino pin 9 ga o'rnating
#define rst 8 // lcd reset pinini arduino pin 8 ga o'rnating
TFT myScreen = TFT (cs, dc, rst); // TFT ekran nomini e'lon qilish
bo'sh o'rnatish () {
//Serial.begin(9600);// namuna olish tezligini sozlash
myScreen.begin (); // TFT ekranini ishga tushirish
myScreen.background (0, 0, 0); // fonni qora qilib qo'ying
ADCSRA = 0xe5; // adc -ni erkin ishlash rejimiga o'rnating
ADMUX = 0x40; // adc0 dan foydalaning
}
void loop () {
while (1) {// jitter cli () ni kamaytiradi; // UDRE uzilishi arduino1.0 da shu tarzda sekinlashadi
for (int i = 0; i <FHT_N; i ++) {// 256 ta namunani saqlash
esa (! (ADCSRA & 0x10)); // adc tayyor bo'lishini kuting
ADCSRA = 0xf5; // adc baytini qayta ishga tushiring
m = ADCL; // adc ma'lumotlar baytini oling
j = ADCH; int k = (j << 8) | m; // formasini int ga aylantiring
k -= 0x0200; // imzolangan int shaklida
k << = 6; // ariza 16b imzolangan int
fht_input = k; // haqiqiy ma'lumotlarni axlat qutisiga joylashtiring
}
fht_window (); // chastotaga yaxshiroq javob berish uchun ma'lumotlarni oching
fht_reorder (); // fht bajarishdan oldin ma'lumotlarni qayta tartiblang
fht_run (); // fht -dagi ma'lumotlarni qayta ishlash
fht_mag_lin (); // fht natijasini oling
sei ();
uchun (int i = 5; i <40; i ++) {
myScreen.stroke (255, 255, 255);
myScreen.fill (255, 255, 255);
int drawHeight = xarita (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);
}
}
[/kod]
21 -qadam: Sinab ko'ring
Kodning to'g'ri ishlashini tasdiqlash uchun men onlayn ohang generatoridan (https://www.szynalski.com/tone-generator/) foydalandim. Ishlayotganini tasdiqlaganingizdan so'ng, stetoskop qo'ng'irog'ini ko'kragingizga bosing, chuqur nafas oling va qanday chastotalar borligini ko'ring !!
22 -qadam: Kelgusi ish
** Eslatma: Men kimyogarman, muhandis yoki kompyuter olimi emasman **. Dizayn va kodda xatolar va yaxshilanishlar bo'lishi mumkin. Aytgancha, menimcha, bu juda foydali va arzon bo'lishi mumkin bo'lgan narsaning yaxshi boshlanishi. Quyidagi o'qlar men kelajakda yaxshilashni xohlayman va umid qilamanki, ba'zilaringiz ham uni yaxshilashga harakat qilishadi!
· Qurilmani mobil qilib qo'ying. Menda protsessorlar yoki boshqa mikrokontrollerlar borasida katta tajriba yo'q, lekin butun FHT kutubxonasini yoki ehtimol Bluetooth -ni saqlash uchun etarli xotira bo'lishi kerak.
· Kodga ba'zi statistik tahlil hisob -kitoblarini kiritish. Masalan, xirillashning asosiy chastotasi 400 Gts ga teng yoki undan katta va kamida 250 ms davom etadi. Ronchi taxminan 200 Gts yoki undan kam bo'lgan asosiy chastotada sodir bo'ladi va kamida 250 ms davom etadi. Boshqa ko'plab o'pka tovushlari aniqlangan va sog'liq holatini ko'rsatadi (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). O'ylaymanki, bu FHT orqali ma'lum miqdordagi tsikllardan keyin chastota qutilarining signalini taqqoslash va keyin millis () funktsiyasini ishga tushirib, uning qancha vaqt mavjudligini ko'rish va keyin solishtirish orqali kodda tekshirilishi mumkin bo'lgan narsa. FHT hisobining shovqin darajasiga. Ishonchim komilki, bu narsalarni qilish mumkin!
Umid qilamanki, barchangiz ushbu loyihadan zavq oldingiz va agar sizda biron bir savol bo'lsa, sharh qoldiring va men imkon qadar tezroq javob beraman! Fikrlarni ko'rishni orziqib kutaman.
Tavsiya:
50 dollardan past tez almashish! Kazeshifter Arduino sozlanishi tez o'tish: 7 qadam
50 dollardan past tez almashish! Kazeshifter Arduino tez sozlanishi: Salom Superbike yoki mototsiklni yaxshi ko'radiganlar! Men o'z qo'llarim bilan tez almashtirishni baham ko'raman! Bu ko'rsatmalarni o'qishga dangasa odamlar uchun mening videomni ko'ring! Eslatma: Ba'zi velosipedlar uchun. allaqachon yonilg'i quyish tizimidan foydalangan, ba'zida
O'zingizning vidjetlaringizni osongina yarating - BPM tez hisoblagichi: 6 qadam
O'zingizning vidjetlaringizni osongina yarating - BPM hisoblagichi tez: veb -ilovalar keng tarqalgan joy, lekin Internetga kirishni talab qilmaydigan veb -ilovalar - bu maqolada men qanday qilib BPM hisoblagichini sodda HTML -sahifada vanilla javascript bilan birlashtirilganini ko'rsataman. bu yerga qarang). Agar yuklansa, bu vidjet oflaynda ishlatilishi mumkin
Makerspace -ning Robo -yollovchisi - Tez -tez beriladigan savollaringizga javob oling: 4 qadam
Makerspace-ning Robo-yollovchisi-Savol-javoblaringizga javob oling: Men o'tgan yili maktab direktoriga bizda mavjud bo'lgan har bir vosita haqida hamma narsani bilishga qiziqqan o'quvchilar uchun Makerspace darsidan tashqari dars o'tkazish g'oyasini bergan edim. U nihoyat rozi bo'lganida, men talabalarning diqqatini jalb qilishim kerakligini bilardim
Tez, tez, arzon, yaxshi ko'rinadigan LED xonali yorug'lik (hamma uchun): 5 qadam (rasmlar bilan)
Tez, tez, arzon, yaxshi ko'rinadigan LED xonali yorug'lik (hamma uchun): Hammaga xush kelibsiz :-) Bu mening birinchi ko'rsatmam, shuning uchun sharhlar qabul qilinadi :-) Men sizga ko'rsatmoqchi bo'lgan narsam-tez LED yoritgichini qanday qilish kerak. TINY buget. Sizga kerak bo'lgan narsa: CableLEDsRezistorlar (12V uchun 510 Ohm) Stapellar Lehimlash dazmollari Kesgichlar va boshqa tagliklar
Tez va oddiy yumshoq kalitlar (tez prototiplash uchun): 5 qadam
Tez va oddiy yumshoq kalitlar (tez prototiplash uchun): Yumshoq kalitlarni yaratishning turli xil usullari. Bu yo'riqnomada o'tkazgich mato o'rniga alyuminiy lenta va o'tkazgichli ip o'rniga qattiq simlar yordamida yumshoq kalit uchun juda tezkor prototipning boshqa varianti ko'rsatilgan