Faisabilité de projet

Bonjour à tous/toutes.

Dans le cadre d'un examen, nous (nous sommes un groupe de 3/4 personnes) avions l'idée de réaliser le projet suivant :

Commander la disposition et le fonctionnement de plusieurs enceintes.

  • Tout d'abord à partir d'une application Android, nous nous connectons en Bluetooth à une carte Arduino.
  • Ensuite nous appuyons (sur l'application), sur un bouton qui permet de lancer un réglage via Bluetooth.
  • La carte Arduino reçoit la commande et commence à faire pivoter un moteur sur 180°. Ce moteur supporte un petit haut-parleur qui émet du son continu durant cette phase.
  • Le smartphone reçoit le son durant cette phase puis évalue le moment où le son a été le plus fort.
  • Les données sont envoyées (toujours en Bluetooth) à la carte Arduino qui va orienter définitivement le haut-parleur en fonction de là o l'intensité à été le plus élevé.

J'aimerai qu'il soit également possible d'envoyer du son (une vraie musique) en Bluetooth sur la carte Arduino.

Suite à ça j'aimerai que vous me conseillez sur les différents composants.

Il me faudrait une carte Arduino : Arduino Uno Rev3 — Arduino Official Store

  • Un module Bluetooth Arduino : ICI
  • Un moteur pas à pas : Lequel ?
  • Un shield mp3 ? : Lequel ?
  • Un amplificateur : Fait par nous même.

Ce projet est il faisable, que me conseillez vous comme composants, d'autres conseils ?
Bonne journée.

le projet est faisable mais je ne comprends pas trop le besoin de la partie Android à moins que ce ne soit demandé aussi dans votre projet. vous pouvez faire cela avec 2 cartes Arduino (une avec un micro, l'autre avec le moteur sous le haut parleur et lecteur MP3) et 2 modules sans fils (bluetooth ou autre).

Mesurer "la puissance du son" reçu par le micro de votre appareil android peut être un challenge car la plupart des téléphones ont un filtre éliminateur de bruits ambiants, parfois même spécifiquement calibrés pour les fréquences de voix humaine (300 Hz jusque vers 10'000 - 15'000 Hz) et d'autres de moins bonne qualité pour le téléphone feront du 300 - 5'000 Hz) --> faudra voir si vous pouvez le désactiver pour obtenir l'information directement au plus proche du microphone sans ces traitements. vous pouvez regarder ce que fait le code splEngine pour un truc de base

côté carte MP3 si vous voulez faire simple, une "TF Card U Disk Mini MP3 Player" (cf DFPlayer - A Mini MP3 Player) peut-être suffisante. Si vous voulez streamer de la musique depuis android, alors c'est bcp plus ambitieux (mais faisable en BT aussi - regarder du côté du module RN-52)

Merci beaucoup pour votre réponse.
J'utilise Android car a la base le haut parleur doit etre réglé sur le position de l'utilisateur mobile. Un téléphone portable est donc indiqué.
Mais je peux également le faire sur PC avec Python.

Par rapport à ce que vous m'avez donné je me demandais si :
Une carte arduino uno serait elle utile et suffisante ?
La carte mp3 est elle indispensable ou la carte arduino uno peut lire un fichier mp3 ?
Le modem Bluetooth présent sur la carte mp3 est il suffisant pour échanger des données autres que de la musique ? Un signal de commande ou autre
Au niveau moteur pas à pas que me conseillez vous ?

gargouille56:
Au niveau moteur pas à pas que me conseillez vous ?

Pour une course de 180deg, personnellement je partirai sur un servomoteur plutôt que le pas à pas. Bien que les deux solutions se valent, le code, tel que je l'imagine, sera plus simple.

Il existe bien des sonometre sur android...
ce sont des app qui marche bien, mais parfois certain resultat faut faire attention ça deconne.

J'ai eu fait des test dans une chambre chambre anéchoïque, avec un VRAI sonometre et avec mon telephone,
le vrai sonometre mettait entre 0/10 dB
le telephone entre 20/30 dB

Merci, je pense me tourner donc vers un servomoteur. L'application Android est déjà commencée mais je préfère finalement utiliser Python pour communiquer via la carte Arduino.

gargouille56:
Merci, je pense me tourner donc vers un servomoteur. L'application Android est déjà commencée mais je préfère finalement utiliser Python pour communiquer via la carte Arduino.

Python + ordi ce n'est pas super portable... Un petit montage arduino avec un micro c'est tout simple - cherchez "arduino electret microphone" et rajoutez des 2 côtés un émetteur récepteur sans fil - Bluetooth, NRF, ESP8266, 433MHz

Un Ordinateur portable marchera bien (le but est de faire des mesures etc pas de faire un produit complet) et je pense finalement utiliser une fréquence normale pour pouvoir utiliser le micro de mon PC.

bien sûr ça marchera avec un PC, mais c'est moins "sexy" :slight_smile:

Tout dépend de ce que vous devez démontrer dans votre projet.

un micro directionnel cependant serait important pour vraiment capter finement l'orientation.

Je pense que le microphone du PC suffira, aussi je me permet de reprendre mes questions :

  • Une carte Arduino uno serait elle utile et suffisante ?
  • La carte mp3 est elle indispensable ou la carte Arduino uno peut lire un fichier mp3 ?
  • Le modem Bluetooth présent sur la carte mp3 est il suffisant pour échanger des données autres que de la musique ? Un signal de commande ou autre
  • Au niveau servomoteur, que me conseillez vous ?

Bien sûr le budget n'est pas non plus très élevé, je ne cherche pas le top mais seulement le nécessaire.

gargouille56:

  • Une carte Arduino uno serait elle utile et suffisante ?
  • La carte mp3 est elle indispensable ou la carte Arduino uno peut lire un fichier mp3 ?
    [
    [/list]

Seule la uno n'a même pas assez de mémoire pour stocker un mp3, tu cherches a jouer absolument une musique? ou juste un son? Parce que dans le cas du son, avec un buzzer, la uno est capable de le faire
voir : ici

d'un point de vue complexité, prix et utilité je laisserai tomber l'idée de streamer de l'audio en bluetooth.

achetez le petit composant MP3 que j'ai mentionné ci dessus (si vous avez du temps pour attendre c'est environ 2 euros depuis la chine, rajoutez une petite micro SD, vous enregistrez des fiches sons(MP3, WAV, WMA) que vous appelez 0,1,2,3,... et vous pouvez ensuite demander par arduino de jouer le fichier No 0, 1, No 2 etc (255 pistes de musiques sont supportées)

vous pré-enregistrez ce que vous voulez jouer sur la carte SD, et en bluetooth depuis le PC vous envoyez une commande à l'Arduino "joue la chanson No 3"

donc côté materiel

  • un UNO
  • une carte bluetooth
  • une carte dédiée MP3 avec sortie son
  • une alimentation pour le UNO, une pour le/les moteur (si le haut parleur est lourd)
  • un ou plusieurs haut parleurs adaptés à la puissance de sortie audio

pour la partie moteur, soit un Servo - ça a l'avantage d'être précis en positionnement. vous lui dites "met toi à 17°" et il y va ou alors un moteur DC avec une carte de contrôle genre L298N qui vous permet de piloter la vitesse de rotation, le sens mais pas (sans matériel supplémentaire) un angle précis. en pratique tel que vous décrivez vos besoins, l'angle n'est pas critique, vous allez définir une boucle de contrôle genre PID qui va maximiser l'enveloppe audio reçue.

  • un ou plusieurs servo / moteur DC — dimensionné pour le couple nécessaire en fonction du poids du haut parleur

  • si plusieurs haut parleurs, un composant matériel (MOSFET) pour piloter vers quel HP envoyer le son en sortie de la carte audio

une grande breadboard, des fils, du temps et de la patience :slight_smile:

Merci beaucoup. Donc je partirais sur le matériel cité, autre chose, pour la carte MP3 avec sortie son, elle possède souvent un support Bluetooth, puis-je utiliser ce support bluetooth pour toutes les commandes (même celles qui n'ont rien à voir avec la musique et qui sont destinés aux moteurs ou autres) ou alors c'est uniquement pour la carte MP3 ?

Merci.

la carte MP3 dont je vous parle n'en a pas. il faudrait voir à quelle carte vous pensez

(pensez à vois si vous pouvez avoir un micro directionnel à connecter à votre PC sinon ce sera très approximatif ce que vous obtiendrez)