Enregistrer dans l'EEPROM les positions de quatre servo avec 2 bouton poussoir

Bonjour a tout le monde !

Je suis bloqué dans mon projet qui consiste en un bras robot animé par quatre servomoteurs ( un base , avant bras , bras et main ) .

J'aimerais y ajouter deux boutons poussoirs , l'un pour Enregistrer dans l'EEPROM la position des quatre servo , et l'autre pour lire et appliquer la valeur aux servo.

Les servo sont dirigés par des potentiomètres 10k.

Donc mes questions sont comment enregistrer les valeurs dans l'EEPROM ? Prendre les valeurs des potentiomètres ou celles des servo ? comment affecter mes poussoirs a la lecture ou l'écriture de l'EEPROM ?

Je suis totalement débutant.

Merci d'avance pour votre aide

L'Eeprom interne n'est pas destinée à être utilisée comme un organe de stockage pour des données qui évoluent souvent.
Elle ne supporte qu'un nombre limité de cycles d'écriture. Sa destination est plutôt de conserver des valeurs de configuration.

Voir mise en garde dans la datasheet du micro-controleur.

Non ces valeurs seraient une sorte de position pré enregistrée , par exemple une position repli. Que je pourrais changer en cas de nécessité.

Voilà le début de mon code

_4_potards_4_servo_enregistrement_positions_2_poussoirs.ino (2.39 KB)

Donc ton problème est en fait le suivant :

Tu veux écrire des int dans ton EEPROM. Les int occupent 2 octets et les emplacements de l'EEPROM sont des octets.

Par conséquent il te faut 2 emplacements pour chaque int.

Tes int sont val1, val2, val3 et val4.

Mettons val1 aux emplacements 0 et 1, val2 aux emplacement 2 et 3, val3 aux emplacement 4 et 5 et val4 aux emplacement 6 et 7

Dans chaque paire d'emplacement on va mettre le poids fort puis le poids faible de chaque int.

EEPROM.write(0, (val1 >> 8) & 0x00FF);
EEPROM.write(1, val1 & 0x00FF);

Idem pour les autres val et les autres paires d'emplacements.