| | Décodeur accessoire DCC/analogique universel | |
| | |
Auteur | Message |
---|
sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 7:35 | |
| Ok je vais essayer de voir ça. Comme quoi le code c'est encore largement du chinois pour moi. |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 7:46 | |
| Ca viendra avec l'habitude... Et puis quand ça déconne, il faut commencer par vérifier les fondamentaux, pour éviter les pertes de temps, genre 'Est ce que la prise est branchée, le PC allumé, l'écran allumé ?'... Pour L'arduino, c'est 'Est ce que le Setup a été lancé, est ce qu'il a tenu compte de mes dernières modifs ?'. Et l'instrument essentiel est la console série, qu'il faut apprendre à manipuler, et ne pas hésiter à ajouter des messages d'info pour comprendre où passe le programme... Ce qui me rassure dans ton cas, c'est l'affichage de caractères quand tu envoie un signal Dcc. La console affiche un message à chaque réception d'ordre Dcc, donc c'est qu'a priori l'Arduino reçoit bien les ordres... |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 11:12 | |
| Cool j'ai le message en clair: - Code:
-
Setup started. Pin 2178 error in DriverPortServoArduino::Setup Pin 4226 error in DriverPortServoArduino::Setup Pin 8322 error in DriverPortServoArduino::Setup Pin 16514 error in DriverPortServoArduino::Setup Pin 4133 error in DriverPortServoArduino::Setup
Universal Accessories Decoder V 3.0. Developped by Thierry Paris.
Setup Finished. Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() AccessoryServo MovePosition() Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 1 Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 2 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 3 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 4 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 5 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 6 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 7 Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 8 Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 9 Pin 2178 error in DriverPortServoArduino::MovePosition DriverPortServoArduino 2178 MovePosition() for 20ms to angle 10
Donc l'adresse 26 à l'écran de ma multimaus à bien l'air d'être reçue comme l'adresse 22. Par contre quand j'ouvre le sketch il y a plein d'onglet qui s'ouvrent aussi. Mais je n'arrive pas à les faire défiler à droite afin d'aller lire le programme dans DriverPortServoArduino. Quand j'ouvre la liste à droite c'est pareil je ne peux pas défiler vers le bas ! |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 11:26 | |
| quand je change l'état de mon aiguille sur ma multimaus je vois autant de message d'erreur que de degré pour passer de 10 à 160 toutes les 20ms.
|
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 12:11 | |
| Oui, pour affiner le problème, le mieux est de repartir sur une version plus correcte. Je te suggère de récupérer la prochaine version. Entre autres améliorations, il y a l'affichage correct du numéro de pin dans les messages de debug. Je pense que c'est essentiel pour savoir de quoi on parle... Je tenterai ce soir de compiler ton source en branchant mon unique servo pour essayer de comprendre ce qui se passe... Surtout avant de décompresser, n'oublie pas de sauver ton fichier UniversalAccessoryDecoder.ino, et de le remettre après. Enfin, en analysant un peu plus finement les erreurs, il me semble que c'est la déclaration des ports qui a un souci, dixit les messages entre 'setup started' et 'setup finished'... Peux tu reposter le code complet ici ? |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 13:13 | |
| Alors avec la nouvelle version de tes fichiers je n'ai plus l'air d'avoir d'erreur. Mais le servo ne bouge pas encore; lol Donc mon code complet: - Code:
-
/************************************************************* project: <DCC Accessory Decoder> author: <sam95> description: <Demo for 5 servos drived by dcc arduino> *************************************************************/
#include "UniversalAccessoryDecoder.h"
#ifndef NO_L293D #include <AFMotor.h> #endif #ifndef NO_DCC #include <DCC_Decoder.h> #endif #ifndef NO_SERVO #include <Servo.h> #endif
#define kDCC_INTERRUPT 0
/////////////////////////////////////////////////////////////// // The target is to move 5 servos, by DCC adress // Tu as bien deviné, c'est le nombre d'accessoires. Puisque tu as cinq servos à piloter...
#define AccessoryNumber 5
// Ici, ce sont juste des pense-bêtes. Je te conseille même de changer SERVO1 en SERVO_AVANT_GAUCHE // ou SERVO_ENTREE_GARE, enfin selon ton usage, ce sera beaucoup plus clair pour te relire.
#define SERVO1 0 #define SERVO2 1 #define SERVO3 2 #define SERVO4 3 #define SERVO5 4
// Accessories
Accessories accessories;
// Drivers
// Effectivement, tu n'utilises pas de shield, mais tu a quand même besoin de Driver. // Dans ton cas, c'est l'Arduino lui même qui fait le boulot, donc on prend un DriverServoArduino. DriverServoArduino *arduino;
#ifndef NO_DCC void AccessoryDecoderPacket_Handler(int address, boolean activate, byte data); #endif
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // Setup // void setup() { // Arduino setup #ifdef DEBUG_MODE Serial.begin(115200); Serial.println(F("Setup started.")); #endif
// Drivers setups
// On crée le driver, l'Arduino, avec 5 ports (les pins de sortie) // Comme on va avoir un driver avec cinq port, et que chaque port pilote un servo, on va se servir // des pense-bêtes créés plus haut pour le même usage. Le port 0 correspond au servo 0, cad à SERVO1, // le port 1 correspond au servo 1, cad à SERVO2, etc...
arduino = new DriverServoArduino(5); arduino->Setup(); arduino->SetupPort(SERVO1, DP6); // on affecte DP6 (la pin 6) au port 0. arduino->SetupPort(SERVO2, DP7); arduino->SetupPort(SERVO3, DP8); arduino->SetupPort(SERVO4, DP9); arduino->SetupPort(SERVO5, DP10);
// Accessories setups
accessories.Setup(AccessoryNumber);
// On déclare les servos un par un, et on donne à chacun un id Dcc. AccessoryServo *servo1 = new AccessoryServo(22, 20); // <-- id DCC , délai entre deux mouvements d'un degré accessories.Add(servo1); //SERVO1 AccessoryServo *servo2 = new AccessoryServo(23, 20); accessories.Add(servo2); //SERVO2 AccessoryServo *servo3 = new AccessoryServo(24, 20); accessories.Add(servo3); //SERVO3 AccessoryServo *servo4 = new AccessoryServo(25, 20); accessories.Add(servo4); //SERVO4 AccessoryServo *servo5 = new AccessoryServo(26, 20); accessories.Add(servo5); //SERVO5
// On associe chaque servo avec le port correspondant de l'Arduino, en donnant les angles mini/maxi pour chacun. SERVO(accessories, SERVO1)->Setup(arduino, SERVO1, 10, 160); SERVO(accessories, SERVO2)->Setup(arduino, SERVO2, 10, 160); SERVO(accessories, SERVO3)->Setup(arduino, SERVO3, 10, 160); SERVO(accessories, SERVO4)->Setup(arduino, SERVO4, 10, 160); SERVO(accessories, SERVO5)->Setup(arduino, SERVO5, 10, 160); #ifndef NO_DCC // DCC Decoder setup DCC.SetBasicAccessoryDecoderPacketHandler(AccessoryDecoderPacket_Handler, true); /* kDCC_INTERRUPT values : Board int.0 int.1 int.2 int.3 int.4 int.5 Uno, Ethernet 2 3 Mega2560 2 3 21 20 19 18 Leonardo 3 2 0 1 7 */ DCC.SetupDecoder(0x00, 0x00, kDCC_INTERRUPT); #endif
#ifdef DEBUG_MODE Serial.println(F("Setup Finished.")); #endif }
void loop() { #ifndef NO_DCC DCC.loop(); #endif
accessories.Loop(); }
#ifndef NO_DCC ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // Basic accessory packet handler // void AccessoryDecoderPacket_Handler(int address, boolean activate, byte data) { address = DCC_Decoder::GetAddress(address, data); boolean enable = DCC_Decoder::IsEnabled(data);
#ifdef DEBUG_MODE Serial.print(F("Basic addr: ")); Serial.print(address); Serial.print(F(" activate: ")); Serial.println(enable, DEC); #endif
accessories.DCCToggle(address, enable); } #endif Mon entrée dcc sur l'arduino est en pin 2. Mon servo est cablé comme ceci: fil jaune en pin 6, fil marron à la masse, fil rouge 5v L'adresse appelée est la 22. J'ai testé adresse 23 et pin 7 c'est pareil. - Code:
-
Setup started.
Universal Accessories Decoder V3.1 . Developped by Thierry Paris.
Setup Finished. Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() AccessoryServo MovePosition() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 1 Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 2 Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 3 DriverPortServoArduino 6 MovePosition() for 20ms to angle 4 Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 5 Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 6 Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 7 Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 8 DriverPortServoArduino 6 MovePosition() for 20ms to angle 9 DriverPortServoArduino 6 MovePosition() for 20ms to angle 10 DriverPortServoArduino 6 MovePosition() for 20ms to angle 11 DriverPortServoArduino 6 MovePosition() for 20ms to angle 12 DriverPortServoArduino 6 MovePosition() for 20ms to angle 13 DriverPortServoArduino 6 MovePosition() for 20ms to angle 14 DriverPortServoArduino 6 MovePosition() for 20ms to angle 15 DriverPortServoArduino 6 MovePosition() for 20ms to angle 16 DriverPortServoArduino 6 MovePosition() for 20ms to angle 17 DriverPortServoArduino 6 MovePosition() for 20ms to angle 18 DriverPortServoArduino 6 MovePosition() for 20ms to angle 19 DriverPortServoArduino 6 MovePosition() for 20ms to angle 20 DriverPortServoArduino 6 MovePosition() for 20ms to angle 21 DriverPortServoArduino 6 MovePosition() for 20ms to angle 22 DriverPortServoArduino 6 MovePosition() for 20ms to angle 23 DriverPortServoArduino 6 MovePosition() for 20ms to angle 24 DriverPortServoArduino 6 MovePosition() for 20ms to angle 25 DriverPortServoArduino 6 MovePosition() for 20ms to angle 26 DriverPortServoArduino 6 MovePosition() for 20ms to angle 27 DriverPortServoArduino 6 MovePosition() for 20ms to angle 28 DriverPortServoArduino 6 MovePosition() for 20ms to angle 29 DriverPortServoArduino 6 MovePosition() for 20ms to angle 30 DriverPortServoArduino 6 MovePosition() for 20ms to angle 31 DriverPortServoArduino 6 MovePosition() for 20ms to angle 32 DriverPortServoArduino 6 MovePosition() for 20ms to angle 33 DriverPortServoArduino 6 MovePosition() for 20ms to angle 34 DriverPortServoArduino 6 MovePosition() for 20ms to angle 35 DriverPortServoArduino 6 MovePosition() for 20ms to angle 36 DriverPortServoArduino 6 MovePosition() for 20ms to angle 37 DriverPortServoArduino 6 MovePosition() for 20ms to angle 38 DriverPortServoArduino 6 MovePosition() for 20ms to angle 39 DriverPortServoArduino 6 MovePosition() for 20ms to angle 40 DriverPortServoArduino 6 MovePosition() for 20ms to angle 41 DriverPortServoArduino 6 MovePosition() for 20ms to angle 42 DriverPortServoArduino 6 MovePosition() for 20ms to angle 43 DriverPortServoArduino 6 MovePosition() for 20ms to angle 44 DriverPortServoArduino 6 MovePosition() for 20ms to angle 45 DriverPortServoArduino 6 MovePosition() for 20ms to angle 46 DriverPortServoArduino 6 MovePosition() for 20ms to angle 47 DriverPortServoArduino 6 MovePosition() for 20ms to angle 48 DriverPortServoArduino 6 MovePosition() for 20ms to angle 49 DriverPortServoArduino 6 MovePosition() for 20ms to angle 50 DriverPortServoArduino 6 MovePosition() for 20ms to angle 51 DriverPortServoArduino 6 MovePosition() for 20ms to angle 52 DriverPortServoArduino 6 MovePosition() for 20ms to angle 53 DriverPortServoArduino 6 MovePosition() for 20ms to angle 54 DriverPortServoArduino 6 MovePosition() for 20ms to angle 55 DriverPortServoArduino 6 MovePosition() for 20ms to angle 56 DriverPortServoArduino 6 MovePosition() for 20ms to angle 57 DriverPortServoArduino 6 MovePosition() for 20ms to angle 58 DriverPortServoArduino 6 MovePosition() for 20ms to angle 59 DriverPortServoArduino 6 MovePosition() for 20ms to angle 60 DriverPortServoArduino 6 MovePosition() for 20ms to angle 61 DriverPortServoArduino 6 MovePosition() for 20ms to angle 62 DriverPortServoArduino 6 MovePosition() for 20ms to angle 63 DriverPortServoArduino 6 MovePosition() for 20ms to angle 64 DriverPortServoArduino 6 MovePosition() for 20ms to angle 65 DriverPortServoArduino 6 MovePosition() for 20ms to angle 66 DriverPortServoArduino 6 MovePosition() for 20ms to angle 67 DriverPortServoArduino 6 MovePosition() for 20ms to angle 68 DriverPortServoArduino 6 MovePosition() for 20ms to angle 69 DriverPortServoArduino 6 MovePosition() for 20ms to angle 70 DriverPortServoArduino 6 MovePosition() for 20ms to angle 71 DriverPortServoArduino 6 MovePosition() for 20ms to angle 72 DriverPortServoArduino 6 MovePosition() for 20ms to angle 73 DriverPortServoArduino 6 MovePosition() for 20ms to angle 74 DriverPortServoArduino 6 MovePosition() for 20ms to angle 75 DriverPortServoArduino 6 MovePosition() for 20ms to angle 76 DriverPortServoArduino 6 MovePosition() for 20ms to angle 77 DriverPortServoArduino 6 MovePosition() for 20ms to angle 78 DriverPortServoArduino 6 MovePosition() for 20ms to angle 79 DriverPortServoArduino 6 MovePosition() for 20ms to angle 80 DriverPortServoArduino 6 MovePosition() for 20ms to angle 81 DriverPortServoArduino 6 MovePosition() for 20ms to angle 82 DriverPortServoArduino 6 MovePosition() for 20ms to angle 83 DriverPortServoArduino 6 MovePosition() for 20ms to angle 84 DriverPortServoArduino 6 MovePosition() for 20ms to angle 85 DriverPortServoArduino 6 MovePosition() for 20ms to angle 86 DriverPortServoArduino 6 MovePosition() for 20ms to angle 87 DriverPortServoArduino 6 MovePosition() for 20ms to angle 88 DriverPortServoArduino 6 MovePosition() for 20ms to angle 89 DriverPortServoArduino 6 MovePosition() for 20ms to angle 90 DriverPortServoArduino 6 MovePosition() for 20ms to angle 91 DriverPortServoArduino 6 MovePosition() for 20ms to angle 92 DriverPortServoArduino 6 MovePosition() for 20ms to angle 93 DriverPortServoArduino 6 MovePosition() for 20ms to angle 94 DriverPortServoArduino 6 MovePosition() for 20ms to angle 95 DriverPortServoArduino 6 MovePosition() for 20ms to angle 96 DriverPortServoArduino 6 MovePosition() for 20ms to angle 97 DriverPortServoArduino 6 MovePosition() for 20ms to angle 98 DriverPortServoArduino 6 MovePosition() for 20ms to angle 99 DriverPortServoArduino 6 MovePosition() for 20ms to angle 100 DriverPortServoArduino 6 MovePosition() for 20ms to angle 101 DriverPortServoArduino 6 MovePosition() for 20ms to angle 102 DriverPortServoArduino 6 MovePosition() for 20ms to angle 103 DriverPortServoArduino 6 MovePosition() for 20ms to angle 104 DriverPortServoArduino 6 MovePosition() for 20ms to angle 105 DriverPortServoArduino 6 MovePosition() for 20ms to angle 106 DriverPortServoArduino 6 MovePosition() for 20ms to angle 107 DriverPortServoArduino 6 MovePosition() for 20ms to angle 108 DriverPortServoArduino 6 MovePosition() for 20ms to angle 109 DriverPortServoArduino 6 MovePosition() for 20ms to angle 110 DriverPortServoArduino 6 MovePosition() for 20ms to angle 111 DriverPortServoArduino 6 MovePosition() for 20ms to angle 112 DriverPortServoArduino 6 MovePosition() for 20ms to angle 113 DriverPortServoArduino 6 MovePosition() for 20ms to angle 114 DriverPortServoArduino 6 MovePosition() for 20ms to angle 115 DriverPortServoArduino 6 MovePosition() for 20ms to angle 116 DriverPortServoArduino 6 MovePosition() for 20ms to angle 117 DriverPortServoArduino 6 MovePosition() for 20ms to angle 118 DriverPortServoArduino 6 MovePosition() for 20ms to angle 119 DriverPortServoArduino 6 MovePosition() for 20ms to angle 120 DriverPortServoArduino 6 MovePosition() for 20ms to angle 121 DriverPortServoArduino 6 MovePosition() for 20ms to angle 122 DriverPortServoArduino 6 MovePosition() for 20ms to angle 123 DriverPortServoArduino 6 MovePosition() for 20ms to angle 124 DriverPortServoArduino 6 MovePosition() for 20ms to angle 125 DriverPortServoArduino 6 MovePosition() for 20ms to angle 126 DriverPortServoArduino 6 MovePosition() for 20ms to angle 127 DriverPortServoArduino 6 MovePosition() for 20ms to angle 128 DriverPortServoArduino 6 MovePosition() for 20ms to angle 129 DriverPortServoArduino 6 MovePosition() for 20ms to angle 130 DriverPortServoArduino 6 MovePosition() for 20ms to angle 131 DriverPortServoArduino 6 MovePosition() for 20ms to angle 132 DriverPortServoArduino 6 MovePosition() for 20ms to angle 133 DriverPortServoArduino 6 MovePosition() for 20ms to angle 134 DriverPortServoArduino 6 MovePosition() for 20ms to angle 135 DriverPortServoArduino 6 MovePosition() for 20ms to angle 136 DriverPortServoArduino 6 MovePosition() for 20ms to angle 137 DriverPortServoArduino 6 MovePosition() for 20ms to angle 138 DriverPortServoArduino 6 MovePosition() for 20ms to angle 139 DriverPortServoArduino 6 MovePosition() for 20ms to angle 140 DriverPortServoArduino 6 MovePosition() for 20ms to angle 141 DriverPortServoArduino 6 MovePosition() for 20ms to angle 142 DriverPortServoArduino 6 MovePosition() for 20ms to angle 143 DriverPortServoArduino 6 MovePosition() for 20ms to angle 144 DriverPortServoArduino 6 MovePosition() for 20ms to angle 145 DriverPortServoArduino 6 MovePosition() for 20ms to angle 146 DriverPortServoArduino 6 MovePosition() for 20ms to angle 147 DriverPortServoArduino 6 MovePosition() for 20ms to angle 148 DriverPortServoArduino 6 MovePosition() for 20ms to angle 149 DriverPortServoArduino 6 MovePosition() for 20ms to angle 150 DriverPortServoArduino 6 MovePosition() for 20ms to angle 151 DriverPortServoArduino 6 MovePosition() for 20ms to angle 152 DriverPortServoArduino 6 MovePosition() for 20ms to angle 153 DriverPortServoArduino 6 MovePosition() for 20ms to angle 154 DriverPortServoArduino 6 MovePosition() for 20ms to angle 155 DriverPortServoArduino 6 MovePosition() for 20ms to angle 156 DriverPortServoArduino 6 MovePosition() for 20ms to angle 157 DriverPortServoArduino 6 MovePosition() for 20ms to angle 158 DriverPortServoArduino 6 MovePosition() for 20ms to angle 159 DriverPortServoArduino 6 MovePosition() for 20ms to angle 160 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() AccessoryServo MovePosition() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 159 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 158 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 157 DriverPortServoArduino 6 MovePosition() for 20ms to angle 156 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 155 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 154 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 153 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 6 MovePosition() for 20ms to angle 152 DriverPortServoArduino 6 MovePosition() for 20ms to angle 151 DriverPortServoArduino 6 MovePosition() for 20ms to angle 150 DriverPortServoArduino 6 MovePosition() for 20ms to angle 149 DriverPortServoArduino 6 MovePosition() for 20ms to angle 148 DriverPortServoArduino 6 MovePosition() for 20ms to angle 147 DriverPortServoArduino 6 MovePosition() for 20ms to angle 146 DriverPortServoArduino 6 MovePosition() for 20ms to angle 145 DriverPortServoArduino 6 MovePosition() for 20ms to angle 144 DriverPortServoArduino 6 MovePosition() for 20ms to angle 143 DriverPortServoArduino 6 MovePosition() for 20ms to angle 142 DriverPortServoArduino 6 MovePosition() for 20ms to angle 141 DriverPortServoArduino 6 MovePosition() for 20ms to angle 140 DriverPortServoArduino 6 MovePosition() for 20ms to angle 139 DriverPortServoArduino 6 MovePosition() for 20ms to angle 138 DriverPortServoArduino 6 MovePosition() for 20ms to angle 137 DriverPortServoArduino 6 MovePosition() for 20ms to angle 136 DriverPortServoArduino 6 MovePosition() for 20ms to angle 135 DriverPortServoArduino 6 MovePosition() for 20ms to angle 134 DriverPortServoArduino 6 MovePosition() for 20ms to angle 133 DriverPortServoArduino 6 MovePosition() for 20ms to angle 132 DriverPortServoArduino 6 MovePosition() for 20ms to angle 131 DriverPortServoArduino 6 MovePosition() for 20ms to angle 130 DriverPortServoArduino 6 MovePosition() for 20ms to angle 129 DriverPortServoArduino 6 MovePosition() for 20ms to angle 128 DriverPortServoArduino 6 MovePosition() for 20ms to angle 127 DriverPortServoArduino 6 MovePosition() for 20ms to angle 126 DriverPortServoArduino 6 MovePosition() for 20ms to angle 125 DriverPortServoArduino 6 MovePosition() for 20ms to angle 124 DriverPortServoArduino 6 MovePosition() for 20ms to angle 123 DriverPortServoArduino 6 MovePosition() for 20ms to angle 122 DriverPortServoArduino 6 MovePosition() for 20ms to angle 121 DriverPortServoArduino 6 MovePosition() for 20ms to angle 120 DriverPortServoArduino 6 MovePosition() for 20ms to angle 119 DriverPortServoArduino 6 MovePosition() for 20ms to angle 118 DriverPortServoArduino 6 MovePosition() for 20ms to angle 117 DriverPortServoArduino 6 MovePosition() for 20ms to angle 116 DriverPortServoArduino 6 MovePosition() for 20ms to angle 115 DriverPortServoArduino 6 MovePosition() for 20ms to angle 114 DriverPortServoArduino 6 MovePosition() for 20ms to angle 113 DriverPortServoArduino 6 MovePosition() for 20ms to angle 112 DriverPortServoArduino 6 MovePosition() for 20ms to angle 111 DriverPortServoArduino 6 MovePosition() for 20ms to angle 110 DriverPortServoArduino 6 MovePosition() for 20ms to angle 109 DriverPortServoArduino 6 MovePosition() for 20ms to angle 108 DriverPortServoArduino 6 MovePosition() for 20ms to angle 107 DriverPortServoArduino 6 MovePosition() for 20ms to angle 106 DriverPortServoArduino 6 MovePosition() for 20ms to angle 105 DriverPortServoArduino 6 MovePosition() for 20ms to angle 104 DriverPortServoArduino 6 MovePosition() for 20ms to angle 103 DriverPortServoArduino 6 MovePosition() for 20ms to angle 102 DriverPortServoArduino 6 MovePosition() for 20ms to angle 101 DriverPortServoArduino 6 MovePosition() for 20ms to angle 100 DriverPortServoArduino 6 MovePosition() for 20ms to angle 99 DriverPortServoArduino 6 MovePosition() for 20ms to angle 98 DriverPortServoArduino 6 MovePosition() for 20ms to angle 97 DriverPortServoArduino 6 MovePosition() for 20ms to angle 96 DriverPortServoArduino 6 MovePosition() for 20ms to angle 95 DriverPortServoArduino 6 MovePosition() for 20ms to angle 94 DriverPortServoArduino 6 MovePosition() for 20ms to angle 93 DriverPortServoArduino 6 MovePosition() for 20ms to angle 92 DriverPortServoArduino 6 MovePosition() for 20ms to angle 91 DriverPortServoArduino 6 MovePosition() for 20ms to angle 90 DriverPortServoArduino 6 MovePosition() for 20ms to angle 89 DriverPortServoArduino 6 MovePosition() for 20ms to angle 88 DriverPortServoArduino 6 MovePosition() for 20ms to angle 87 DriverPortServoArduino 6 MovePosition() for 20ms to angle 86 DriverPortServoArduino 6 MovePosition() for 20ms to angle 85 DriverPortServoArduino 6 MovePosition() for 20ms to angle 84 DriverPortServoArduino 6 MovePosition() for 20ms to angle 83 DriverPortServoArduino 6 MovePosition() for 20ms to angle 82 DriverPortServoArduino 6 MovePosition() for 20ms to angle 81 DriverPortServoArduino 6 MovePosition() for 20ms to angle 80 DriverPortServoArduino 6 MovePosition() for 20ms to angle 79 DriverPortServoArduino 6 MovePosition() for 20ms to angle 78 DriverPortServoArduino 6 MovePosition() for 20ms to angle 77 DriverPortServoArduino 6 MovePosition() for 20ms to angle 76 DriverPortServoArduino 6 MovePosition() for 20ms to angle 75 DriverPortServoArduino 6 MovePosition() for 20ms to angle 74 DriverPortServoArduino 6 MovePosition() for 20ms to angle 73 DriverPortServoArduino 6 MovePosition() for 20ms to angle 72 DriverPortServoArduino 6 MovePosition() for 20ms to angle 71 DriverPortServoArduino 6 MovePosition() for 20ms to angle 70 DriverPortServoArduino 6 MovePosition() for 20ms to angle 69 DriverPortServoArduino 6 MovePosition() for 20ms to angle 68 DriverPortServoArduino 6 MovePosition() for 20ms to angle 67 DriverPortServoArduino 6 MovePosition() for 20ms to angle 66 DriverPortServoArduino 6 MovePosition() for 20ms to angle 65 DriverPortServoArduino 6 MovePosition() for 20ms to angle 64 DriverPortServoArduino 6 MovePosition() for 20ms to angle 63 DriverPortServoArduino 6 MovePosition() for 20ms to angle 62 DriverPortServoArduino 6 MovePosition() for 20ms to angle 61 DriverPortServoArduino 6 MovePosition() for 20ms to angle 60 DriverPortServoArduino 6 MovePosition() for 20ms to angle 59 DriverPortServoArduino 6 MovePosition() for 20ms to angle 58 DriverPortServoArduino 6 MovePosition() for 20ms to angle 57 DriverPortServoArduino 6 MovePosition() for 20ms to angle 56 DriverPortServoArduino 6 MovePosition() for 20ms to angle 55 DriverPortServoArduino 6 MovePosition() for 20ms to angle 54 DriverPortServoArduino 6 MovePosition() for 20ms to angle 53 DriverPortServoArduino 6 MovePosition() for 20ms to angle 52 DriverPortServoArduino 6 MovePosition() for 20ms to angle 51 DriverPortServoArduino 6 MovePosition() for 20ms to angle 50 DriverPortServoArduino 6 MovePosition() for 20ms to angle 49 DriverPortServoArduino 6 MovePosition() for 20ms to angle 48 DriverPortServoArduino 6 MovePosition() for 20ms to angle 47 DriverPortServoArduino 6 MovePosition() for 20ms to angle 46 DriverPortServoArduino 6 MovePosition() for 20ms to angle 45 DriverPortServoArduino 6 MovePosition() for 20ms to angle 44 DriverPortServoArduino 6 MovePosition() for 20ms to angle 43 DriverPortServoArduino 6 MovePosition() for 20ms to angle 42 DriverPortServoArduino 6 MovePosition() for 20ms to angle 41 DriverPortServoArduino 6 MovePosition() for 20ms to angle 40 DriverPortServoArduino 6 MovePosition() for 20ms to angle 39 DriverPortServoArduino 6 MovePosition() for 20ms to angle 38 DriverPortServoArduino 6 MovePosition() for 20ms to angle 37 DriverPortServoArduino 6 MovePosition() for 20ms to angle 36 DriverPortServoArduino 6 MovePosition() for 20ms to angle 35 DriverPortServoArduino 6 MovePosition() for 20ms to angle 34 DriverPortServoArduino 6 MovePosition() for 20ms to angle 33 DriverPortServoArduino 6 MovePosition() for 20ms to angle 32 DriverPortServoArduino 6 MovePosition() for 20ms to angle 31 DriverPortServoArduino 6 MovePosition() for 20ms to angle 30 DriverPortServoArduino 6 MovePosition() for 20ms to angle 29 DriverPortServoArduino 6 MovePosition() for 20ms to angle 28 DriverPortServoArduino 6 MovePosition() for 20ms to angle 27 DriverPortServoArduino 6 MovePosition() for 20ms to angle 26 DriverPortServoArduino 6 MovePosition() for 20ms to angle 25 DriverPortServoArduino 6 MovePosition() for 20ms to angle 24 DriverPortServoArduino 6 MovePosition() for 20ms to angle 23 DriverPortServoArduino 6 MovePosition() for 20ms to angle 22 DriverPortServoArduino 6 MovePosition() for 20ms to angle 21 DriverPortServoArduino 6 MovePosition() for 20ms to angle 20 DriverPortServoArduino 6 MovePosition() for 20ms to angle 19 DriverPortServoArduino 6 MovePosition() for 20ms to angle 18 DriverPortServoArduino 6 MovePosition() for 20ms to angle 17 DriverPortServoArduino 6 MovePosition() for 20ms to angle 16 DriverPortServoArduino 6 MovePosition() for 20ms to angle 15 DriverPortServoArduino 6 MovePosition() for 20ms to angle 14 DriverPortServoArduino 6 MovePosition() for 20ms to angle 13 DriverPortServoArduino 6 MovePosition() for 20ms to angle 12 DriverPortServoArduino 6 MovePosition() for 20ms to angle 11 DriverPortServoArduino 6 MovePosition() for 20ms to angle 10 Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() AccessoryServo MovePosition() DriverPortServoArduino 7 MovePosition() for 20ms to angle 1 Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 7 MovePosition() for 20ms to angle 2 Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 7 MovePosition() for 20ms to angle 3 Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 7 MovePosition() for 20ms to angle 4 DriverPortServoArduino 7 MovePosition() for 20ms to angle 5 DriverPortServoArduino 7 MovePosition() for 20ms to angle 6 Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 7 MovePosition() for 20ms to angle 7 Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() DriverPortServoArduino 7 MovePosition() for 20ms to angle 8 DriverPortServoArduino 7 MovePosition() for 20ms to angle 9 DriverPortServoArduino 7 MovePosition() for 20ms to angle 10 Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum() Basic addr: 23 activate: 1 Accessory 1 activated 1 AccessoryServo MoveMinimum()
|
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 13:24 | |
| |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 14:49 | |
| On dirait que le signal Dcc arrive plein de fois avec la même commande : série de 'enable' à 0, puis plus tard, série de 'enable' à 1. En gros, enable correspond à la position demandée sur l'accessoire par le contrôleur DCC : aiguillage dévié ou tout droit, ou lumière allumée ou éteinte.... Il me semblait avoir ajouté du code pour éviter de refaire ce qui est déjà fait, mais peut être que ça ne marche plus... Et je vais avoir du mal à tester parce que de mon côté je n'ai toujours pas résolu mes problèmes de décodage Dcc qui ne marche pas. Je soupçonne à présent ma centrale de ne pas envoyer les paquets si elle ne trouve pas de récepteur sur la voie. Et comme je teste en étant déconnecté de la voie... |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 14:56 | |
| Pour simplifier le test, mets 0 dans le temps à passer pour chaque degré. - Code:
-
AccessoryServo *servo1 = new AccessoryServo(22, 0); // <-- id DCC , délai entre deux mouvements d'un degré Ainsi le servo fera tout son mouvement tout de suite et le plus rapidement possible... |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 15:27 | |
| Ca ne change rien le servo n'esquisse même pas un soubre saut. Mais effectivement le enable arrive plein plein de fois. - Code:
-
Setup started.
Universal Accessories Decoder V3.1 . Developped by Thierry Paris.
Setup Finished. Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() AccessoryServo MovePosition() DriverPortServoArduino 6 MovePosition() for 0ms to angle 10 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() AccessoryServo MovePosition() DriverPortServoArduino 6 MovePosition() for 0ms to angle 160 Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 0 Accessory 0 activated 0 AccessoryServo MoveMaximum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() AccessoryServo MovePosition() DriverPortServoArduino 6 MovePosition() for 0ms to angle 10 Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum() Basic addr: 22 activate: 1 Accessory 0 activated 1 AccessoryServo MoveMinimum()
|
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 19:03 | |
| Bon, après vérification, ma MS2 Trix n'envoie plus rien à mes locos... J'ai du faire une fausse manip en faisant mes essais et faire griller le booster au passage. En attendant dimanche de pouvoir en trouver un nouveau à Gennevilliers, j'ai pu corriger le problème. Tu trouveras la bonne version ici. Le fichier .ino est le tien, je n'y ai rien touché, j'ai juste ajouté un bouton pour pouvoir tester, mais c'est sans effet pour toi. Mon servo a bien bougé ! |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 21:09 | |
| Qu'as tu changer que j'essais de commencer à comprendre.
Je testerais cela demain, et j'espère te voir dimanche à Gennevilliers. |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 21:16 | |
| Ben j'ai ajouté une déclaration de bouton: - Code:
-
PushButton button; puis son initialisation sur la pin 40 dans le setup. - Code:
-
button.Setup(DP40); avant le loop, je déclare une variable qui va me servir à alterner le enabled : un appui sur le bouton enabled à true, un autre appui enabled à false. - Code:
-
bool enabled = false; Enfin dans le loop, si le bouton est préssé, je mets enabled dans son état opposé, puis je fais comme si un code Dcc 22 avait été envoyé: - Code:
-
if (button.Loop()) { enabled = !enabled; accessories.DCCToggle(22, enabled); } Et je serais ravi de te revoir... |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 21:20 | |
| Donc le fait d'ajouter un bouton en plus, aurais permis de résoudre les envois d'ordre incessant ? |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 12 Sep 2014 - 22:20 | |
| Ha non, pardon, je croyais que tu parlais de ton source. Non, c'est juste que au moment de l'initialisation du servo, j'employais un pin sous le forme DPn°, alors qu'à cette librairie il faut lui donner du numéro de pin classique, entre 1 et 54. Si tu veux voir le code source c'est dans DriverPortServoArduino.cpp, dans le Serup, la ligne servo.attach(this->pin) qui a été changée en servo.attach(GPIO_to_Arduino_pin(this->pin)) |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Sam 13 Sep 2014 - 16:57 | |
| alléluia ça fonctionne !! MERCI TRUSTY
Dernière édition par sam95 le Sam 13 Sep 2014 - 17:22, édité 2 fois |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Sam 13 Sep 2014 - 16:59 | |
| ha ben de rien |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Sam 13 Sep 2014 - 17:22 | |
| Par contre mon servo "gronde" quand il est arrivé en position. Du coup j'ai regardé sur le net et à priori en utilisant un transistor piloter par une pin, on peut couper l'alim du servo quand on n'envois pas d'ordre. http://www.modsbyus.com/how-to-properly-detachturn-off-a-servo-with-arduino/Je vais voir pour commander des transistor et essayer ce montage afin de ne pas avoir le grzzzzzz permanent. |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Lun 15 Sep 2014 - 7:42 | |
| Mon petit servo, que j'avais eu avec le kit de démarrage Arduino au tout début de mes pérégrinations n'est sans doute pas de la meilleure qualité. Pourtant, s'il bouge faiblement alors qu'on ne lui demande rien, genre sursauts nerveux , je n'ai pas ce phénomène de grondement. Je l'ai eu au début, lorsque je n'avais pas compris qu'il était arrivé en bout de course et que je continuais à lui demander de bouger... J'ai donc deux réflexions à ce sujet. Un, tu devrais moduler les angles de début et fin de mouvement. - Code:
-
SERVO(accessories, SERVO1)->Setup(arduino, SERVO1, 10, 160); C'est le 10 et le 160 ici. Normalement un servo bouge de 0 à 180°, mais il faut le vérifier avec les données constructeur. Au fil de mes essais, j'ai réduit l'amplitude pour éviter le grondement. Ces valeurs ne sont peut être pas adaptées à tes servos... Seconde réflexion, le servo est alimenté par la broche 5v de l'Arduino. Si on connectait cette alimentation sur une pin plutôt que sur le 5v ? On pourrait contrôler la tension de la pin et ainsi alimenter ou non le servo. Pas besoin de transistor ! Les spécialistes de l'Arduino peuvent-ils me dire si je fais fausse route ? J'ai peur de deux choses : la consommation de l'Arduino, mais je me dis que c'est déjà lui qui alimente le servo. Que ça passe par une pin plutôt que par la broche 5v ne change pas grand chose. Et la réaction du servo lorsque l'on coupe/rétablit l'alimentation, est-ce qu'il n'y aurait pas de mouvements intempestifs ? |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Lun 15 Sep 2014 - 18:27 | |
| Suite aux essais effectués avec sam95, et avec quelques corrections et améliorations, voici la nouvelle version 3.1. Voici les évolutions: - Supression des incohérences sur les numéros de pin. Tout est maintenant pilotable grâce à DPn° . - Ajout de la fonction GPIO_to_Arduino_pin pour transformer un numéro de pin DP en numéro arduino. - Supression de la classe inutile AccessoryLightDriver, remplacée par AccessoryLight. - Sur DriverPortArduino, gestion des broches analogiques pour le PWM. - Ajout du fading (extinction/allumage progressifs) sur les lumières, façon vieille ampoule. - Correction de NO_MOTOR qui exclut maintenant automatiquement MOTORONEWAY et MOTORTWOWAYS. - Les defines NO_* provoquait des erreurs de compilation ! Un projet sourceforge a été créé pour l'occasion pour faire connaître ce projet. |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 19 Sep 2014 - 10:25 | |
| Salut,
Alors je viens de faire un test en montant le servo sous l'aiguille. J'ai programmé un débattement de 45 à 60° ce qui est suffisant vue mon montage pour faire déplacer l'aiguille. Par contre le servo grogne toujours.
Autre point embêtant, si je coupe l'arduino, le servo reste comme il est, mais à la mise sous tension suivante, le servo se met dans une position qui n'est pas comprise dans les angles et de ce fait c'est le mécanisme qui déguste. Ceci jusqu'a l'envois du premier ordre ou le servo fait alors un cycle pour se placer à 45 puis à manoeuvrer comme demandé.
A priori à la mise sous tension du servo celui ci se positionne de lui même à 90°. J'ai donc décalé le programme entre 90 et 105° de débattement. Par contre quand on allume le servo il se met tout seul à 90°, au premier ordre envoyé par la centrale il va à 0° puit revient se positionner soit à 90 soit à 105 selon ce qui est demandé droit ou dévié. Ensuite le fonctionnement est correcte.
Il faudrait réussir à supprimer ce premier mouvement de 90 à 0 car ca risque de tout bousiller. |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 19 Sep 2014 - 13:18 | |
| Salut Je vais tenter ce soir d'ajouter un mouvement pendant le setup du servo à la valeur mini, en espérant qu'il n'ira pas chercher plus loin et ira directement où je lui demande... Tu pourrais le faire toi-même pour voir si ça améliore les choses. Ajoutes dans le setup - Code:
-
SERVO(accessories, SERVO1)->MoveMinimum(); ou maximum, c''est toi qui voit après chaque ligne - Code:
-
SERVO(accessories, SERVO1)->Setup(arduino, L293D_PORT_SERVO1, 10, 160); Ca devrait donner: - Code:
-
SERVO(accessories, SERVO1)->Setup(arduino, SERVO1, 10, 160); SERVO(accessories, SERVO1)->MoveMinimum(); SERVO(accessories, SERVO2)->Setup(arduino, SERVO2, 10, 160); SERVO(accessories, SERVO2)->MoveMinimum(); SERVO(accessories, SERVO3)->Setup(arduino, SERVO3, 10, 160); SERVO(accessories, SERVO3)->MoveMinimum(); SERVO(accessories, SERVO4)->Setup(arduino, SERVO4, 10, 160); SERVO(accessories, SERVO4)->MoveMinimum(); SERVO(accessories, SERVO5)->Setup(arduino, SERVO5, 10, 160); SERVO(accessories, SERVO5)->MoveMinimum(); Si ça marche, je ferais la modif pour la prochaine version. |
| | | Invité Invité
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 19 Sep 2014 - 15:19 | |
| - Trusty a écrit:
- Normalement un servo bouge de 0 à 180°
A part les servos de train d'atterissage, les servos "standard", c'est -60°/+60° |
| | | Trusty Membre
Age : 61 Localisation : Melun Nombre de messages : 942 Date d'inscription : 08/10/2012
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 19 Sep 2014 - 16:11 | |
| Je cherche de l'info sur les servos en général depuis un moment, et je n'ai pas encore vu de servo -+60°, mais je ne doute pas que tu ais raison ! |
| | | sam95 Membre
Age : 43 Localisation : Ermont, 95 Nombre de messages : 1396 Date d'inscription : 29/11/2009
| Sujet: Re: Décodeur accessoire DCC/analogique universel Ven 19 Sep 2014 - 16:58 | |
| Je suis au boulot et ne pourrait pas tester cela ce soir. |
| | | Contenu sponsorisé
| Sujet: Re: Décodeur accessoire DCC/analogique universel | |
| |
| | | | Décodeur accessoire DCC/analogique universel | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |