Table des matières:

Sélecteur de son : 9 étapes
Sélecteur de son : 9 étapes

Vidéo: Sélecteur de son : 9 étapes

Vidéo: Sélecteur de son : 9 étapes
Vidéo: Comment changer son sélecteur de vitesses ? Tuto Moto #59 2024, Juillet
Anonim
Commutateur de son
Commutateur de son

Avez-vous déjà fait monter votre musique au travail et ne vous êtes pas rendu compte que quelqu'un essayait de vous parler. Pire encore, avez-vous déjà eu envie de dormir au travail, mais n'avez pas eu de bonne façon de vous réveiller si quelqu'un (comme votre patron) était sur le point d'entrer dans votre cabine. J'ai. Pour résoudre ces problèmes, j'ai inventé le SoundSwitcher basé sur Arduino. Fondamentalement, cela utilise 6 transistors pour basculer entre une source sonore (dans mon cas un iPod) et le bouclier Wave de Ladyada vous permettant de savoir ce qui se passe. Vous pouvez ensuite connecter l'Arduino à n'importe quel type de capteur que vous aimez. Par exemple, le mien est connecté à un télémètre à ultrasons Parallax Ping, à un microphone, à un bouton de sonnette et à un ordinateur (alertes sur un nouvel e-mail). Vous pouvez aller plus loin en connectant une photorésistance pour détecter quand votre téléphone portable sonne (l'écran s'allume), ou un capteur Parallax CH4 afin que vous puissiez être averti à l'avance de l'augmentation des niveaux de méthane dans votre cabine parce que votre compagnon de cabine en avait trop chou au déjeuner. Quoi qu'il en soit, la plupart d'entre vous n'ont probablement pas ce problème (j'aurais aimé ne pas l'avoir fait). En plus de ce que fait réellement le projet, il donne également des instructions sur la conversion de texte en fichier wav et le transfert de fichiers sur la carte SD sur l'Arduino sur série. J'espère que ceux-ci pourront être utiles à d'autres dans leurs projets. REMARQUE: je suis assez nouveau dans tout ce genre de choses, donc il n'y a aucune garantie que je fasse les choses correctement. C'est le premier projet que j'ai jamais conçu avec des transistors, donc il me manque peut-être des capuchons et des diodes quelque part… Si quelqu'un a des conseils, je serais heureux de les entendre et de les intégrer.

Étape 1: Pièces

les pièces
les pièces
les pièces
les pièces

1- Arduino1- Wave Shield (Ladyada)6 - 2 transistors 39046 - Résistances 330 Ohm6 - Résistances 22 Ohm2 - Résistances 10k Ohm (pullups for Buttons)2 - Buttons2 - Connecteurs casque stéréo mâle1 - Connecteur casque stéréo femelle Quels que soient les capteurs que vous voulez, je l'ai fait1 - Microphone1 - Parallax Ping Ultrasonic Range Finder1 - Photocell1 - Ordinateur exécutant un script Ruby qui vérifie les e-mails et se connecte à l'Arduino via série

Étape 2: Transistors

Transistors
Transistors

Les transistors sont principalement utilisés pour amplifier des choses ou comme interrupteurs. Dans ce cas, j'utilise les transistors comme interrupteur. Lorsque je mets la broche Arduino au niveau haut, le transistor permet au son de provenir de l'appareil qui leur est connecté à mes écouteurs. Trois transistors de chaque côté me permettent de commuter la masse, et les canaux stéréo gauche et droit pour chaque source sonore. J'ai expérimenté plusieurs résistances et j'ai opté pour celles-ci. Les transistors ne chauffent pas et la résistance du transistor lui-même est très faible lorsque la broche Arduino qui lui est connectée est élevée. Ceci est important pour que je puisse obtenir un bon son non étouffé. Comme vous pouvez le voir dans le schéma de l'étape suivante, les transistors sont chacun connectés de sorte que la base aille à la broche Arduino pour la contrôler (avec une résistance entre eux). L'émetteur est connecté à la fois à la terre (avec une résistance) et à l'entrée sonore. Le collecteur est connecté à la sortie audio du casque. Voici une bonne page Web sur l'utilisation de transistors comme commutateurs

Étape 3: Connectez-les tous ensemble

Connectez tout ensemble
Connectez tout ensemble

Le schéma est assez simple. Une chose à garder à l'esprit est que le bouclier d'onde utilise un tas de broches sur l'Arduino, alors restez à l'écart de celles-ci (je les ai remplies de soudure sur ma carte). J'ai utilisé les broches 8 et 9 pour les transistors (8 jeux wave shield, 9 jeux source sonore externe). La broche analogique 0 a été utilisée pour le microphone (cela ne fonctionne pas très bien cependant, j'y travaille). La broche analogique 1 est utilisée pour le bouton "Ignorer". Lorsque ce bouton est enfoncé, tous les capteurs sont ignorés pendant une durée prédéfinie. La broche analogique 2 est une "sonnette". Il y a encore des épingles gratuites pour d'autres choses. Je prévois d'ajouter une photo-résistance que je place contre un écran de téléphone portable pour détecter quand il sonne sur la broche analogique 3. Je l'ajouterai ici une fois que je l'aurai essayé.

Étape 4: Capteurs

Capteurs
Capteurs

À l'heure actuelle, j'utilise les "capteurs" suivants (les entrées sont probablement plus précises) pour déclencher des événements: vous faire savoir qu'il y a quelqu'un dans les parages. Le bouton que j'ai utilisé a fermé le circuit par défaut et a ouvert le circuit lorsque le bouton a été enfoncé (je les avais juste autour). N'oubliez pas les résistances pullup (généralement une résistance de 10k Ohm qui va du côté de la broche Arduino du fil pour aider à donner un bon signal élevé lorsque le circuit est ouvert). Le mien est connecté à la broche analogique Arduino 2.-Télémètre à ultrasons Ping parallaxe - Faites-moi savoir quand quelqu'un est à proximité (c'est-à-dire que quelqu'un est sur le point d'entrer dans votre cabine). Le mien est connecté à l'Arduino Pin 6 (sur le fil blanc du capteur). Le fil rouge du capteur passe à 5 volts et le fil noir à la terre.-Microphone - Ceci est destiné à détecter quand quelqu'un vous parle. Vous connaissez ces gars qui ne réalisent pas que vous avez des écouteurs et commencent à parler. Je travaille toujours sur celui-ci, il semble que j'ai besoin d'un préampli pour obtenir une bonne lecture avec le microphone que j'ai obtenu de Sparkfun. Une prochaine étape intéressante serait d'enregistrer quelques secondes du son dans un fichier sur le bouclier d'onde, puis de le lire pour que vous sachiez si c'est quelque chose qui vous intéresse avant d'éteindre votre musique. - Ordinateur - Pour le moment, cela utilise un Ruby script pour vérifier les nouveaux e-mails et envoie un signal au port série où l'Arduino doit lui faire savoir qu'un nouvel e-mail a été reçu. Vous pourriez évidemment faire beaucoup plus avec cela. Fondamentalement, tout ce sur quoi l'ordinateur peut alerter, vous pouvez le faire alerter via vos écouteurs. Ce serait cool si je pouvais faire en sorte que l'ordinateur génère automatiquement un fichier wave en utilisant certaines des voix AT&T, puis l'envoie à l'Arduino via série. Celui-là est un moyen de sortir cependant. - Capteur de sonnerie de téléphone portable - J'ai utilisé une cellule photoélectrique de Radio Shack (The Shack) pour cela. Je l'ai connecté à la broche analogique 4 puis à 5 volts. Vous devez également faire une résistance de 10k Ohm du côté qui se connecte à la broche 4 de l'Arduino à la terre (sinon le signal ne changera pas). Pour mon téléphone, si la cellule photoélectrique que j'utilise dépasse 400 sur la lecture analogique de l'Arduino, l'écran est allumé. Selon le téléphone, il y a probablement plusieurs façons de le faire. Je vais devoir réfléchir un peu plus à cela pour voir si je peux trouver une solution à usage général.-Laser et une photorésistance - Vous pouvez pointer un pointeur laser sur l'ouverture de votre cabine vers une photorésistance. Lorsque la lumière est cassée parce que quelqu'un entre dans votre cabine, vous pouvez déclencher une alerte.-Détecteur de gaz CH4 - Détectez l'augmentation des niveaux de méthane dans votre cabine. Cela peut aider à servir de système d'alerte précoce contre le gaz passé à proximité.

Étape 5: Ligne de commande du texte à la parole

Voici un petit utilitaire que j'ai écrit très rapidement pour convertir le texte en parole. Il est écrit en C# avec le freeVisual C# 2008 Express Edition. Vous aurez probablement besoin de. Net 3.5 pour exécuter cela. Le code est inclus, mais si vous voulez juste l'exe, vous pouvez l'obtenir dans CommandLineText2Speech/CommandLineText2Speech/bin/Release dans le fichier zip. Pour faire fonctionner l'outil, vous pouvez simplement ouvrir une invite de commande, accédez au répertoire où vous placez l'exe et tapez CommandLineText2Speech.exe. Il affichera ceci: Utilisation: Pour lister les voix installées: CommandLineText2Speech.exe whatvoices

Pour convertir du texte en wav:CommandLineText2Speech.exe [voix] [taux - par défaut 0 (-10 à 10)] [volume - par défaut 80 (0 à 100)] "[texte à convertir]" [fichier de sortie]En d'autres termes vous voudrez probablement d'abord exécuter:CommandLineText2Speech.exe whatvoicesCela répertoriera les voix que vous avez installées sur votre ordinateur. Vous aurez besoin du nom d'une voix pour exécuter l'outil. Les voix fournies avec Windows ne sont pas géniales, AT&T en a d'assez bonnes. Suivant pour convertir le texte en fichier wav, faites ceciCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Ceci est un test" test.wavVoici ce que tout cela signifie:"Microsoft Sam"- la voix, c'est celle qui vient avec Windows, vous avez pour le mettre entre guillemets puisqu'il y a un espace0- Vitesse normale (peut aller de -10 à 10)80- Volume normal (peut aller de 0 à 100)"Ceci est un test"- Le texte qui sera transformé en un fichier wav.wav- comment s'appellera le fichier wav

Étape 6:

Le code Ruby joint effectue les vérifications suivantes pour voir s'il y a un nouvel e-mail et s'il y en a, il le transfère à l'Arduino via l'interface USB vers série intégrée à l'Arduino. J'ai eu des problèmes avec les connexions à haut débit sur série (probablement la taille du tampon). Les paramètres du fichier sont tous en haut du fichier. Cela utilise mon programme C# pour créer un fichier wav. Je devrais probablement convertir tout cela en une seule langue, je suis un grand fan de Ruby, mais il n'avait pas l'air de pouvoir créer le wav à partir de texte très facilement, alors j'ai écrit la petite application C#. Vous aurez également besoin du ruby joyau de série, je l'ai également inclus. Pour l'installer (après avoir installé Ruby), tapez "gem install win32-serial-0.5.1-x86-mswin32-60.gem" dans l'invite de commande du répertoire dans lequel vous téléchargez le gem. C'est tout ce dont vous avez besoin pour que ce programme fonctionne.

Étape 7: Coder

J'ai joint mon croquis Arduino. Il contient de nombreux commentaires pour vous aider. En gros, il continue de vérifier toutes les entrées, si l'une d'entre elles se déclenche, il change le son du Wave Shield et lit le fichier wav associé à cette alerte.

Étape 8: Exécutez les programmes

Ok, maintenant vous avez toutes les pièces. Pour que cela fonctionne correctement, vous devez 1. Installez Wave Shield sur Arduino2. Connectez Arduino à l'ordinateur (ou utilisez XBee) -- je suppose que vous avez déjà installé le firmware3. Exécutez le script Ruby checkEmail.rb4. Profitez de votre musique, l'Arduino vous interrompra lorsqu'il aura besoin de lire votre courrier électronique ou lorsqu'il détectera quelque chose dans votre environnement.

Étape 9: Vidéo du produit fini

Voici le sélecteur de son au travail

Conseillé: