Table des matières:
- Étape 1: Matériaux
- Étape 2: Outils
- Étape 3: Impression 3D
- Étape 4: Construire un circuit
- Étape 5: Câblage de l'écran LCD
- Étape 6: Câblage du micro/amplificateur
- Étape 7: Câblage du commutateur momentané
- Étape 8: Câblage du potentiomètre
- Étape 9: Câblage de la prise casque
- Étape 10: sortie microphone/amplificateur
- Étape 11: Suite de la sortie microphone/amplificateur
- Étape 12: Composants dans le boîtier
- Étape 13: Soudage dans le boîtier
- Étape 14: +5 V, fils étendus GND
- Étape 15: Glissez les fils longs à travers le trou du boîtier
- Étape 16: thermorétractable
- Étape 17: Sceller le boîtier
- Étape 18: Connectez-vous à Arduino
- Étape 19: Arduino IDE/Bibliothèques
- Étape 20: Esquisse Arduino
- Étape 21: Testez-le
- Étape 22: Travail futur
Vidéo: Stéthoscope spectral à transformation rapide Hartley : 22 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Dans ce instructable, vous apprendrez à fabriquer un stéthoscope spectral à l'aide de la transformation rapide de Hartley. Cela peut être utilisé pour visualiser les bruits cardiaques et pulmonaires.
Étape 1: Matériaux
Écran LCD 1,8 (7,50 $ sur Amazon)
Arduino Uno ou équivalent (7,00 $ sur Gearbest)
Amplificateur à électret (6,95 $ sur Adafruit)
Condensateur 100 µF (0,79 $)
Fils et cavaliers (4,00 $)
Prise stéréo 3,5 mm (1,50 $)
Potentiomètre 10kOhm (2,00 $)
Commutateur momentané (1,50 $)
Étape 2: Outils
Fer à souder
Pistolet à colle chaude
Imprimante 3D…ou un ami avec une imprimante 3D (possible de faire aussi avec du carton)
Coupe-fil
Planche à pain
Étape 3: Impression 3D
La première consiste à imprimer en 3D les fichiers.stl attachés à cette étape. J'ai imprimé les deux fichiers en utilisant le matériel/les paramètres suivants:
Matériel: PLA
Hauteur de la couche: 0,1 mm
Épaisseur du mur/haut/bas: 0,8 mm
Température d'impression: 200⁰C
Température du lit: 60⁰C
Assistance activée à 10 %
Étape 4: Construire un circuit
En utilisant les composants de la section des matériaux, construisez le circuit. Je monte toujours le circuit sur une planche à pain d'abord pour m'assurer qu'il fonctionne correctement avant de toucher le fer à souder.
Étape 5: Câblage de l'écran LCD
À l'aide de la figure jointe à cette étape, soudez les fils à sept des huit broches de l'écran LCD. Ces fils devront avoir une longueur d'environ 3 pieds, à l'exception de la masse et des broches +5V (celles-ci doivent seulement mesurer 2 à 3 pouces)
Étape 6: Câblage du micro/amplificateur
À l'aide de la figure jointe à cette étape, soudez trois fils aux broches +5V, Ground et Out du microphone/amplificateur Adafruit. Ceux-ci doivent seulement mesurer environ 2 à 3 pouces de longueur.
Étape 7: Câblage du commutateur momentané
Branchez un fil de 2-3 pouces à chacune des deux cosses de l'interrupteur momentané.
Étape 8: Câblage du potentiomètre
En utilisant la figure de l'étape 6, soudez trois fils d'environ 2-3 pouces de longueur aux trois cosses du potentiomètre.
Étape 9: Câblage de la prise casque
Soudez trois fils à la bague, à la pointe et aux cosses du manchon de la prise casque. J'ai utilisé une prise d'un métronome qui était déjà câblé. Si vous ne savez pas ce que sont la bague, la pointe et les cosses de manchon, recherchez simplement sur Google, il y a beaucoup de bonnes images sur le câblage des prises stéréo.
Étape 10: sortie microphone/amplificateur
Après avoir soudé les fils du micro/ampli, du potentiomètre et de la prise casque, soudez un fil d'environ trois pieds de long au fil de sortie de l'amplificateur de microphone. Ce fil sera plus tard connecté à la broche A0 de l'arduino.
Étape 11: Suite de la sortie microphone/amplificateur
Soudez un deuxième fil au fil "out" du micro/amplificateur. Ce fil doit être soudé à un condensateur de 100 microFarads. Si vous utilisez un condensateur électrolytique, assurez-vous que le côté positif est connecté à ce fil.
Étape 12: Composants dans le boîtier
Une fois tous les fils soudés sur les composants, placez les composants à leurs emplacements respectifs en suivant les figures jointes à cette étape. J'ai utilisé de la colle chaude pour fixer le microphone et la prise casque en place.
Étape 13: Soudage dans le boîtier
Une fois tous les composants fixés dans le boîtier, soudez tous les fils de terre ensemble. Il devrait y en avoir un sur l'écran LCD, un sur le micro/ampli et un sur le manchon de la prise casque. Soudez également les fils +5V ensemble et un fil de l'interrupteur momentané. Encore une fois, il devrait y en avoir un sur l'écran LCD, un sur le micro/amplificateur et un sur l'interrupteur momentané.
Étape 14: +5 V, fils étendus GND
Maintenant, coupez deux morceaux de fil d'environ 3 pieds de longueur. Soudez un au groupe de fils de terre et soudez l'autre au fil ouvert sur l'interrupteur momentané.
Étape 15: Glissez les fils longs à travers le trou du boîtier
Maintenant, vous devriez avoir un total de huit fils d'environ 3 pieds de long. Placez-les dans le trou non rempli du boîtier. Voir la figure jointe à cette étape
Étape 16: thermorétractable
Une fois toutes les soudures terminées, assurez-vous que les fils exposés sont recouverts. J'ai utilisé une gaine thermorétractable, mais le ruban électrique fonctionne également très bien.
Étape 17: Sceller le boîtier
Prenez la moitié du boîtier contenant l'écran LCD et glissez-la sur l'autre moitié du boîtier contenant les autres composants. Tout en poussant les deux pièces ensemble, collez-les à chaud pour fixer le boîtier ensemble.
Étape 18: Connectez-vous à Arduino
Les huit longs fils restants sont connectés directement à leurs broches Arduino respectives décrites dans les schémas du circuit. Assurez-vous que chaque fois que vous soudez l'un de ces longs fils de 3 pieds dans le circuit, vous mettez un morceau de ruban adhésif à l'autre extrémité indiquant à quelle broche Arduino il va !
Étape 19: Arduino IDE/Bibliothèques
Vous devrez télécharger l'IDE Arduino. Pour ce croquis, j'ai utilisé trois bibliothèques différentes: FHT.h, SPI.h et TFT.h. Si vous ne savez pas comment télécharger les bibliothèques Arduino, veuillez consulter https://www.arduino.cc/en/Guide/Libraries. La bibliothèque FHT.h a été téléchargée sur openmusiclabs.com. Les deux autres ont été téléchargés sur GitHub.
Étape 20: Esquisse Arduino
Le code utilise la Fast Hartley Transform (FHT) pour changer le domaine temporel en un domaine fréquentiel. Cela peut également être fait en utilisant la transformée de Fourier rapide (FFT), mais la FHT est beaucoup plus rapide. La FFT et la FHT sont des idées très fondamentales dans le traitement du signal et très amusantes à apprendre. Je suggère de faire un peu de lecture vous-même, si vous êtes intéressé, voyez. L'exemple de code FHT que j'ai copié sur le site Web d'Open Music Labs affichait initialement l'amplitude de chaque fréquence sous forme de sortie logarithmique ou en décibels. J'ai changé cela pour sortir les bacs de fréquence sur une échelle linéaire. C'est parce que l'échelle linéaire est une meilleure représentation visuelle de la façon dont les humains entendent le son. La boucle for() à la fin sert à dessiner l'amplitude de chaque fréquence sur l'écran LCD. Le spectre FHT complet engloberait toutes les tranches de fréquences de i=0 à i<128. Vous remarquerez que ma boucle for() va de i=5 à i<40, c'est parce que les fréquences importantes pour diagnostiquer les affections pulmonaires sont typiquement comprises entre 150Hz et 3.5khz, j'ai décidé de monter jusqu'à environ 4kHz. Cela peut être ajusté si vous souhaitez afficher le spectre de fréquences complet.
[code]
//Code du stéthoscope numérique
//Bibliothèque Fast Hartley Transform téléchargée depuis openmusiclabs
#define LIN_OUT 1 //définir FHT pour produire une sortie linéaire
#define LOG_OUT 0 //désactiver la sortie logarithmique FHT
#define FHT_N 256 //Numéro d'échantillon FHT
#include //inclure la bibliothèque FHT
#include //inclure la bibliothèque TFT
#include //inclure la bibliothèque SPI
#define cs 10 // définir la broche lcd cs sur la broche arduino 10
#define dc 9 // définir la broche lcd dc sur la broche arduino 9
#define rst 8 // définir la broche de réinitialisation de l'écran LCD sur la broche 8 de l'arduino
TFT myScreen = TFT(cs, dc, rst); // déclarer le nom de l'écran TFT
void setup() {
//Serial.begin(9600);//définir le taux d'échantillonnage
myScreen.begin();//initialiser l'écran TFT
myScreen.background (0, 0, 0); // définir l'arrière-plan sur noir
ADCSRA=0xe5;//définir adc en mode de fonctionnement libre
ADMUX=0x40;//utiliser adc0
}
boucle vide() {
while(1){ // réduit la gigue cli(); // L'interruption UDRE ralentit de cette façon sur arduino1.0
for (int i = 0; i < FHT_N; i++) { // sauvegarde 256 échantillons
while(!(ADCSRA & 0x10)); // attend que adc soit prêt
ADCSRA = 0xf5; // redémarre l'octet adc
m = ADCL; // récupère l'octet de données adc
j = ADCH; entier k = (j << 8) | m; // forme en un int
k -= 0x0200; // forme dans un int signé
k <<= 6; // forme dans un 16b signé int
fht_input = k; // met les données réelles dans des bacs
}
fht_window(); // fenêtre les données pour une meilleure réponse en fréquence
fht_reorder(); // réorganise les données avant de faire le fht
fht_run(); // traite les données dans le fht
fht_mag_lin(); // prend la sortie du fht
sei();
pour (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);
}
}
[/code]
Étape 21: Testez-le
J'ai utilisé un générateur de sons en ligne (https://www.szynalski.com/tone-generator/) pour confirmer que le code fonctionnait correctement. Après avoir vérifié que cela fonctionne, appuyez sur la cloche du stéthoscope jusqu'à votre poitrine, respirez profondément et voyez quelles fréquences sont présentes !!
Étape 22: Travail futur
**Remarque: je suis chimiste, pas ingénieur ou informaticien**. Il y aura probablement des erreurs et des améliorations dans la conception et le code. Cela étant dit, je pense que c'est un bon début pour quelque chose qui peut finir par être très utile et peu coûteux. Les puces suivantes sont des améliorations futures que j'aimerais apporter et j'espère que certains d'entre vous essaieront également de l'améliorer !
· Rendre l'appareil mobile. Je n'ai pas une grande expérience avec les processeurs ou autres microcontrôleurs, mais il faudrait suffisamment de mémoire pour stocker toute la bibliothèque FHT, ou éventuellement Bluetooth.
· Introduire des calculs d'analyse statistique dans le code. Par exemple, une respiration sifflante a généralement une fréquence fondamentale égale ou supérieure à 400 Hz et dure au moins 250 ms. Les rhonchi se produisent à une fréquence fondamentale d'environ 200 Hz ou moins et durent au moins 250 ms. De nombreux autres sons pulmonaires sont définis et indiquent des problèmes de santé (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). Je pense que c'est quelque chose qui peut être vérifié dans le code en comparant le signal des bacs de fréquence après un certain nombre de cycles à travers le FHT, puis en exécutant la fonction millis () pour voir combien de temps il était présent, puis en le comparant au bruit de fond du calcul FHT. Je suis convaincu que ces choses peuvent être faites!
J'espère que vous vous êtes tous amusés avec ce projet et si vous avez des questions, n'hésitez pas à commenter et je vous répondrai dès que possible ! J'ai hâte de voir les commentaires.
Conseillé:
Le ThreadBoard (version non imprimée en 3D) : Conseil de prototypage rapide E-Textile : 4 étapes (avec photos)
Le ThreadBoard (version non imprimée en 3D) : E-Textile Rapid Prototyping Board : L'Instructable pour la version imprimée en 3D du ThreadBoard V2 peut être trouvé ici. La version 1 du ThreadBoard peut être trouvée ici. À travers les obstacles du coût, voyages, pandémies et autres obstacles, vous n'avez peut-être pas accès à une imprimante 3D mais vous voulez y
Créez facilement vos propres widgets - Compteur BPM rapide : 6 étapes
Créez facilement vos propres widgets - Compteur de BPM rapide : les applications Web sont courantes, mais les applications Web qui ne nécessitent pas d'accès Internet ne le sont pas. Dans cet article, je vous montre comment j'ai créé un compteur de BPM dans une simple page HTML couplée à du javascript vanille vois ici). S'il est téléchargé, ce widget peut être utilisé hors ligne
PCB Adapter Hack - Rapide et pratique :) : 5 étapes
PCB Adapter Hack - Quick and Handy :) : Salut e-Earthlings, cette instructable est pour toutes les armatures et les professionnels dans le domaine de l'électronique. La nécessité est la mère de l'invention. Cette petite astuce est l'une de ces inventions : DI voulait prototyper un circuit qui contenait un SMD c
Un moyen rapide et facile de changer votre écran de verrouillage en 6 étapes simples (Windows 8-10): 7 étapes
Un moyen rapide et facile de changer votre écran de verrouillage en 6 étapes simples (Windows 8-10) : Vous voulez changer les choses sur votre ordinateur portable ou PC ? Envie de changement d'ambiance ? Suivez ces étapes rapides et faciles pour personnaliser avec succès l'écran de verrouillage de votre ordinateur
Éclairage de pièce à LED rapide, rapide, bon marché et esthétique (pour tout le monde) : 5 étapes (avec photos)
Éclairage de salle LED rapide, rapide, bon marché et beau (pour tout le monde) : Bienvenue à tous :-) Ceci est mon premier instructable, donc les commentaires sont les bienvenus :-) Ce que j'espère vous montrer, c'est comment faire un TINY buget.Ce dont vous avez besoin :CâblesLEDsRésistances (510Ohms pour 12V)AgrafesFer à souderCutters et autres basi