Problème de commande tempo sur projet Arpeggiator

Faire photo(s) lisible du cablage actuel
J'ai l'impression qu'il y a du mix de définition et/ou confusion entre pins digitaux (0,1,2,3,4 ...etc) et pins analogiques (A0,A1--->A7)

#define baseNotepin 1
#define baseOctavepin 5
#define octaveShiftpin 0
#define stepspin 4
#define indelaypin 3  <-------- ?3 là pour A3 ?
#define orderpin 7
#define modepin 6
#define syncinpin 3  <---------?3 là encore ?

la fonction analogRead() ne fonctionne que sur les pin Axx donc quand on dit AnalogRead(3) ou AnalogRead(A3) c'est la même chose, La fonction fait la conversion

La lecture seule de la pin est bonne (test fait en #4), il faudrait pouvoir mettre un affichage de debug dans la fonction setupArp()

Photo du cablage actuel

éventuellement il faudrait débrancher la sortie D1 (Tx) de l'arduino qui va vers le 'OUT' pour pouvoir utiliser le port série USB et faire de l'affichage.

est-ce que tout est soudé ?

Tout est soudé
Merci pour les info , je reprendrai les tests demain matin

Bon si vous ne branchez rien dans OUT ça ne devrait pas faire de perturbations (pas sûr)

essayez de modifier le fichier Engine.cpp

ajoutez en première ligne du fichier

#include <Arduino.h>

puis modifiez la fonction setupArp() de cette façon :

void arp::setupArp(short bn, short bo, short os, unsigned short st, unsigned int d, int m, unsigned imode)
{
  baseNote = (notes) map(bn, 0, 800, 0, 11);
  baseOctave = (short) map(bo, 0, 800, 0, 7);
  octaveShift = (short) map(os, 0, 800, 0, 7);
  steps = (unsigned short) map(st, 0, 800, 1, 6);
  indelay = (unsigned int) map(d, 0, 800, 0, 500);
  mode = all_chords[(unsigned int) map(imode, 0, 800, 0, 8)];
  order = (unsigned int) map(m, 0, 800, 0, 4);
  Serial.print(F("indelay = ")); Serial.println(indelay); // <<=== RAJOUTEZ CETTE LIGNE
}

et modifiez aussi la fonction midibegin()

 void arp::midibegin()
 {
   MIDI.begin(4);                      // Launch MIDI
   Serial.begin(115200);   // <<==== ENLEVEZ LES // POUR NE PAS METTRE CELA EN COMMENTAIRE
 }

--> il faut conserver le câble USB branché sur l'Arduino, Ouvrez le moniteur série à 115200 bauds et regardez s'il ya un affichage lorsque vous bougez le potentiomètre

Je pensais plutôt à une vraie photo :roll_eyes:

  • pourquoi utiliser le 3.3V et pas le 5V pour alimenter les 7 potards ?

10K/7 çà fais une résultante de 1.4 kΩ ~

je suppose qu'il a suivi le tuto...
l'auteur d'ailleurs dépend d'une lecture entre 0 et 800 et pas jusqu'à 1023 dans son code
indelay = (unsigned int) map(d, 0, 800, 0, 500);

Bonjour,
Résultat de la modification du fichier Engine.cpp sur ouverture du moniteur série à 115200 bauds
l'affichage passe de 0 à 446 sur incrémentation du potentiomètre de tempo
Par contre dans un premier test effectué précédemment l'affichage était bien de 1 à 800
Le problème est peut-être lié à cette valeur bloquée à 446 au lieu de 800

Bonjour,
Sur la vraie photo on ne distingue pas les connections entre le nano et ses périphériques .
L'auteur du projet à utilisé le 3,3 v pour les potentiomètres comme le dit J-M-L

Bonjour

Non c’est OK que ça n’aille pas jusqu’à 800, le print est à. La fin de la fonction après que l’on ait calibré la valeur entre 0 et 500

Si ça ne fonctionne pas c’est donc un sujet plus profond lié au reste du code qui doit avoir un bug sur cette partie

y a t'il une possibilité de rajouter une led de contrôle du tempo
en rajoutant une ligne dans le programme ?

l'auteur a une version 2 de son code, vous l'avez essayée ?

Je viens de charger et compiler le code de la version 2 , pas testé à cause de cette erreur :

In file included from C:\Users\serge\Documents\Arduino\Arpeggio2\Arpeggio2.ino:6:0:
arpeggio.h:4:10: fatal error: ArduinoSTL.h: No such file or directory

  • #include <ArduinoSTL.h>*

      *^~~~~~~~~~~~~~*
    

compilation terminated.
exit status 1
ArduinoSTL.h: No such file or directory

et je ne trouve pas le fichier ArduinoSTL.h à inclure dans la liste des croquis de l'auteur

je vais essayer malgré cela de téléverser pour tester

il faut installer cette bibliothèque

Je viens d'installer la bibliothèque et j'ai une erreur sur la compilation

Arduino : 1.8.13 (Windows 10), Carte : "Arduino Nano, ATmega328P"

C:\Users\serge\Documents\Arduino\libraries\ArduinoSTL-master\src\del_opnt.cpp:25:56: error: 'nothrow_t' in namespace 'std' does not name a type

_UCXXEXPORT void operator delete(void ptr, const std::nothrow_t& ) throw() {*

  •                                                    ^~~~~~~~~*
    

C:\Users\serge\Documents\Arduino\libraries\ArduinoSTL-master\src\del_ops.cpp:25:50: error: 'std::size_t' has not been declared

_UCXXEXPORT void operator delete(void ptr, std::size_t) throw(){*

  •                                              ^~~~~~*
    

exit status 1

Erreur de compilation pour la carte Arduino Nano

Aucune réponse de l'auteur , je me demande à quoi sert son blog

Comment vous faites pour insérer les fichiers .cpp et .h dans le main , je me trompe peut-être
dans ma démarche
Pouvez-vous me décrire la procédure pour tant de fichiers

Sans titre2

Aucune réponse de l’auteur , je me demande à quoi sert son blog

il l'a peut-être abandonné le projet, sa dernière mise à jour date d'il y a plus d'un an

j'ai essayé de compiler et effectivement la bibliothèque ArduinoSTL n'a pas été maintenue à jour pour les nouvelles versions d'arduino

il faut que vous alliez dans "Outils -> Type de Carte -> Gestionnaire de Cartes" et fassiez un downgrade de la 1.8.3 qui doit être installée vers la version 1.8.2 apparement pour que cela fonctionne

(j'ai lu cela à la fin de Trivial sketch won't compile using Arduino 1.8.13 · Issue #56 · mike-matera/ArduinoSTL · GitHub )

Je viens de compiler avec la version de la carte 1.8.2 et cela fonctionne sans erreur
Demain je charge le programme et je teste

Ok je croise les doigts

Je viens de tester suite au chargement du programme , ça ne fonctionne pas
Sur la carte NANO en validant n'importe qu'elle touche de 1 à 7 la LED réception
s'allume en continu 1 et 0 à l'identique de la led connectée en D13
Toutes les 2 LED N'affichent pas un message MIDI généré par le programme
et contrairement au premier projet , je ne reçoit rien sur mon PSR Yamaha