Mục lục:

Ống nghe quang phổ biến đổi nhanh Hartley: 22 bước
Ống nghe quang phổ biến đổi nhanh Hartley: 22 bước

Video: Ống nghe quang phổ biến đổi nhanh Hartley: 22 bước

Video: Ống nghe quang phổ biến đổi nhanh Hartley: 22 bước
Video: Alternative 4-layer Boards for High Speed PCBs 2024, Tháng mười một
Anonim
Ống nghe quang phổ biến đổi nhanh Hartley
Ống nghe quang phổ biến đổi nhanh Hartley

Trong tài liệu hướng dẫn này, bạn sẽ học cách chế tạo một ống nghe quang phổ bằng cách sử dụng biến đổi hartley nhanh. Điều này có thể được sử dụng để hình dung âm thanh của tim và phổi.

Bước 1: Vật liệu

Màn hình LCD 1,8”($ 7,50 trên Amazon)

Arduino Uno hoặc Tương đương ($ 7,00 trên Gearbest)

Bộ khuếch đại điện tử ($ 6,95 trên Adafruit)

Tụ điện 100 µF ($ 0,79)

Dây và Jumper ($ 4,00)

Giắc cắm âm thanh nổi 3,5 mm ($ 1,50)

Chiết áp 10kOhm ($ 2,00)

Chuyển đổi tạm thời ($ 1,50)

Bước 2: Công cụ

Sắt hàn

Súng bắn keo nóng

Máy in 3D… hoặc một người bạn có máy in 3D (Có thể làm bằng bìa cứng)

Kìm cắt dây

Breadboard

Bước 3: In 3D

Đầu tiên là in 3D các tệp.stl được đính kèm trong bước này. Tôi đã in cả hai tệp bằng chất liệu / cài đặt sau:

Vật chất: PLA

Chiều cao lớp: 0,1mm

Độ dày tường / trên / dưới: 0,8mm

Nhiệt độ in: 200⁰C

Nhiệt độ giường: 60⁰C

Hỗ trợ Đã bật @ 10%

Bước 4: Xây dựng mạch

Sử dụng các thành phần trong phần vật liệu, xây dựng mạch. Trước tiên, tôi luôn đặt mạch điện lại với nhau trên bảng mạch điện để đảm bảo nó hoạt động bình thường trước khi chạm vào mỏ hàn.

Bước 5: Đấu dây màn hình LCD

Dây LCD
Dây LCD

Sử dụng hình vẽ ở bước này, hàn dây vào bảy trong tám chân trên màn hình LCD. Các dây này sẽ cần có chiều dài khoảng 3 feet, ngoại trừ chân nối đất và chân + 5V (những dây này chỉ cần dài 2-3 inch)

Bước 6: Đấu dây Mic / Bộ khuếch đại

Dây Mic / Bộ khuếch đại
Dây Mic / Bộ khuếch đại

Sử dụng hình vẽ ở bước này, hàn ba dây vào các chân + 5V, Ground và Out trên micrô / bộ khuếch đại Adafruit. Chúng chỉ cần dài khoảng 2-3 inch.

Bước 7: Chuyển đổi dây tạm thời

Nối một dây dài 2-3 inch vào mỗi một trong hai vấu trên công tắc tạm thời.

Bước 8: Nối dây chiết áp

Sử dụng hình ở bước 6, hàn ba dây có chiều dài khoảng 2-3 inch vào ba vấu của chiết áp.

Bước 9: Đấu dây giắc cắm tai nghe

Hàn ba dây vào vòng, đầu và vấu tay áo của giắc cắm tai nghe. Tôi đã sử dụng một giắc cắm của máy đếm nhịp đã có dây. Nếu bạn chưa biết vòng, khuyên và vấu tay áo là gì thì cứ google là có rất nhiều hình ảnh hay về cách đấu dây giắc cắm âm thanh nổi.

Bước 10: Đầu ra micrô / bộ khuếch đại

Sau khi hàn các dây trên mic / amp, chiết áp và giắc cắm tai nghe, hãy hàn một dây có chiều dài khoảng ba feet vào dây "ra" của bộ khuếch đại micrô. Dây này sau này sẽ được kết nối với chân A0 của arduino.

Bước 11: Tiếp tục đầu ra micrô / bộ khuếch đại

Hàn dây thứ hai vào dây "ra" của micrô / bộ khuếch đại. Dây này cần được hàn vào tụ điện 100 microFarad. Nếu bạn đang sử dụng tụ điện, hãy đảm bảo rằng cực dương được kết nối với dây này.

Bước 12: Các thành phần trong Bao vây

Các thành phần trong Bao vây
Các thành phần trong Bao vây
Các thành phần trong Bao vây
Các thành phần trong Bao vây

Sau khi tất cả các dây được hàn trên các thành phần, hãy đặt các thành phần vào đó những vị trí tương ứng theo các hình đính kèm trong bước này. Tôi đã sử dụng keo nóng để cố định giắc cắm tai nghe và micrô vào đúng vị trí.

Bước 13: Hàn trong bao bì

Sau khi tất cả các thành phần được cố định trong vỏ, hãy hàn tất cả các dây nối đất lại với nhau. Nên có một từ màn hình LCD, một từ mic / amp và một từ tay áo của giắc cắm tai nghe. Cũng hàn các dây + 5V với nhau và một dây từ công tắc tạm thời. Một lần nữa nên có một từ màn hình LCD, một từ micrô / bộ khuếch đại và một trên công tắc tạm thời.

Bước 14: + 5V, dây mở rộng GND

Bây giờ cắt hai đoạn dây có chiều dài khoảng 3 feet. Hàn một cái vào cụm dây nối đất và hàn cái kia vào dây hở trên công tắc tạm thời.

Bước 15: Luồn dây dài qua lỗ bao vây

Trượt dây dài qua lỗ bao vây
Trượt dây dài qua lỗ bao vây

Bây giờ, bạn sẽ có tổng cộng tám dây dài khoảng 3 feet. Đặt chúng qua lỗ chưa được lấp đầy trong hộp. Xem hình đính kèm ở bước này

Bước 16: Co nhiệt

Sau khi quá trình hàn hoàn tất, hãy đảm bảo rằng các dây tiếp xúc đã được che phủ. Tôi đã sử dụng ống co nhiệt, nhưng băng dính điện cũng hoạt động tốt.

Bước 17: Đóng dấu niêm phong

Niêm phong
Niêm phong
Niêm phong
Niêm phong

Lấy một nửa vỏ có chứa màn hình LCD và trượt nó qua nửa còn lại của vỏ có chứa các thành phần khác. Trong khi đẩy hai miếng vào nhau, hãy dùng keo nóng để cố định phần vỏ với nhau.

Bước 18: Kết nối với Arduino

Tám dây dài, còn lại được kết nối trực tiếp với các chân Arduino tương ứng của chúng được nêu trong sơ đồ mạch. Đảm bảo rằng mỗi khi bạn hàn một trong những sợi dây dài 3ft đó vào mạch, bạn đặt một miếng băng vào đầu kia cho biết nó đi đến chân Arduino nào!

Bước 19: Arduino IDE / Libraries

Bạn sẽ cần tải xuống Arduino IDE. Đối với bản phác thảo này, tôi đã sử dụng ba thư viện khác nhau: FHT.h, SPI.h và TFT.h. Nếu bạn không biết cách tải xuống các thư viện Arduino, vui lòng xem https://www.arduino.cc/en/Guide/Libraries. Thư viện FHT.h đã được tải xuống từ openmusiclabs.com. Hai phần còn lại đã được tải xuống trên GitHub.

Bước 20: Phác thảo Arduino

Mã sử dụng Fast Hartley Transform (FHT) để thay đổi miền thời gian thành miền tần số. Điều này cũng có thể được thực hiện bằng cách sử dụng Fast Fourier Transform (FFT), nhưng FHT nhanh hơn nhiều. FFT và FHT là những ý tưởng rất cơ bản trong xử lý tín hiệu và rất thú vị để tìm hiểu về nó. Tôi khuyên bạn nên tự đọc một chút, nếu bạn quan tâm, hãy xem. Mã ví dụ FHT mà tôi đã sao chép từ trang web Open Music Labs ban đầu xuất ra biên độ của mỗi ngăn tần số dưới dạng đầu ra logarit hoặc decibel. Tôi đã thay đổi điều này để xuất ra các thùng tần số trên quy mô tuyến tính. Điều này là do thang đo tuyến tính là cách thể hiện hình ảnh tốt hơn về cách con người nghe âm thanh. Vòng lặp for () ở cuối dùng để vẽ biên độ của mỗi ngăn tần số trên màn hình LCD. Phổ FHT đầy đủ sẽ bao gồm tất cả các dải tần từ i = 0 đến i <128. Bạn sẽ nhận thấy rằng vòng lặp for () của tôi từ i = 5 đến i <40, điều này là do các tần số quan trọng để chẩn đoán tình trạng phổi thường từ 150Hz đến 3.5khz, tôi quyết định tăng lên khoảng 4kHz. Điều đó có thể được điều chỉnh nếu bạn muốn hiển thị phổ tần số đầy đủ.

[mã số]

// Mã ống nghe kỹ thuật số

// Thư viện Fast Hartley Transform được tải xuống từ openmusiclabs

#define LIN_OUT 1 // đặt FHT để tạo ra đầu ra tuyến tính

#define LOG_OUT 0 // tắt đầu ra logarit FHT

#define FHT_N 256 // Số mẫu FHT

#include // bao gồm thư viện FHT

#include // bao gồm thư viện TFT

#include // bao gồm thư viện SPI

#define cs 10 // đặt pin LCD cs thành pin arduino 10

#define dc 9 // đặt pin dc lcd thành pin của arduino 9

#define rst 8 // đặt chân đặt lại màn hình LCD thành chân 8 của arduino

TFT myScreen = TFT (cs, dc, rst); // khai báo tên của màn hình TFT

void setup () {

//Serial.begin(9600);//tốc độ lấy mẫu

myScreen.begin (); // khởi tạo màn hình TFT

myScreen.background (0, 0, 0); // đặt nền thành màu đen

ADCSRA = 0xe5; // đặt adc thành chế độ chạy tự do

ADMUX = 0x40; // sử dụng adc0

}

void loop () {

while (1) {// giảm jitter cli (); // Ngắt UDRE làm chậm theo cách này trên arduino1.0

for (int i = 0; i <FHT_N; i ++) {// lưu 256 mẫu

while (! (ADCSRA & 0x10)); // đợi adc sẵn sàng

ADCSRA = 0xf5; // khởi động lại byte adc

m = ADCL; // tìm nạp byte dữ liệu adc

j = ADCH; int k = (j << 8) | NS; // hình thành một int

k - = 0x0200; // hình thành một int có dấu

k << = 6; // hình thành một int có dấu 16b

fht_input = k; // đưa dữ liệu thực vào thùng

}

fht_window (); // cửa sổ dữ liệu để đáp ứng tần số tốt hơn

fht_reorder (); // sắp xếp lại dữ liệu trước khi thực hiện fht

fht_run (); // xử lý dữ liệu trong fht

fht_mag_lin (); // lấy đầu ra của fht

sei ();

for (int i = 5; i <40; i ++) {

myScreen.stroke (255, 255, 255);

myScreen.fill (255, 255, 255);

int drawHeight = map (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);

}

}

[/mã số]

Bước 21: Thử nghiệm

Kiểm tra nó ra!
Kiểm tra nó ra!

Tôi đã sử dụng trình tạo âm báo trực tuyến (https://www.szynalski.com/tone-generator/) để xác nhận mã hoạt động bình thường. Sau khi xác nhận nó hoạt động, hãy nhấn chuông của ống nghe lên đến ngực của bạn, hít thở sâu và xem những tần số nào hiện ra !!

Bước 22: Công việc trong tương lai

** Lưu ý: Tôi là nhà hóa học, không phải kỹ sư hay nhà khoa học máy tính **. Có thể sẽ có những sai sót và cải tiến đối với thiết kế và mã. Nói như vậy, tôi nghĩ rằng đó là một khởi đầu tốt cho một thứ gì đó có thể trở nên rất hữu ích và không tốn kém. Những gạch đầu dòng sau đây là những cải tiến trong tương lai mà tôi muốn thực hiện và tôi hy vọng một số bạn cũng cố gắng cải thiện nó!

· Làm cho thiết bị di động. Tôi không có nhiều kinh nghiệm về CPU hoặc các bộ vi điều khiển khác, nhưng cần phải có đủ bộ nhớ để lưu trữ toàn bộ thư viện FHT hoặc có thể là Bluetooth.

· Giới thiệu một số phép tính phân tích thống kê vào mã. Ví dụ, thông thường một tiếng thở khò khè có tần số cơ bản bằng hoặc lớn hơn 400 Hz và kéo dài ít nhất 250 ms. Rhonchi xảy ra ở tần số cơ bản khoảng 200 Hz hoặc ít hơn và kéo dài ít nhất 250 ms. Nhiều âm phổi khác được xác định và cho biết tình trạng sức khỏe (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). Tôi nghĩ rằng đó là thứ có thể được kiểm tra trong mã bằng cách so sánh tín hiệu của các thùng tần số sau một số chu kỳ nhất định thông qua FHT và sau đó chạy hàm millis () để xem nó hiện diện trong bao lâu, sau đó so sánh nó đến tầng ồn của tính toán FHT. Tôi tin rằng những điều này có thể làm được!

Tôi hy vọng tất cả các bạn đã vui vẻ với dự án này và nếu bạn có bất kỳ câu hỏi nào, hãy bình luận và tôi sẽ trả lời ngay khi có thể! Tôi mong muốn được xem các ý kiến.

Đề xuất: