En cours Réglage vitesse moteur p.a.p avec minuterie

  • Auteur de la discussion gaston83
  • Date de début
H

Hubert86

Compagnon
Bah tu te complique la vie, sauf si tu veux apprendre a programmer, ce qui ne semble pas le cas, tu fais ça https://www.banggood.com/fr/PWM-Ste...MIg8en5cn-8wIVIQUGAB15mgOnEAQYAyABEgJED_D_BwE ou un modèle approchant plus https://www.amazon.fr/réglable-comm...7D9GWQ/ref=psdc_1854588031_t3_B07P461NBR?th=1 tu rajoute un driver de puissance, pour pas a pas, même pour l' arduino il te le faudra. Bon j'ai mis ces deux adresses mais y a d'autre produits du même type. Pour un même projet, souvent y a plusieurs solutions possibles, la je t'en donne une autre, qui ne nécessite pas beaucoup de connaissance, enfin un peu quand même, mais beaucoup moins que d'apprendre la programmation arduino.
 
S

speedjf37

Compagnon
Bonsoir,

l'ensemble des éléments donnés au #28 est cohérent.

Le menu OK avec la saisie des paramètres
La gestion de l'Eeprom OK

Il reste à définir l'ergonomie !
AFFICHAGE PRINCIPAL:
Rotation ON/OFF boutons Up/Down
Timer en cours (temps restant)
Vitesse (moteur /sortie)

boutons Up/Down Rotation ON/OFF
boutons Left Right vitesse -/+


MENU: testé OK
1)Un appui long sur Select ouvre le menu retour par bouton Left
2) les boutons Up/Down choix du menu
3) bouton Right saisie du menu sélectionné retour par bouton Left


Paramètres Moteur:
Nb de pas /tour
Sens
Vitesse max

Liaison sortie:
Réduction
Multiplication

Affichage Vitesse:
Moteur
Sortie

Timer1:
Heu
Min
Sec
Vitesse (moteur/sortie)

Eeprom:
Sauve
Restore


Cordialement JF
 
S

speedjf37

Compagnon
Bonsoir,

@gaston83
Pas de nouvelles ni de proposition de paramètres ou de menu ?

Le code fonctionne avec AccelStepper !!

Mais comme la lib fonctionne dans la boucle loop si on ajoute de l'affichage cela suspend les steps pendant l'affichage :smt011

edit2:
Fonctionne avec Tone() mais sans accélération !

edit1:
FastAccelStepper est incompatible avec le shield Timer1 sortie 9 et 10


// The ATmega328P has one 16 bit timer: Timer 1
// The ATmega2560 has four 16 bit timers: Timer 1, 3, 4 and 5

#if defined(__AVR_ATmega328P__)
#define FAS_TIMER_MODULE 1
#define stepPinStepper1A 9 /* OC1A */
#define stepPinStepper1B 10 /* OC1B */

Commentaire:
C'est ce qui permet de faire varier la luminosité du Backlight en PWM sur la pin 10

JF
 
Dernière édition:
G

gaston83

Compagnon
Bonjour,

Je vois que c'est pas aussi simple de faire l'affichage et en même temps gérer les steps. Alors, j'ai ces bestioles aussi si on peut faire quelque chose avec .
J'ai un Mega 2560 et un petit Pro micro.

Après, faut pas se prendre la tête. Au pire, je fais un montage avec ça pour le moteur : (encore faut-il que ça convienne)


et j'utilise le Pro micro ou la Duemilanove uniquement pour la minuterie. Je pense que ça s'simplifierai la chose.

Qu'en penses-tu ?
 
Dernière édition:
M

Mcar

Compagnon
Pour mes moteurs pap j'utilise la bibliothèque de CNCServ (un ancien de ce forum qui l'a quitté)
elle est très simple et suffisante pour la majorité des cas, bien plus accessible et facile d'utilisation que AccelStepper
elle est ici :


elle a l'avantage de travailler en tache de fond, donc on lance le mouvement et on s'en occupe plus !
si l'on veut attendre que le mouvement programmé se termine il suffit de faire une boucle while et tester un des drapeaux
  • TargetAtteined qui indique que le position est atteinte
  • SpeedZero qui indique que le moteur est arrêté
egalement, elle gere les acceleration/deceleration comme accelstepper
le Readme n'est pas à jour, la bibliothèque est prévue pour n'importe lequel des Arduino et pour tous les pins au choix
également les drapeaux cités ci dessus n'y sont pas mentionnés mais fonctionnent à merveille.

j'utilise cette bibliothèque pour mon ascenseur pour mes trains voir ici

et elle marche super bien,
si ça peut t'aider :mrgreen: c'est avec plaisir
 
S

speedjf37

Compagnon
Bonjour,

Je vois que c'est pas aussi simple de faire l'affichage et en même temps gérer les steps. Alors, j'ai ces bestioles aussi si on peut faire quelque chose avec .
J'ai un Mega 2560 et un petit Pro micro.

Après, faut pas se prendre la tête. Au pire, je fais un montage avec ça pour le moteur : (encore faut-il que ça convienne)


et j'utilise le Pro micro ou la Duemilanove uniquement pour la minuterie. Je pense que ça s'simplifierai la chose.

Qu'en penses-tu ?

Pro micro pas possible de poser le shield LCDKeypad

Pour mes moteurs pap j'utilise la bibliothèque de CNCServ (un ancien de ce forum qui l'a quitté)
elle est très simple et suffisante pour la majorité des cas, bien plus accessible et facile d'utilisation que AccelStepper

Super idée en voila une que je n'avais pas testé !

Cette Lib est simple et efficace ça fonctionne avec accélération/décélération
Y compris sur les pin 2 et 3 (données comme incompatibles ?) !!

Elle a les inconvénients de ses avantages:
Elle n'utilise pas les sorties matérielles des timers c'est plus lent !
Elle utilise des sorties logicielles c'est plus souple !
Je ne suis pas que l'on puisse utiliser des ports différents si plusieurs Steppers


Conclusion tout fonctionne sur une UNO et fonctionne pareil sur MEGA2560

Cordialement JF
 
M

Mcar

Compagnon
Merci pour CNCServ.
Elle a les inconvénients de ses avantages:
Elle n'utilise pas les sorties matérielles des timers c'est plus lent !
Elle utilise des sorties logicielles c'est plus souple !
Je ne suis pas que l'on puisse utiliser des ports différents si plusieurs Steppers


Conclusion tout fonctionne sur une UNO et fonctionne pareil sur MEGA2560

Cordialement JF
elle est plus lente , c'est relatif,
voilà ce que dit le Readme
  • TStepperIndexer(int8_t pin_Step, int8_t pin_Dir) : constructeur Les pins de sortie pour Step est Dir doivent être comprise entre 8 et 13. On peut déclarer jusqu’à 3 moteurs. La fréquence maximale en Step/s dépend du nombre de moteurs, : o 1 moteur -> 12000 Step/s ; o 2 moteurs -> 6000 Step/s ; o 3 moteurs -> 4000 Step/s
12000 step/s pour un moteur, ça devrait suffire :smt003
je fais tourner mon nema 23 à 350 tr/mm sans souci.
comme j'ai déjà dit, la bibliothèque permet de connecter n'importe lequel des pins sur n'importe lequel des arduino, le readme n'est pas à jour.
CNCServ a produit cette bibliothèque pour mon application d'ascenseur (juin) ou je voulais avoir une accel et deccel en tache de fond.
 
S

speedjf37

Compagnon
Bonsoir,

Le code est dispo ici: (si je ne me suis pas planté !)

Code ->download zip
décompresser le zip dans un dossier menu_shield
(tous les fichiers)

Installer les LIB (lire le README.md sur le github)
LiquidCrystal
MD_UISwitch
EEPROM
StepperIndexer de CNCSERV (telecharger le fichier.zip et installer la LIB zip)
https://github.com/CNCServ/StepperIndexer

ouvrir le menu_shield.ino (Arduino IDE).



A tester joyeusement !

J'attends vos remarques et critiques

Cordialement JF
 
Dernière édition:
G

gaston83

Compagnon
Bonsoir,

J'ai ça comme message.

Arduino : 1.8.13 (Windows 10), Carte : "Arduino Duemilanove or Diecimila, ATmega328P"

In file included from I:\Maxtor\Arduino\Tumbler\ShieldKeypad-main\menu_shield\menu_shield.ino:55:0:

Clavier.h:4:10: fatal error: MD_UISwitch.h: No such file or directory

#include <MD_UISwitch.h>

^~~~~~~~~~~~~~~

compilation terminated.

exit status 1

MD_UISwitch.h: No such file or directory



Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
 
G

gaston83

Compagnon
Pareil avec la mega

Arduino : 1.8.13 (Windows 10), Carte : "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:55:0:

Clavier.h:4:10: fatal error: MD_UISwitch.h: No such file or directory

#include <MD_UISwitch.h>

^~~~~~~~~~~~~~~

compilation terminated.

exit status 1

MD_UISwitch.h: No such file or directory



Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
 
S

speedjf37

Compagnon
Bonsoir,

@gaston83
Il faut installer les LIB !!!

J'ai mis a jour le #39 et le README.MD sur le github

Cordialement JF
 
G

gaston83

Compagnon
Ok, voilà c'est fait...

Résultat: ça ne fonctionne pas. L'appui sur les boutons réagit aléatoirement.
 

Fichiers joints

  • VID_20211109_095043[1].mp4
    10.7 Mo
S

speedjf37

Compagnon
Résultat: ça ne fonctionne pas.
Mais si , il faut récupérer la version mise à jour (le 09//11/2021 à 10h10)
Excuse moi la mise à jour du code n'était pas passée (il y avait tous les bugs d'affichage)

en prime affichage de la version
lcd.setCursor(0,1); lcd.print("Timer + Stepper ");

remplacé par:
lcd.setCursor(0,1); lcd.print("Tim + Step 1.00 ");

L'appui sur les boutons réagit aléatoirement

La gestion des boutons est subtile !

les tempos sont très courtes.

C:\Users\XXXXXX\Documents\Arduino\libraries\MD_UISwitch\src

MD_UISwitch.h

static const uint16_t KEY_PRESS_TIME = 150; ///< Default key press time in milliseconds
static const uint16_t KEY_DPRESS_TIME = 250; ///< Default double press time between presses in milliseconds
static const uint16_t KEY_LONGPRESS_TIME = 600; ///< Default long press detection time in milliseconds
static const uint16_t KEY_REPEAT_TIME = 300; ///< Default time between repeats in in milliseconds
static const uint8_t KEY_ACTIVE_STATE = LOW; ///< Default key is active low - transition high to low detection

Pour que ce soit plus confortable rallonger les tempos comme ceci:
static const uint16_t KEY_PRESS_TIME = 250; ///< Default key press time in milliseconds
static const uint16_t KEY_DPRESS_TIME = 350; ///< Default double press time between presses in milliseconds
static const uint16_t KEY_LONGPRESS_TIME = 700; ///< Default long press detection time in milliseconds
static const uint16_t KEY_REPEAT_TIME = 400; ///< Default time between repeats in in milliseconds


J'ai testé c'est mieux !!


Edit : j'ai du mal avec github !!!
JF
 
Dernière édition:
G

gaston83

Compagnon
Ok, je vais voir ça. Quelle carte as-tu utilisé ?
 
S

speedjf37

Compagnon
Ok, je vais voir ça. Quelle carte as-tu utilisé ?
Uno et MEGA2560

J'ai soudé des connecteurs males sur le shield et je me connecte par dessous avec des cordons dupond femelles

proto_test_shieldmenu.png
 
G

gaston83

Compagnon
Quand ça veut.. .ça veut pas... :smt013



Arduino : 1.8.13 (Windows 10), Carte : "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:18:10: warning: ISO C++ forbids declaration of 'SetupLcd' with no type [-fpermissive]

SetupLcd()

^

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h: In function 'int SetupLcd()':

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:21:33: warning: invalid conversion from 'const byte* {aka const unsigned char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]

lcd.createChar(ARROW, iArrow);

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:3:0:

C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src/LiquidCrystal.h:81:8: note: initializing argument 2 of 'void LiquidCrystal::createChar(uint8_t, uint8_t*)'

void createChar(uint8_t, uint8_t[]);

^~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h: In function 'void set_menu_start()':

Menu.h:97:4: error: 'aff_TimerState' was not declared in this scope

aff_TimerState =-1;

^~~~~~~~~~~~~~

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h: In function 'void set_menu_exit()':

Menu.h:102:4: error: 'TimerState' was not declared in this scope

TimerState = 0 ;

^~~~~~~~~~

Menu.h:103:4: error: 'TimerState_old' was not declared in this scope

TimerState_old = -1;

^~~~~~~~~~~~~~

Menu.h:104:4: error: 'aff_TimerState' was not declared in this scope

aff_TimerState = -1;

^~~~~~~~~~~~~~

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h: In function 'void T_Menu()':

Menu.h:159:15: error: 'TimerState' was not declared in this scope

if ( TimerState < 2)

^~~~~~~~~~

Menu.h:165:11: error: 'TimerState' was not declared in this scope

TimerState = 0;

^~~~~~~~~~

Menu.h:171:11: error: 'VitesseMot' was not declared in this scope

VitesseMot ++;

^~~~~~~~~~

Menu.h:176:16: error: 'VitesseMot' was not declared in this scope

if ( VitesseMot >2)

^~~~~~~~~~

Menu.h:218:54: error: 'memory' was not declared in this scope

case 0: T_SubMenu( 0, TYPE_INT, &memory.d.Timer1_heu, 0, 23 ); break;

^~~~~~

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:218:54: note: suggested alternative: 'memcpy'

case 0: T_SubMenu( 0, TYPE_INT, &memory.d.Timer1_heu, 0, 23 ); break;

^~~~~~

memcpy

Menu.h:232:17: error: 'Mot_1Tr' was not declared in this scope

Mot_1Tr();

^~~~~~~

Menu.h:238:17: error: 'writeConfiguration' was not declared in this scope

writeConfiguration();

^~~~~~~~~~~~~~~~~~

Menu.h:243:17: error: 'readConfiguration' was not declared in this scope

readConfiguration();

^~~~~~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

sketch\Lcd.h: At global scope:

Lcd.h:4:18: error: redefinition of 'LiquidCrystal lcd'

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:4:15: note: 'LiquidCrystal lcd' previously declared here

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

^~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

Lcd.h:5:12: error: redefinition of 'const byte rowsLCD'

const byte rowsLCD = 2; // Nb rows LCD

^~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:5:12: note: 'const byte rowsLCD' previously defined here

const byte rowsLCD = 2; // Nb rows LCD

^~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

Lcd.h:6:12: error: redefinition of 'const byte columnsLCD'

const byte columnsLCD = 16; // Nb colum LCD

^~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:6:12: note: 'const byte columnsLCD' previously defined here

const byte columnsLCD = 16; // Nb colum LCD

^~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

Lcd.h:7:20: error: redefinition of 'const byte iArrow [8]'

const byte iArrow[8] = { B00000, B00100, B00110, B11111, B00110, B00100, B00000, B00000 };

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:7:12: note: 'const byte iArrow [8]' previously defined here

const byte iArrow[8] = { B00000, B00100, B00110, B11111, B00110, B00100, B00000, B00000 };

^~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

Lcd.h:8:12: error: redefinition of 'const byte ARROW'

const byte ARROW = 0;

^~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:8:12: note: 'const byte ARROW' previously defined here

const byte ARROW = 0;

^~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

Lcd.h:12:5: error: redefinition of 'int lcd_key'

int lcd_key = 0;

^~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:13:5: note: 'int lcd_key' previously defined here

int lcd_key = 0;

^~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

Lcd.h:13:5: error: redefinition of 'int adc_key_in'

int adc_key_in = 0;

^~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:14:5: note: 'int adc_key_in' previously defined here

int adc_key_in = 0;

^~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

Lcd.h:14:5: error: redefinition of 'int adc_key_prev'

int adc_key_prev = 0;

^~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:15:5: note: 'int adc_key_prev' previously defined here

int adc_key_prev = 0;

^~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

sketch\Lcd.h:17:10: warning: ISO C++ forbids declaration of 'SetupLcd' with no type [-fpermissive]

SetupLcd()

^

sketch\Lcd.h: In function 'int SetupLcd()':

Lcd.h:17:1: error: redefinition of 'int SetupLcd()'

SetupLcd()

^~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:7:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Lcd.h:18:1: note: 'int SetupLcd()' previously defined here

SetupLcd()

^~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:61:0:

sketch\Lcd.h:20:33: warning: invalid conversion from 'const byte* {aka const unsigned char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]

lcd.createChar(ARROW, iArrow);

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:3:0:

C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src/LiquidCrystal.h:81:8: note: initializing argument 2 of 'void LiquidCrystal::createChar(uint8_t, uint8_t*)'

void createChar(uint8_t, uint8_t[]);

^~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:63:0:

sketch\Clavier.h: At global scope:

Clavier.h:6:15: error: redefinition of 'const uint8_t ANALOG_SWITCH_PIN'

const uint8_t ANALOG_SWITCH_PIN = A0; // switches connected to this pin

^~~~~~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:5:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Clavier.h:9:15: note: 'const uint8_t ANALOG_SWITCH_PIN' previously defined here

const uint8_t ANALOG_SWITCH_PIN = A0; // switches connected to this pin

^~~~~~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:63:0:

Clavier.h:19:39: error: redefinition of 'MD_UISwitch_Analog::uiAnalogKeys_t kt []'

MD_UISwitch_Analog::uiAnalogKeys_t kt[] =

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:5:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Clavier.h:22:36: note: 'MD_UISwitch_Analog::uiAnalogKeys_t kt [5]' previously defined here

MD_UISwitch_Analog::uiAnalogKeys_t kt[] =

^~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:63:0:

Clavier.h:40:22: error: redefinition of 'MD_UISwitch_Analog S'

MD_UISwitch_Analog S(ANALOG_SWITCH_PIN, kt, ARRAY_SIZE(kt));

^~~~~~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:5:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Clavier.h:43:20: note: 'MD_UISwitch_Analog S' previously declared here

MD_UISwitch_Analog S(ANALOG_SWITCH_PIN, kt, ARRAY_SIZE(kt));

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:63:0:

sketch\Clavier.h: In function 'void SetupClavier()':

Clavier.h:42:6: error: redefinition of 'void SetupClavier()'

void SetupClavier(void)

^~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:5:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Clavier.h:45:6: note: 'void SetupClavier()' previously defined here

void SetupClavier(void)

^~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:63:0:

sketch\Clavier.h: In function 'void TestClavier()':

Clavier.h:52:6: error: redefinition of 'void TestClavier()'

void TestClavier(void)

^~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:5:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Clavier.h:55:6: note: 'void TestClavier()' previously defined here

void TestClavier(void)

^~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

sketch\Menu.h: At global scope:

Menu.h:8:6: error: multiple definition of 'enum choix_saisie'

enum choix_saisie

^~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:12:6: note: previous definition here

enum choix_saisie

^~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:17:6: error: multiple definition of 'enum menu_mode'

enum menu_mode

^~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:21:6: note: previous definition here

enum menu_mode

^~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:23:15: error: redefinition of 'long unsigned int tNow'

unsigned long tNow = 0;

^~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:27:15: note: 'long unsigned int tNow' previously defined here

unsigned long tNow = 0;

^~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:24:15: error: redefinition of 'long unsigned int tPrevious'

unsigned long tPrevious = 0;

^~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:28:15: note: 'long unsigned int tPrevious' previously defined here

unsigned long tPrevious = 0;

^~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:26:5: error: redefinition of 'int Menu_Position'

int Menu_Position = 0;

^~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:30:5: note: 'int Menu_Position' previously defined here

int Menu_Position = 0;

^~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:27:5: error: redefinition of 'int Menu_Position_Mem'

int Menu_Position_Mem =-1;

^~~~~~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:31:5: note: 'int Menu_Position_Mem' previously defined here

int Menu_Position_Mem =-1;

^~~~~~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:28:5: error: redefinition of 'int Menu_Rang'

int Menu_Rang = MENU_NO;

^~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:32:5: note: 'int Menu_Rang' previously defined here

int Menu_Rang = MENU_NO;

^~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:29:5: error: redefinition of 'int Menu_Rang_Mem'

int Menu_Rang_Mem =-1;

^~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:33:5: note: 'int Menu_Rang_Mem' previously defined here

int Menu_Rang_Mem =-1;

^~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:30:5: error: redefinition of 'int INC'

int INC = 0;

^~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:34:5: note: 'int INC' previously defined here

int INC = 0;

^~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:47:12: error: redefinition of 'const byte iMENU'

const byte iMENU = 15;

^~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:51:12: note: 'const byte iMENU' previously defined here

const byte iMENU = 15;

^~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:48:20: error: redefinition of 'const char* txMENU []'

const char *txMENU[] = {// Maximo columnsLCD - 1 caracteres

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:52:13: note: 'const char* txMENU [16]' previously defined here

const char *txMENU[] = {// Maximo columnsLCD - 1 caracteres

^~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:69:13: error: redefinition of 'const byte iMENU1'

const byte iMENU1 = 2;

^~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:73:13: note: 'const byte iMENU1' previously defined here

const byte iMENU1 = 2;

^~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:70:22: error: redefinition of 'const char* txSMENU1 []'

const char *txSMENU1[] = {

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:74:13: note: 'const char* txSMENU1 [2]' previously defined here

const char *txSMENU1[] = {

^~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

sketch\Menu.h: In function 'void set_menu_start()':

Menu.h:87:6: error: redefinition of 'void set_menu_start()'

void set_menu_start()

^~~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:91:6: note: 'void set_menu_start()' previously defined here

void set_menu_start()

^~~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

sketch\Menu.h: In function 'void set_menu_exit()':

Menu.h:95:6: error: redefinition of 'void set_menu_exit()'

void set_menu_exit()

^~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:99:6: note: 'void set_menu_exit()' previously defined here

void set_menu_exit()

^~~~~~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

sketch\Menu.h: At global scope:

Menu.h:109:27: error: redefinition of 'MD_UISwitch::keyResult_t k'

MD_UISwitch::keyResult_t k;

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:113:27: note: 'MD_UISwitch::keyResult_t k' previously declared here

MD_UISwitch::keyResult_t k;

^

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

Menu.h:110:6: error: redefinition of 'int btn'

int btn;

^~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:114:6: note: 'int btn' previously declared here

int btn;

^~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

sketch\Menu.h: In function 'void T_Menu()':

Menu.h:113:6: error: redefinition of 'void T_Menu()'

void T_Menu(void)

^~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:117:6: note: 'void T_Menu()' previously defined here

void T_Menu(void)

^~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:64:0:

sketch\Menu.h: In function 'void T_SubMenu(byte, byte, int*, int, int)':

Menu.h:310:6: error: redefinition of 'void T_SubMenu(byte, byte, int*, int, int)'

void T_SubMenu( byte nameID, byte typeMenu, int *value, int minValue, int maxValue )

^~~~~~~~~

In file included from I:\Maxtor\Arduino\menu_shield\menu_shield.ino:8:0:

C:\Users\papa\Documents\Arduino\libraries\ShieldKeypad-main/Menu.h:314:6: note: 'void T_SubMenu(byte, byte, int*, int, int)' previously defined here

void T_SubMenu( byte nameID, byte typeMenu, int *value, int minValue, int maxValue )

^~~~~~~~~

exit status 1

'aff_TimerState' was not declared in this scope



Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
 
G

gaston83

Compagnon
Bon, j'ai viré tous les fichiers et réinstallés... maintenant j'ai ça...

Capture_2.JPG
 
S

speedjf37

Compagnon
Il faut tous les fichiers et toutes les lib installées
 
G

gaston83

Compagnon
Y a du mieux... mais les touches ne répondent pas

 
G

gaston83

Compagnon
je viens de regarder le code clavier.h (LIB MD_UISwitch) , les valeurs analogiques sont différentes du shield d'origine. (l'image que tu m'as envoyé). Est-ce normal ?
 
P

pascalp

Compagnon
regarde #44 , JF explique une modification des constantes dans MD_UISwitch.h
 
G

gaston83

Compagnon
J'ai testé sur Duemilanove, impec, ça fonctionne nickel si j'appui j'ai les valeurs qui s'affichent et sur la Mega, j'ai Value qui fluctue 320,321,322 ...
 
G

gaston83

Compagnon
Sur le test du dessus, pourquoi l'affichage 1023 revient tout seul ? Vla autre chose ....:???:
 
S

speedjf37

Compagnon
C'est la valeur qui correspond au 5V
Tension sans touche appuyée
 
G

gaston83

Compagnon
Ok, donc c'est normal... j'appui sur LEFT y a 502 puis ça revient à 1023.

Mais le le menu_shield toujours pas...
 
S

speedjf37

Compagnon
Bonsoir Gaston,

Effectivement 502 ça ne correspond à aucune touche avec mes paramètres !

Voici ce que je constate avec l'exemple MD_UISwitch_Test_Analog_Keys et MON shield :mrgreen:

UNO MEGA2560
1023 1023 aucune touche
638 639 Select
408 409 Left
254 253 Down
99 99 Up
0 0 Right

Ce qui est tout a fait adapté par le code suivant dans clavier.h

Valeur moyenne , marge +- , code touche

MD_UISwitch_Analog::uiAnalogKeys_t kt[] =
{
{ 10, 10, btnRIGHT }, // Right
{ 100, 15, btnUP }, // Up
{ 255, 15, btnDOWN }, // Down
{ 410, 15, btnLEFT }, // Left
{ 640, 15, btnSELECT }, // Select
};

Donc une fois que tu as échantillonné tes boutons avec ton shield , tu peux adapter le code

Courage le fonctionnel est proche !!!!

JF
 

Sujets similaires

V
Réponses
3
Affichages
1 148
vibram
V
G
Réponses
0
Affichages
640
gaston83
G
Moi33
Réponses
3
Affichages
48 008
speedjf37
S
F
Réponses
6
Affichages
25 720
fraiddy
F
zygo4619
Réponses
34
Affichages
35 505
zygo4619
zygo4619
V
Réponses
62
Affichages
5 464
vibram
V
M
Réponses
65
Affichages
11 760
M
U
Réponses
85
Affichages
7 344
Hubert86
H
shodan47
Réponses
7
Affichages
9 760
shodan47
shodan47
M1M1HRC10
Réponses
7
Affichages
38 066
M1M1HRC10
M1M1HRC10
M
Réponses
30
Affichages
25 989
wika58
wika58
F
Réponses
14
Affichages
3 070
franckapik
F
G
Réponses
65
Affichages
9 414
rokag3
R
Haut