recherche electronicien pour création protorype

Portrait de neonavy

Bonjour,
Je n'ai aucune notion d'électronique aussi je recherche quelqu'un pour m'aider à réaliser un projet:
créer une carte permettant de lire des fichier audio (MP3 ou WAV) au "front montant" d'un signal d'entrée.
Par exemple: lorsque je coupe une barrière infrarouge ça lance la lecture d'une musique (et cette musique ne pourra être relue que sur une nouveau front montant à condition qu'elle ne soit pas déjà en train d'être lut).
Est ce que quelqu'un pourrait réaliser ce projet et si oui à quel tarif?
Merci d'avance.
cordialement,
Jean

Portrait de neonavy

SUPER, c'est (je crois) exactement ce qu'il me fallait!!! :-)

Par contre, je ne sais pas comment l'associer avec une carte Arduino (j'imagine qu'il y a un programme à mettre dans la carte Arduino, et un schéma de câblage... C'est fournit avec la carte?).

Portrait de neonavy

La finalité d'utilisation est purement "geek"!!! :-)

En fait, je vais aménager un bureau à l'étage de ma maison, je compte y mettre une porte coulissante (une "porte à galandage" actionné par vérin pneumatique) peinte aux couleurs des portes de la série Star Trek NG et je compte y associer les bruits de la série (le bruit de la "sonnette" actionné par détecteur infrarouge, et le bruit de l'ouverture actionné par contact à galet à l'ouverture/fermeture de la porte).

Pour info: je suis automaticien (mais je n'ai encore jamais eu à travailler avec Arduino) :-)

Portrait de neonavy

Ca c'est de l'info riche et utile, MERCI BEAUCOUP!!!

Je n'ai jamais programmé en C (je suis surtout habitué au CONT/GRAPH), mais vos termes ne me sont effectivement pas inconnu pour autant :-)

" Tout en haut du code c'est la zone réservée aux déclarations. On défini ici les bibliothèques utilisées dans le code ( ceux sont des routines pré-écrites ) , puis les variables globales utilisées. (ce n'est pas exhaustif !) " => concrètement, sous quel format (de quelle manière? quel langage?) on défini cela?

" Le deuxième pavé (le setup) encadré par "void setup() { et }" sert à paramètrer entre autre les pins en entrées ou en sorties, la vitesse du ou des ports série voire des objets utilisés par les "library" ( bibliothèques ). On peut aussi définir entre autre le niveau initial des sorties à l'état haut ou bas selon les besoins du programme. (ce n'est pas exhaustif !) " => je croyais que le paramétrage des pins se faisait dans les déclarations?! Comment savoir de quelle librairie j'ai besoin?

" On peux aussi utiliser des fonctions qui peuvent être appelées dans le loop() ou même dans d'autres fonctions elles mêmes ! " => où déclare-t-on ces fonctions? dans la première partie?

" La première partie de la définition des ces fonctions ici void défini le retour ces  fonctions

void pour aucun retour seul les variables globales peuvent être modifiées ainsi que les sorties.

int, char, string ... par exemple pour le retour d'un entier d'un caractère ou d'une chaîne.

Il est aussi possible de passer des variables entre parenthèses : void MaFonction( int (x), char( y ), String(Ma Chaine)). " => désolé je n'ai pas comprit, avez vous un exemple?

Merci encore pour votre aide et vos explications.

Portrait de neonavy

que pensez vous de cette carte (qui me passerait de programmation si j'ai bien comprit):

https://fr.aliexpress.com/item/33015987040.html?spm=a2g0o.pay_result.pcr...

Portrait de neonavy

Ok, parfait, merci, cette exemple est déjà plus clair pour moi mais j'ai d'autres questions du coup!

"  #include <Arduino.h> /* Importation de la library elle est ici inutile mais c'est pour l'exemple */ "
=> comment savoir quelle librairie choisir pour mon besoin? pour charger une librairie il faut bien qu'elle soit dans la même mémoire?! Je peux comprendre qu'elle soit stockée dans le même répertoire que le programme et soit utulisé pour compiler le programme, mais une fois compilé pourquoi le programme appel encore la librairie (d'autant qu'elle n'est pas stockée dans la mémoire de l'Arduino)?

"Serial.begin(115200); // Ouverture du  port série à 115200 bauds"
=> pourquoi (pour cet exemple) ouvrir le port de communication? Ouvrir le port de communication ne dit pas comment l'utiliser (pour mon besoin).

" '_PULLUP'signifie au processeur de mettre virtuellement une résistance de rappel à l'état Haut*/"
=> vous voulez dire une "temporisation à la retombée"?

" if (digitalRead(OnOff) == LOW) { // si l'interrupeur est fermé donc la pin 8 passe à l'état bas "
=> pour moi un "interrupteur fermé" alimente l'entrée (et donc l'entrée passe à 1)?!...

" ChangeEtatLed(); // Exécution ChangeEtatLed() "
=> on utilise la fonction "avant" de l'avoir déclarée?!

" digitalWrite(PinLed, !digitalRead(PinLed)); /* On attribue à la sortie PinLed valeur inverse de celle qu'on litle '!' signifie inverse */ "
=> si on attribue à une sortie l'inverse de son état ne risque-t-on pas d'avoir juste un sintillement continu (à la fréquence de lecture de la boucle)?!

" Serial.println("La led est à l'état" + Etat); /*On ecrit sur le port série le texte entre guillemets + le contenu de la variable Etat*/ "
=> je comprends bien qu'on envoie du texte sur la sortie série mais sans déclaré quel est le type d'élément auquel est envoyé cette information, comment s'assurer qu'elle sera lut/compris correctement (donc que le format d'émission de l'information est le bon... j'imagine que l'envoie de cette information vers un afficheur ne se fera pas de la même manière que vers une autre carte Arduino)?

Portrait de Walter

Bonjour,

les instructions précédé d'un # sont des directives de compilations.
Cela veut dire que le compilateur (le linker en l'ocurence) va inclure le code de ta librairie dans ton programme compilé (binaire).
Lors de l'installation de l'IDE arduino, cela t'a installé le compilateur et un certain nombre de librairie de base.
L'IDE d'arduino te permet d'ajouter d'autre librairie produite par la communauté.

Pour savoir les librairies que tu as besoin, cela dépend des composants que tu va utiliser avec ton arduino.
Là sur la page du vendeur il ne l'indique pas, mais dans la vidéo il utilise une librairie "redmp3" qui se charge d'envoyer les commandes correspondant aux actions demandées(play, pause, nextSong) via le port série.
Tu peux aussi comme tu l'indique envoyé toi même les commandes sur le port série, mais c'est moins pratique qu'une librairie dédiée.
Il est possible via la librairie "SoftwareSerial.h" d'utiliser d'autre broche que celle prévus sur arduino, afin de garder celle-ci pour envoyer des informations de debug à la console série fournis avec l'IDE arduino, lorsque l'arduino est connecté par l'usb a ton PC.
C'est ce que fait d'ailleurs la librairie "redmp3".

Voila pour tes questions générales, je laisse Chantale0 décrire son code.

Portrait de neonavy

Bonjour,

Désolé du retard de ma réponse mais mon travail me laisse peu de temps (mise en service de machines à l'international), je suis en déplacement jusqu'en Octobre, je reprendrai cette échange à mon retour (j'aurai reçut les cartes d'ici là ce qui nous permettra de progresser).

Merci encore de votre aide.