LOCODUINO
Parlons Arduino => Vos projets => Discussion démarrée par: Benoit92 le juin 13, 2017, 09:52:47 am
-
Bonjour,
Je souhaiterais de réaliser une 2D2 5500 à l'échelle 1 (1/32) et l'équiper d'un décodeur à base d'Arduino (j'ai de la place avec cette échelle).
Il existe le décodeur ESU LOKSOUND 4.0 XL, mais, il est un peu cher et j'aimerai en fait réaliser moi-même ce décodeur.
Je souhaiterais également fabriquer moi-même les 2 moteurs électriques (globalement inspirés du moteur 5 pôles Märklin à aimant permanent), les trains d'engrenage (module 1), la caisse et le châssis.
Je pense utiliser un pont en H (et sa commande) séparé du décodeur (à base d'Arduino).
J'aimerai avoir des conseils pour réaliser ce décodeur (librairy, codage, choix des composants, . . .).
Merci à tous
Cordialement
Benoit
-
Bonjour Benoit,
Bienvenue parmi nous, avec un beau projet dans lequel l'Arduino sera à l'aise 8)
Tu trouveras certainement la plupart des réponses à tes questions sur ce forum et sur le site éditorial, mais il faudra adapter cela à ton projet.
Nous espérons qu'à ton tour tu décriras ta réalisation dans ces colonnes.
Amicalement
Dominique
-
Bonjour,
J'ai regardé sur beaucoup de site, mais je ne vois pas de renseignements (logiciels, bibliothèque) précis sur les décodeurs intégrés dans une locomotive.
Quelqu’un a-t-il déjà réalisé un tel décodeur DDC ?
Merci.
-
Bonjour,
sans vouloir réaliser un décodeur DCC, j'ai réalisé (1) un décodeur de fonction pour locomotive utilisant le sens de la vitesse pour piloter les feux arrière d'une fausse motrice à partir des descriptions de Rudy Boer :
Sur la page, https://rudysmodelrailway.wordpress.com/software/
en suivant le lien :
Arduino DCC, S88, and more Download link :
https://www.dropbox.com/s/qkhrc147m38llb9/Arduino_DCC_S88.zip?dl=0
on récupère un zip qui contient les sketches pour Arduino et ATtiny, dont le décodeur de fonction.
Bonne base pour extraire la vitesse pour commander un pont en H (dont la puissance peut rendre difficile la recherche)
(1) : http://forum.locoduino.org/index.php?topic=333.msg3181#msg3181
Bon courage !
-
Bonjour,
La réalisation d'un décodeur complet conforme à tes spécifications n'existe probablement pas.
Mais il existe pas mal de morceaux que tu devras compléter et assembler.
Je ne suis pas sur mon ordinateur mais je reviendrai plus tard avec mes recherches.
Ce serait sympa de faire profiter notre communauté du fruit de tes recherches ;D
Amicalement
Dominique
-
Merci pour vos réponses.
D'un point de vue Hardware, je pense mettre un moteur (CC à aimant permanent) pour chacune des deux paires d'essieux centraux (grandes roues) afin d'assurer l'inscription dans des virages serrés.
Aux deux extrémités de la locomotive, il y aura deux bogies non motorisés.
Coté Arduino, il y aura :
- un redresseur 4 diodes (mais je ne connais pas la valeur moyenne redressée du signal DDC)
- un optocoupleur pour récupérer le signal DDC de la voie,
- une alimentation 5 V pour l'arduino (généré à partir du signal de voie)
- deux ponts en H pour assurer la puissance sur les moteurs (Double Pont en H DC Stepper Motor Drive Controller Board Module L298N pour Arduino)
- une alimentation 12 V pour le pont
- un circuit son MP3 (du type Mini SD Card MP3 Sound Module Pour Arduino PIC WTV020-SD)
- un haut-parleur.
Cela fait pas mal de monde, mais je pense que cela tiendra dans une locomotive à l'échelle 1.
Par contre, coté logiciel, j'en ai fait un peu il y a 40 ans : cela a du beaucoup changer !
Je ne sais pas si c'est la bonne solution, je pense bâtir le programme à partir de la librairie NmraDcc-1.4.2.zip et aller chercher l'information vitesse pour piloter les deux ponts en H.
Je pense acheter un kit Arduino pour récupérer des exemples de programme.
Connaissez-vous un kit vraiment didactique.
Merci
-
Dans la rubrique Pour débuter http://www.locoduino.org/spip.php?id_mot=26&page=theme (http://www.locoduino.org/spip.php?id_mot=26&page=theme) du site éditorial, il y a tout ce qu'il faut.
Commences par acheter un Nano et faire un prototype.
Pour le logiciel, on va essayer de te guider, mais il faut quand même faire le parcours du débutant, c'est pas très long mais c'est essentiel.
Bon courage
-
Ok.
Connaissez-vous 'en plus du tuto) un bon bouquin pas trop compliqué ?
-
Je proposerais celui de C Tavernier (bien connu des lecteurs du regretté et vénéré Haut-Parleur) :
https://www.amazon.fr/Arduino-Ma%C3%AEtrisez-programmation-dinterface-shields/dp/2100710400/ref=pd_sim_14_3?_encoding=UTF8&psc=1&refRID=57AA9MQ8VNQXHBXJFVBM
Les commentaires des lecteurs sont généralement positifs.
Cependant, une application d'un Arduino est à chaque fois spécifique et on risque de trouver qu'on perd son temps à lire des sujets qui s'éloignent de son projet.
De toute manière, il ne faut pas rêver, après l'apparente simplicité des bases, la programmation est à la mesure des problèmes que l'on a choisi de résoudre, donc complexe.
Bon courage. (bis) En confirmant ce que propose Dominique, c'est en forgeant qu'on devient forgeron.
PS : voir aussi son site :
http://www.tavernier-c.com/
-
Je vais mettre mon grain de sel :
- le L298. C'est de la vieille techno, ça chauffe, c'est encombrant. Il vaut mieux prendre un pont en H CMOS. Pololu fait des modules bon marché destinés normalement à la robotique. Par exemple : https://www.pololu.com/product/1213.
- le son. Les modules MP3 sont biens pour passer une bande son mais pour sont ils les mieux adaptés pour produire des bruitages ? Sur les Teensy il y a une sortie analogique et une bibliothèque permet de jouer, de manière non bloquante, des sons stockés dans la mémoire du micro, ce qui permet de construire des séquences dynamiquement par programme ou de jouer en boucle.
- une alimentation 5V. Je suggérerais plutôt d'attaquer VIN en 9V ce qui permettra de bénéficier de l'alimentation régulée de l'Arduino.
- pont de diodes pour redresser le DCC. Le DCC étant un signal carré, La tension récupérée en sortie du redresseur sera celle du DCC. 18V ? Il y aura quelques trous à 0V du fait des temps de montée et de descente qui ne sont pas nuls mais les capas en entrée du régulateur 12V lisseront cela. Attention de mettre des diodes assez costauds.
-
Je proposerais celui de C Tavernier (bien connu des lecteurs du regretté et vénéré Haut-Parleur) :
https://www.amazon.fr/Arduino-Ma%C3%AEtrisez-programmation-dinterface-shields/dp/2100710400/ref=pd_sim_14_3?_encoding=UTF8&psc=1&refRID=57AA9MQ8VNQXHBXJFVBM
Les commentaires des lecteurs sont généralement positifs.
Cependant, une application d'un Arduino est à chaque fois spécifique et on risque de trouver qu'on perd son temps à lire des sujets qui s'éloignent de son projet.
De toute manière, il ne faut pas rêver, après l'apparente simplicité des bases, la programmation est à la mesure des problèmes que l'on a choisi de résoudre, donc complexe.
Bon courage. (bis) En confirmant ce que propose Dominique, c'est en forgeant qu'on devient forgeron.
PS : voir aussi son site :
http://www.tavernier-c.com/
Merci pour le conseil.
-
- le L298. C'est de la vieille techno, ça chauffe, c'est encombrant. Il vaut mieux prendre un pont en H CMOS. Pololu fait des modules bon marché destinés normalement à la robotique. Par exemple : https://www.pololu.com/product/1213.
Ok, cependant, il semble plus cher (24 €) que le L298N (5€ voir moins sur aliexpress)
- le son. Les modules MP3 sont biens pour passer une bande son mais pour sont ils les mieux adaptés pour produire des bruitages ? Sur les Teensy il y a une sortie analogique et une bibliothèque permet de jouer, de manière non bloquante, des sons stockés dans la mémoire du micro, ce qui permet de construire des séquences dynamiquement par programme ou de jouer en boucle.
Ok.
Je pense m'occuper du son dans une deuxième phase, mais j'y réfléchis.
En particulier, je ne sais pas sous quelle forme je vais récupérer des fichiers son de cette locomotive (MP3, Wave, ou logiciel).
- une alimentation 5V. Je suggérerais plutôt d'attaquer VIN en 9V ce qui permettra de bénéficier de l'alimentation régulée de l'Arduino.
C'est à dire, faire un redressement monoalternance du DDC+ condensateur pour alimenter la pin VIN en 18/2 = 9 volt ?
- pont de diodes pour redresser le DCC. Le DCC étant un signal carré, La tension récupérée en sortie du redresseur sera celle du DCC. 18V ? Il y aura quelques trous à 0V du fait des temps de montée et de descente qui ne sont pas nuls mais les capas en entrée du régulateur 12V lisseront cela. Attention de mettre des diodes assez costauds.
Ok, je pense à un pont de diode 600 V - 10 A type Incorporated GBU1006 600 V 10 A Monophasé GBU (Conrad)
Sinon, pour débuter, je pense prendre un UNO Rev 3 ?
-
celui de C Tavernier ... Maitrisez programmation ...
En IdF, vous pouvez vous inscrire à la bibliothèque des Sciences et de l'Industrie (BSI) de La Villette, vous aurez accès en ligne à la bibliothèque numérique où cet ouvrage figure comme le suivant d'ailleurs. J'imagine qu'il y a aussi un exemplaire papier. Consultation libre sur place.
http://www.biblioaccess.com/92/Home/Index
-
- le L298.
http://www.ebay.fr/itm/Dual-VNH2SP30-Stepper-Motor-Driver-Module-30A-Monster-Moto-Shield-Replace-L298N-/192045155800
30 A, 16V : un petit(!) radiateur doit s'imposer, à 6,37€ faut pas s'en priver, en dual , en plus. Mais il faut un booster et une alimentation en rapport.
C'est manifestement un shield pour Uno, donc pourquoi pas lui adapter DCC++ BASE STATION. (30 A/14A pointe/continus, @16V pour le VNH2SP30, vs 3 A continus @ 5 – 28 V pour le MC33926)
- une alimentation 5V. Je suggérerais plutôt d'attaquer VIN en 9V ce qui permettra de bénéficier de l'alimentation régulée de l'Arduino.
C'est à dire, faire un redressement monoalternance du DDC+ condensateur pour alimenter la pin VIN en 18/2 = 9 volt ?
un redressement monoalternance du DCC + condensateur délivre la tension de pointe, pas la tension moyenne, (donc celle de l’alimentation du booster moins les diodes et autres FET ou transistors) sauf à mettre une résistance à bien évaluer. Si on veut éviter de chauffer, mettre un step down : http://www.ebay.fr/itm/10pcs-Mini-360-DC-DC-Buck-Converter-Step-Down-Module-Mini360-4-75V-23V-to-1V-17V/131903848054
Sinon, pour débuter, je pense prendre un UNO Rev 3 ?
Oui, les UNO pour monter les shields dessus, mais à 2,77€ pièce, autant en prendre quelques uns, un accident est vite arrivé, et on a pas toujours envie d'effacer de suite ce qu'on a eu du mal à mettre au point.
http://www.ebay.fr/itm/NEW-UNO-R3-ATmega328P-CH340-Mini-USB-Board-for-Compatible-Arduino/282097483807
-
Je pense, dans un premier temps, réaliser un prototype pour la mise au point. Celui-ci ne sera pas intégré dans la locomotive.
Dans un deuxième temps, je réaliserai l'intégration en choisissant des composants plus petits (arduino nano par exemple) et qui chauffent moins.
-
OpenDCC peut être une bonne base de départ pour réaliser un décodeur :http://www.opendcc.net/elektronik/HW1/opendecoder_hw_sch_e.html (http://www.opendcc.net/elektronik/HW1/opendecoder_hw_sch_e.html)
Il est facile d'utiliser un Uno pour mettre au point le logiciel, puis de le transposer sur un ATtiny ensuite (voir la série d'articles sur Locoduino.org (http://Locoduino.org)).
Pour intégrer le son, le Teensy est idéal.
Tous ces contrôleurs se programment sur l'IDE Arduino.
-
OpenDCC peut être une bonne base de départ pour réaliser un décodeur :http://www.opendcc.net/elektronik/HW1/opendecoder_hw_sch_e.html (http://www.opendcc.net/elektronik/HW1/opendecoder_hw_sch_e.html)
Il est facile d'utiliser un Uno pour mettre au point le logiciel, puis de le transposer sur un ATtiny ensuite (voir la série d'articles sur Locoduino.org (http://Locoduino.org)).
Pour intégrer le son, le Teensy est idéal.
Tous ces contrôleurs se programment sur l'IDE Arduino.
1) J'ai regardé un certain nombre de site, mais je n'arrive pas à trouver la dernière version de NmraDcc.h.
2) Pour piloter la locomotive, je pense qu'un Tiny est un peu juste car j'ai besoin d'un certain nombre d'E/S.
- Pilotage des deux moteurs (PWM ponts en H)
- Alumage-extinction des feux(feux blancs, feux rouges, éclairage cabine)
- Dételage (avec un servo---> Servo.h)
- Montée-descente des pantographes (avec un servo---> Servo.h).
- Son (Teensy)
- Son marche/arrêt
- Sifflet court
- Sifflet long
- Mode manœuvre, 4 feux blancs
- Compresseur
- Joints de rails
- Sifflet chef de gare
- Sablage des rails
- Bruits d’attelage
- Purge conduite d’air
- Bruit du contact haute tension des pantographes avec la caténaire (Tssiiiiiiiiiiiiiit . . .) lors de la montée des pantographes
- Passage sur les aiguillages
- Crissements essieux
Donc, si je manque de place, je pense plutôt à un Nano.
-
Si tu mets un Teensy, il remplacera le Nano.
-
Ok, je croyais que c'était un circuit son.
-
Bonjour,
J'ai trouvé la version "NmraDcc 1.4.2.zip" sur : http://www.arduinolibraries.info/libraries/nmra-dcc
Est-ce la bonne et dernière version ?
-
Apparemment oui, mais je n'ai pas testé l'implémentation d'un décodeur (j'achète des décodeurs tout faits, pour du N je ne vois pas comment faire autrement, et pour 20/30€ maxi, je préfère travailler sur les autres sujets du modélisme).
Je ne suis pas sûr qu'il y ait d'autres modélistes qui aient cette expérience, mais sait-on jamais ...
En tout cas je note que cette dernière version supporte le 8266 donc la connexion WiFi, donc commander des locos sans transmettre via les rails ;D
Bon courage
Dominique
-
Je comprends que tu achètes ton décodeur pour une locomotive à l'échelle N.
Déjà en HO, cela n'est pas facile à intégrer.
En échelle 1 (1/32), il y a bien évidemment plus de place : les rails font 45 mm d'écartement et les locomotives (2D2) font environ 600 mm de longueur et 95 mm de largeur.
L'inconvénient est la puissance nécessaire (environ 3 A -> 5A pour avoir de la marge).
L'écartement 1 est surtout développé en Allemagne (beaucoup de passionnés qui dépensent beaucoup).
Donc, les prix pour des décodeurs puissants (LOKSOUND ESU 4.0 XL) est de l'ordre de 180 €.
C'est cher surtout s'il crame rapidement avec des moteurs peut-être trop puissants.
-
Là je pense qu'on est tous d'accord pour cette echelle.
Tu sembles bien préparer ton projet, donc prêt à faire une belle réalisation :P
J'espère qu'elle donnera lieu à un bel article ensuite dans la partie éditoriale (on t'aidera) ;)
Bon courage,
Dominique
-
Pour passer au chose sérieuse :
Où puis-je trouver la liste des fonctions de la bibliothèque NmraDcc.h ?
Enfin celles que l'on peut appeler dans le corps du programme.
Merci
-
Et bien c'est justement dans le fichier NmraDCC.h que sont décrites les fonctions.
On ne pas le consulter avec l'IDE Arduino, il faut utiliser un éditeur de texte à part, voire l'imprimer pour l'avoir sous les yeux.
Les exemples de cette bibliothèque facilitent la prise en main.
-
Afin d'avoir au moins un point de référence pour vérifier mon "futur décodeur", j'ai trouvé d'occasion un Mobile Station 2 (Märklin) avec son interface rail et son chargeur. Elle peut fonctionner en MM1, MM2, Mfx et DDC.
-
Quelle est la différence entre NmraDcc. h et Nmra_decoder.h ?
Merci
-
j'ai trouvé d'occasion un Mobile Station 2 (Märklin)
J'en ai une aussi : elle marche très bien !
-
Sinon, quelle est la différence entre NmraDcc. h et Nmra_decoder.h ?
Merci
-
je ne connais pas Nmra_decoder.h !
je n'ai rien trouvé par une recherche rapide, à part ce projet pour un ATtiny qui n'existe pas ailleurs :
https://www.circuitsonline.net/forum/view/24046/1/beginnen+avr (https://www.circuitsonline.net/forum/view/24046/1/beginnen+avr)
Sinon la différence entre 2 fichiers texte se détermine en les lisant !!!
Et ce n'est pas que le .h qui compte mais la bibliothèque toute entère :D
-
Je l'ai trouvé là :
https://github.com/MynaBay/DCC_Decoder/blob/master/DCC_Decoder.h
-
Et là
https://github.com/MynaBay/DCC_Decoder
-
Ces 2 adresses sont du même site DCC_decoder de Minabay :
Je l'ai utilisé pour compter et afficher les paquets DCC en vue d'observer le trafic mais pas pour réaliser les fonctions d'une loco.
D'autres réalisations se trouvent sur Locoduino.
Je ne connais pas du tout NMRA_decoder.
Maintenant c'est à vous de chercher en réalisant le prototype de votre projet.
D'autant que je n'aurai plus de temps durant les 2 prochaines semaines au moins.
J'espère que d'autres réponses vous viendront en aide.
Cordialement
Dominique
-
Pour réaliser le logiciel du décodeur de locomotive, il vaut mieux utiliser (include) :
- le DCC_Decoder.h (novembre 2011) ?
ou
- le NmraDcc.h (du 11 juin 2015) ?
A priori, le NmraDcc.h permet de programmer les CV avec la locomotive sur les rails (à partie de la station).
Pour le DCC_Decoder.h, il faut rentrer les CV à la main au niveau de la déclaration des variables (#define kCV_PrimaryAddress 1)
Le DCC_Decoder.h semble plus simple.
-
Après consultation d'un certains nombres de sites, je pense partir sur la base du hardware et software "Wolfgang Kuffer’s DCC Decoder".
Je me pose la question de la génération du son. Je pense que ce serait risqué d'intégrer des fichiers son dans le logiciel arduino. Je pense utiliser une carte son (Serial MP3 Player) avec une liaison I2C avec l'arduino.
Par contre, je cherche des fichiers Wave ou MP3 correspondant à la locomotive 2D2 (ou une locomotive électrique de 1930 suisse ou allemande). J'aimerais trouver des fichiers bruits unitaires : avertisseur, compresseur, frein, moteurs électriques, . . . )
Nota : je cherche un équivalent américain en 2NXXXX du transistor BC860 (référence européenne)
Merci
-
On trouve des sons de loco en cherchant sur YouTube et autres réseaux de vidéo.
Je ne sais pas si tu trouveras une 2D2 ???
Après récupération de la vidéo, je récupère le son avec Audacity qui te permet ensuite de le mettre au format voulu.
J'ai décrit dans ce Forum une carte son avec un mini et un lecteur SD.
http://forum.locoduino.org/index.php?topic=157.0 (http://forum.locoduino.org/index.php?topic=157.0)
-
Nota : je cherche un équivalent américain en 2NXXXX du transistor BC860 (référence européenne)
Bonjour,
La spécification du BC860 serait general purpose PNP 50 V, hfe 250 , 200 mA
on peut penser au 2N5087 qui correspond mais le courant est limité à 100mA, est-ce un problème ?
-
Ok, merci msport.
-
Avant de réaliser la partie mécanique de la 2D2, j'ai réalisé un banc roulant à partir d'une BR80 de Märklin à l'échelle 1 pour valider le concept arduino + L298 + carte interface DCC - Alimentation 5V et "16V".
La fonction moteur fonctionne.
Il faut que je travaille :
sur le fait que quand j'appuie sur n'importe quel bouton fonction de la MS2, la les sur la pin 9 s'allume sur chaque bouton !!!
à l'intégration des composants et câbles dans la locomotive (et pourtant c'est un Nano et la locomotive est à l'échelle 1!!!!).
images trop grandes !
-
Bonjour,
J’essaye maintenant de travailler sur la partie son sans passer par une carte MP3 (ça marche, mais ce n'est pas satisfaisant car, en, fait, il ne lit que des "morceaux").
Donc, je pense m'orienter vers une autre solution :
Arduino + carte lecteur SD (Fichier Wav) + envoi en PWM vers haut-parleur.
J'essaye dans un premier temps de lire un seul octet dans le fichier "Test.wav" (au niveau de la racine de la carte)
La carte est reconnue, le fichier "Test.wav est reconnu.
Mais, je n'arrive pas à lire octet par octet !
// Programme son BR80 - Lecture carte SD du fichier "Test.wav" octet par octet -
#include <SD.h> // crée automatiquement un objet racine SD représentant la carte mémoire SD
/* Broche CS de la carte SD */
const byte SDCARD_CS_PIN = 4; // TODO A remplacer suivant votre shield SD
File Fichier;
int c ; //variable de lecture
void setup() {
/* Initialisation du port série (debug) */
Serial.begin(115200);
/* Initialisation du port SPI */
pinMode(10, OUTPUT); // Arduino UNO
/* Initialisation de la carte SD */
Serial.print(F("Init SD card... "));
if (!SD.begin(SDCARD_CS_PIN)) {
Serial.println(F("FAIL"));
for(;;); // appui sur bouton RESET
}
Serial.println(F("OK"));
/* Vérification présence fichier */
if(SD.exists("Test.wav")) {
Serial.println(F("Fichier Test.wav OK"));
}
else {
Serial.println(F("Fichier Test.wav introuvable"));
}
File fichier = SD.open("/Test.wav", FILE_READ);
Serial.println(Fichier.size());
if(!fichier) { // Erreur d'ouverture du fichier
Serial.println(F("Impossible d'ouvrir le fichier Test"));
}
// while (Fichier.available()) {
// Serial.write(Fichier.read());
Serial.println ("Ouverture du fichier Test en lecture");
/* Lecture un octet Essai sur 255 octets*/
for (int i=0; i< 255; i++ ) {
Fichier.seek(i); // se positionne à la position i
Serial.print((Fichier.read())); // affiche le caractère courant
}
/* Fermeture fichier */
Fichier.close(); // fermeture du fichier
Serial.println ("Fermeture fichier effectuee!");
}
void loop() {
}
Résultats :
Init SD card... OK
Fichier Test.wav OK
0
Ouverture du fichier Test en lecture
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1Fermeture fichier effectuee!
Je ne trouve que des -1 ?????
Auriez-vous des idées pour ne lire qu'un seul octet à la fois car je devrai effectuer des traitements pour chacun des octets?
-
Ok, oubli d'ouvrir le fichier !!!!!!!!!
Init SD card... OK
Fichier Test.wav OK
Impossible d'ouvrir le fichier Test
Ouverture du fichier Test en lecture
Taille fichier
110228
82737070140174108765866910210911632160001020174300681720040160102979911640001511070010097116979217410692546
92541882541882545315311642164224232423240224021572551572551612531612531682531682537625476254223255223255128
11281206120612492249220612061382553825518254182547425274252732537325322325422325435135118218211521152146214
62631631242024201340134011112490249017117119201920212255212255237253237253242532425373254732542442552442551
69116914814819049041013101316601660672556725522825522825522725522725541411201120115101510239255239255562535
62532625126Fermeture fichier effectuee!
-
Bonjour,
Ce serait bien de corriger la taille des images ci-dessus pour ne pas dépasser 1000 pixels en largeur, voir moins, 800 par exemple.
Cordialement
-
Il y a ici : http://forum.locoduino.org/index.php?topic=259 (http://forum.locoduino.org/index.php?topic=259) tous les détails de réalisation d’une carte son .
Cela pourrait vous faire gagner du temps.
-
Il faut que je travaille :
sur le fait que quand j'appuie sur n'importe quel bouton fonction de la MS2, la led sur la pin 9 s'allume sur chaque bouton !!!
à l'intégration des composants et câbles dans la locomotive (et pourtant c'est un Nano et la locomotive est à l'échelle 1!!!!).
Que voulez-vous dire par la ?
-
Il faut que je travaille :
sur le fait que quand j'appuie sur n'importe quel bouton fonction de la MS2, la led sur la pin 9 s'allume sur chaque bouton !!!
à l'intégration des composants et câbles dans la locomotive (et pourtant c'est un Nano et la locomotive est à l'échelle 1!!!!).
Que voulez-vous dire par la ?
J'ai en partie résolu le problème en ................................ n'utilisant pas le bouton en haut à gauche de la MS2. Donc, je n'utilise pas FN00
et je commence à FN01 et cela marche.
Merci pour le circuit SON , j'étais parti pour convertir les bruitages WAVE en PWM et les charger dans la carte SD.
Puis lire la carte SD et l'envoyer en Analogwrite sur une pin raccordée au Haut parleur.
L'idée étant de pouvoir
- mixer les sons : compresseur + avertisseur ou moteur + freinage (par exemple) en sommant les deux fichiers PWM,
- pouvoir mettre certains bruitage en boucle (bruit moteur).
-
Je suis aussi sur l'ajout de la sonorisation à une locomotive.
Je me suis inspiré de http://www.train35.fr/bruitage_loco.html (http://www.train35.fr/bruitage_loco.html) pour la lecture d'un fichier WAV.
Mais un son de 2/3 secondes suffi à remplir la mémoire d'un nano, peut-être est-il possible de lire les données directement de la SD comme tu le dit !
Sur le site du lien, il est demandé de convertir les fichier en WAV avec Itunes, je te conseil de passer par Audacity, menu fichier, exporter, autres formats non compressés, options... , WAV, unsigned 8 bits PCM.
Si tu as besoin de plus de détail je te détail la procédure complète pour la conversion du fichier WAV.
En espérant t'avoir apporté une info utile.
-
Je suis également sur Audacity (Avec les problèmes que sur Windows 7 et XP, il semble impossible d’enregistrer des sons à partir de son « stream ». Sur Windows 10 cela semble marcher. Après consultation sur Internet, il semble que c’était un choix Microsoft ??
Pour le son, en prenant exemple une locomotive à vapeur.
A part l’avertisseur (directement sur commande MS2, les autres sons sont globalement fonction de la vitesse (ou arrêt) ou de l’accélération (ou décélération).
1) Bruit des pistons (injection) -> en boucle et en fonction de la vitesse
2) « clonc » de voies -> en boucle et en fonction de la vitesse
3) Bruit freinage -> en boucle et en fonction de la décélération
4) Avertisseur/sifflet -> directement sur évènement MS2
5) Sifflet court -> directement sur évènement MS2
6) bruit attelage -> directement sur évènement MS2 ou avec fonction dételage
7) Bruit cendrier -> à l’arrêt
8) Pelletage du charbon -> à l’arrêt
9) Relâchement des freins -> à l’arrêt
10) Soupape de sécurité pelletage du charbon -> à l’arrêt
11) Soupape de sablage-> à l’arrêt
12) Remplissage eau-> à l’arrêt
13) Pompe à eau-> à l’arrêt
14) Pompe à air-> à l’arrêt
Je pense que tous les bruits à l’arrêt peuvent être regroupés dans une même séquence de bruit en boucle (environ 10 à 20 Secondes) et sur une carte SD. Il sont moins « temps réel ».
Donc, il reste les sons 1) , 2) et 3) -> Temps réel.
Son 1) répétition du bruit d’une injection (environ 1 à 2 Secondes) en fonction de la vitesse lue
Son 2) ) répétition du bruit d’un « clonc » (environ 0,5 Secondes) en fonction de la vitesse lue
Son 3) répétition du bruit de freinage (environ 3 à 4 Secondes) en fonction de la décélération lue
Remarque :
Les trois sons 1) , 2) et 3) ne peuvent à priori pas être intégrés directement dans un Arduino Nano dédié au son (environ 7 secondes de sons !) ?.
Ce serait pourtant peut-être plus simple pour la gestion en boucle et pour la corrélation avec la vitesse et l’accélération (décélération).
Question :
Quelle sont les solutions potentiellement possibles pour gérer le décodeur de son en évitant les blancs et les « clonc » ?
Par exemple :
1) Nano 1 : décodage DCC + pilotage vitesse + éclairage + son à l'arrêt (non temps réels) + biblio TMRpcm
Nano2 (dédié son temps réel) : sons 1) , 2) et 3) + en fonction de la vitesse et de l'accélération + biblio TMRpcm
2) Nano 1 : décodage DCC + pilotage vitesse + éclairage + son à l'arrêt (non temps réels) + biblio TMRpcm
Nano2 (dédié son temps réel) : décodage DCC sons 1) , 2) et 3) en fonction de la vitesse et de l'accélération + biblio TMRpcm
3) . . . .
J’ai fait un essai avec une carte mp3, mais il y a un blanc à chaque fois que l’on change de morceau ou que l’on relit le même morceau.
Rétrospectivement, je comprends que les décodeurs de son coutent aussi chers
-
Merci pour le partage de ce projet très intéressant.
J’espère surtout que tu pourras partager les sons et boucles du projet pour permettre de se passer de ces décodeurs hors de prix.
En ce qui concerne les blancs dûs à la relance d’une lecture de fichier sur carte SD, il doit être possible d’alimenter les tampons en Ram autrement que par une carte SD (de la flash par exemple) en modifiant la bibliothèque TMRpcm.
Le choix d’au autre processeur comme le Teensy devrait aussi donner satisfaction.
Mais ce n’est que mon intuition pour le moment.
-
Ok pour le Teensy : ça a l'air pas mal :
- Processeur 32 bits: Cortex-M4 @ 72 MHz (M4 = extension DSP)
- Mémoires: 256K Flash, 64K RAM et 2K EEPROM
-
Le développement logiciel avec Teensy est-il le même que pour l'Arduino ?
Le son +le logiciel doivent être chargés une fois pour toutes dans la flash ?
Le Uno 2 pourrait être remplacer par un Teensy (voire le Uno 1)
-
Quel Teensy vaut-il mieux prendre ?
Il y en a qui ont déjà un lecteur de carte SD intégré.
-
Quel Teensy vaut-il mieux prendre ?
Il y en a qui ont déjà un lecteur de carte SD intégré.
Je ne sais pas : J'ai acheté un 3.2 et un 3.6
Le 3.6 servira de Gestionnaire de réseau avec un écran graphique tactile 7' donc j'ai besoin de puissance.
Le 3.2 servira pour le son, soit pour faire un synthé pour mon clavier midi, soit pour sonoriser mon réseau. Il y a des bibliothèques extraordinaires pour le Teensy mais je n'ai pas encore commencé à les étudier. Pour ton projet le 3.2 devrait suffire avec la flash intégrée.
Le développement logiciel avec Teensy est-il le même que pour l'Arduino ?
Pour le développement sur Tennsy, on utilise l'Arduino IDE et on y ajoute le support des Teensy : https://www.pjrc.com/teensy/teensyduino.html (https://www.pjrc.com/teensy/teensyduino.html)
Tu peux regarder tous les projets à base de Teensy pour voir si l'un d'entre eux te convient.
https://www.pjrc.com/teensy/projects.html (https://www.pjrc.com/teensy/projects.html)
-
En attendant le teensy 3.2, j'essaye de générer du son à partir d'un arduino.
Le but étant de réaliser un"Tchou" puis de le passer en boucle en fonction de la vitesse (pour faire des "Tchou" "Tchou" "Tchou" "Tchou" ).
J'ai trouvé un site : http://playground.arduino.cc/Code/PCMAudio
Il y a le programme :Main program
et une bibliothèque ?? "sounddata.h. Je l'ai placé dans un répertoire nommé "sounddata", puis installé dans la librairies de l'IDE Arduino.
A priori, les échantillons de musique sont placés dans le "sounddata.h" ?????
Le haut parleur est installé entre la pin 11 (+ 220 Ohm) et la masse.
ça ne marche pas !!!!
-
Ce n’est pas étonnant :D
Le fichier est défini par #include "sounddata.h"
Contrairement aux bibliothèques, ce fichier doit être dans le même dossier que le sketch Arduino.
Il doit apparaître dans la fenêtre d’édition de l’IDE a l’aide d’un onglet.
A la compilation, ce fichier est intégré au programme dans la flash.
Tu dois donc avoir une erreur à la compilation, mais tu ne le dis pas !!!
L’expression « ça ne marche pas !!! » n’est pas suffisante pour expliquer ce qui se passe ou ne se passe pas.
Cela étant, je n’ai pas testé ce programme mais il doit marcher a priori.
-
Ok, cela confirme ce que tu m'as répondu.
j'ai lu :
Need Help with Sounddata.h
May 13, 2017, 12:02 pm
Hi, I am not an expert at Arduin, i simply want to add the Sounddata.h at this link:
http://playground.arduino.cc/Code/PCMAudio
Thanks, i searched on the net, but nothing made sense as to how to add this piece of text as a library. Please forgive my idiocy.
(Dans votre esquisse, cliquez sur la flèche pointant vers le bas sur le côté droit (sous l'icône du moniteur série), sélectionnez un nouvel onglet, nommez-le Sounddata.h, copiez les données, cliquez sur Enregistrer)
C'est ce que j'ai fait.
Il n'y a pas d’erreurs de compilation et de téléversement.
La seule pin utilisée sur l'arduino Uno est la pin 11 pour le HP avec 220 Ohm en série ainsi que la pin GND.
-
Et alors ?
-
Pas de son !
Peut-être un problème hardware ?
-
Je pencherais plutôt pour un problème soft, la pin du HP étant protégée par une résistance et tu peux vérifier qu’elle fonctionne toujours avec un autre programme.
Il faut regarder si le programme est bon: il y a des articles sur les Timers pour t’aider. Un petit oscilloscope serait utile.
Le debugging est un des volets incontournable de la programmation.
-
Oui, j'ai un oscillo (sur USB).
Pour le programme, j'ai copié les logiciels "Main programm" et "sounddata.h" sur https://playground.arduino.cc/Code/PCMAudioTimer5.
Et je n'ai rien changé !
-
Un programme pêché sur le web ne marche pas forcément. Il faut se rapprocher de son auteur qui demandera le schéma, des photos, tout ce qu’il faut pour démontrer que son tuto est respecté.
Le programme qui ne semble pas marcher ressemble à celui de train35 :http://www.train35.fr/bruitage_loco.html (http://www.train35.fr/bruitage_loco.html) qui marche apparemment bien.
Locoduino ne peut pas le garantir. Si tu prends mon programme que je t’ai indiqué, je sais qu’il marche, sauf erreur de montage. Si quelque chose ne va pas, j’essayerai de le corriger dès que j’aurai le temps.
Mais pour un programme ailleurs sur le web, il faut se débrouiller (je t’ai donné des pistes).
Ce qui serait sympa, quand tu auras trouvé la solution, ce serait de la partager avec tout le monde pour éviter à d’autres les mêmes recherches. C’est normal de contribuer à la communauté . On a tous passé beaucoup de temps à mettre en partage tout ce qui existe sur le site
-
Merci, cela marche bien avec train35.
Y a -t-il un moyen de passer d'un fichier wav :
RIFFH WAVEfmt €> €> data$ ƒ€v‚†r…}y{‰|sˆ€}€€|€‡y†ƒ~‹v€|ƒ•|jz˜{v“{n†”zv…pyŽˆyt‹„u„~|......................
en fichier en décimal de forme (avec virgule) :
39, 26, 26, 62, 80, 97, 90, 59, 68, 71, 67, 79, 77, 112, 110, 66, 55, 56, 39, 86, 103, 115, ............................................
(en ayant enlever au préalable, l'entête de 44 octets du fichier wav)
-
On peut lire le fichier avec un programme Arduino et le récupérer sur un terminal en format texte.
-
On peut lire le fichier avec un programme Arduino et le récupérer sur un terminal en format texte.
Excuse-moi, mais je ne comprends pas trop !
J'ai vu sur le net un programme "EncodeAudio", mais je n'arrive pas à l'installer.
-
Un truc comme ça ?
https://github.com/olleolleolle/wav2c
SI tu es sous Windows, il te faudra de l'aide (que je ne peux pas apporter)
-
On peut lire le fichier avec un programme Arduino et le récupérer sur un terminal en format texte.
Excuse-moi, mais je ne comprends pas trop !
J'ai vu sur le net un programme "EncodeAudio", mais je n'arrive pas à l'installer.
Je voulais simplement suggérer que tu peux réaliser un montage qui te donnera ce que tu recherches, en t’apprenant au passage à maîtriser les fichiers avec Arduino, ce qui te sera utile dans ton projet riche, mais complexe.
Avec un lecteur de carte SD branché sur le port SPI d’un Arduino (voir mon fil déjà indiqué), tu pourras lire octet par octet n’importe quel fichier de ton PC que tu auras copié sur une carte SD. Après tu pourras afficher ces octets comme tu le souhaites dans le terminal, avec des virgules comme séparateur. Ensuite, il ne reste plus qu’à faire un copier-coller dans un fichier de sketch pour utiliser les données.
Je conviens qu’il existe des programmes tout faits qui ne t'apprendront rien, mais je ne les connais pas.
En amont de tout cela, Audacity que j’utilise plutôt qu’iTunes depuis longtemps permet toutes les manipulations possibles de sons et leur export selon le format souhaité (wav, 8 bits, mono, 16kb/s).
-
Merci,
Oui, je suis sous windows et le problème va être d'installer "wav2C".
Il y a un tuto : il faut que je le comprenne !
https://www.youtube.com/watch?v=-UPb9nRPHV8
C'est peu lisible !!
-
Il est parfois plus difficile de se servir du logiciel compliqué d’un autre que de réaliser soi-même juste ce dont on a besoin.
Je viens de voir le tuto (c’est sur Mac et c’est fait pour ne rien comprendre). Il y a sûrement d’autres tutos.
-
Bon, je suis parti pour installer MinGW ainsi qu'un IDE Eclipse ou CodeBlocks !
C'est encore l'occasion d'apprendre plein de trucs.
-
Pour convertir en octet un fichier wav regarde : http://highlowtech.org/?p=1963 et comme dit précédemment :
il est demandé de convertir les fichier en WAV avec Itunes, je te conseil de passer par Audacity, menu fichier, exporter, autres formats non compressés, options... , WAV, unsigned 8 bits PCM.
-
Je vois comment créer un fichier wav 8 bits-16kHz-mono avec audacity. (à priori, il faut un fichier MP3 pour Encodeaudio ?)
J'ai téléchargé Java (Encodeaudio est un .jar)
J'ai téléchargé Encodeaudio, mais il ne s'ouvre pas.
J'ai peut-être oublié quelque chose ?
Download:
Windows: EncodeAudio-windows.zip
Mac OS X: EncodeAudio-macosx.zip
Linux: EncodeAudio-linux.zip
Unzip and run the application. It should prompt you for an audio file to encode. Select the new mp3 file you created with iTunes (you can locate it by right-clicking it within iTunes and selecting “Show in Finder”). The EncodeAudio application will convert it to numeric values and then copy them to the clipboard. It may take a few seconds. A dialog will appear notifying you whether or not the encoding was successful.
-
Ça marche : je viens de le faire ;D
Sur Mac l’application ne marche qu’avec Java6. Apparemment elle n’a pas suivi les versions suivantes de Java.
Si tu as téléchargé Java, tu as la dernière version et ça explique le non fonctionnement.
La vie est compliquée (sauf avec Arduino) ::)
-
Ça marche : je viens de le faire ;D
Ca s'ouvre !!! c'est ce que j'appelle : tomber en marche !!
-
La tu es incompréhensible, avec tes styles barrés !!!
Il n’est pas interdit de se relire en Prévisualisation avant de poster !
Moi aussi ça s’ouvre et je colle tout dans TextEdit et je vois les octets en décimal. Pas toi ?
-
Et ça fonctionne sur le nano avec le HP.
-
Pour le logiciel Encodeaudio sous W10
À savoir que pour moi le programme n'affiche plus rien après avoir sélectionné le fichier WAV.
Les données converties sont stockées dans le presse papier, un simple coller permet de récupérer les données.
A savoir que je ne suis pas sur d'avoir bien compris le problème rencontré.
-
Oui, ça marche aussi pour moi maintenant.
A priori, il n y a plus de clipboard sous W10.
Il faut effectivement faire simplement un "COLLER".
-
Oui, ça marche aussi pour moi maintenant.
A priori, il n y a plus de clipboard sous W10.
Il faut effectivement faire simplement un "copier".
S’il n’y avait pas de clipboard (presse-papiers) alors le copier-coller n’existerait pas !
Donc il existe puisque ça marche : cqfd.
Ce n’est pas un « copier » qu’il faut faire mais un « coller »
(Encore ce manque de relecture qui laisse passer des erreurs, pas sympa pour les autres lecteurs qui pourraient perdre le résultat de l’application en faisant un copier)
-
1) Pour information (Support Microsoft Windows 10) :
"Le Presse-papiers est une application Windows XP qui n’est plus prise en charge et ne peut plus être téléchargée".
En fait, il n'est plus accessible directement à la lecture, mais existe toujours indirectement (faire un "coller") sur Windows 10.
2) Pour que "EncodeAudio" fonctionne, il faut que JAVA soit installé.
-
C'est ce que j'avais écrit !
Revenons à nos moutons, l'Arduino uniquement. Merci !
Je vais nettoyer ce fil de tout ce qui est inutile dans 24H car tu ne tiens pas compte de mes avertissements.
Bon week-end.
-
Je fait ce que je peux, mais ce ton comminatoire me semble bizarre ! ! :!
-
Je fait ce que je peux, mais ce ton comminatoire me semble bizarre ! ! :!
Je fais (f-a-i-s) ce que je peux aussi en tant que modérateur pour garder une certaine tenue dans ce site. Il faut prendre le temps de vérifier les choses (y compris l’orthographe) avant d'écrire quelque chose de faux. L’esprit de partage n’est pas à sens unique et dire que ça ne marche pas avant de chercher un peu n’augure pas la bonne fin de ton projet. Quand on écrit quelque chose sur ce forum, c’est dans l’espoir que ça puisse intéresser d’autres modélistes qui n’ont pas besoin de savoir si W10 a ou pas un clipboard...
Bon je suis désolé pour ce ton, mais j’ai demandé plusieurs fois des choses qui n’ont pas été entendues. Il faut se servir du bouton « Modifier » autant que nécessaire. Maintenant tu l'as fait, j'ai vu, mais pas la peine de le faire remarquer si fortement.
-
Si je peux donner l'avis d'un membre arrivé relativement récemment sur Locoduino, je trouve que le niveau des discussions est très au dessus de ce qu'on trouve ailleurs. Ce serait dommage perdre ce niveau en noyant les sujets intéressants dans des considérations qui ne relèvent ni de locos ni d'Arduino. Et par là de décourager les participants de lire un fil jusqu'au bout et d'apporter leurs connaissances.
Je remercie Dominique pour les efforts qu'il fait et qui, apparemment, ne sont pas toujours bien compris.
-
Ça s'ouvre !!! c'est ce que j'appelle : tomber en marche !!
D’apres Dico-des-mots.com, entres autres, tomber en marche se dit d’un matériel ou d’un logiciel qui fonctionne par hasard. En général, il ne tardera pas à « tomber en panne ».
En général, sur Locoduino, on essaye de faire en sorte que ça marche sans hasard. Donc cette expression est un peu péjorative.
A noter : Xavier Bouillard utilise aussi cette expression sur le site éditorial ???