Enregistrer dans la progmem depuis sa carte

Bon, le sujet n'est pas simple.

Je tente avec une ou deux Arduino de faire une commande numérique basique pour mon tour à métaux.

l'idée est de mettre en mémoire les profils de tournage qui sont codés assez simplement (petit tableau à à deux dimensions) et de récupérer ces valeurs après avoir éteint puis rallumé l'arduino.

Evidement, on va me lancer sur une carte SD mais vu la taille des tableau, ce serait prendre un camion de déménagement pour livrer une boite d'allumette, aussi, je cherche une solution sans carte, si c'est possible.

Tous les tuto parlent de mettre des constantes en progmem mais pas d'y écrire depuis l'arduino.

Avez vous déjà essayé de genre de truc ?

Bonjour,

PROGMEM c'est la mémoire flash, mais tu ne peux pas écrire dans la mémoire flash.
Pour mémoriser des infos il faut utiliser le mémoire eeprom. Regardes la librairie EEPROM.

Si tu veux de la mémoire embarquée, utilise des modules ESP8266 ou ESP32 : certains montent à 16Mo et utilisent un file system appelé SPIFFS qui simule une carte mémoire.

De plus, ils sont plus rapides qu’un Arduino standard, ce qui peut être intéressant pour ton tour.

Kamil, Lesept,
Après avoir vu du coté de l'EEPROM, je me rabat sur une carte micro SD. Le gain principal sera d'enregistrer mes variables (le profil codé) depuis un ordi (éditeur de texte bien basique) , sans être obligé de la faire à la molette (bouton-codeur), option que je développerai s'il reste de la place pour le programme.
J'ai juste un peu peur de saturer en mémoire avec toute les bibliothèques et tout mes composants :
Arduino 1 (maitre)
3 Moteurs pas à pas,
4 capteurs de fin de course
1 liaison I2C vers le bloc "écran"
1 lecteur micro SD
1 bouton STOP ALARM
et beaucoup de calcul pour faire varier le X, le Y et la vitesse
Arduino "ecran" (esclave)
1 écran 320 X 480 couleur
1 bouton codeur (navigation)
1 bouton push "Valider"
1 liaison I2C
et beaucoup de ligne pour faire afficher les menus, le dessin des profils, etc.
Déjà, coté écran, l'arduino est pleine à 50% env. juste pour afficher le dessin du profil !
Le projet est assez lourd mais par très technique d'un point de vue programmation. Enfin, n'étant pas trop fort en prog, je "bricole" , certains que d'autres arriveraient à bien optimiser mon code.

En tout cas, ces réponses m'ont bien aidé à visualiser mon problème.

Merci à vous.

Le code se trouve dans la mémoire flash. Pour un Uno tu as 32 ko de flash, 256 pour une carte Mega2560.

Les cartes NodeMCU équipées de ESP8266 peuvent monter à 4 Mo de flash (voir comparatif ici), et elles peuvent probablement accueillir tous tes périphériques (à toi de compter les pins nécessaires).

En plus elles te donnent le Wifi pour le même prix, qui te permet de faire une mise à jour de ton code "over the air" et pourront communiquer entre elles sans fil (plus besoin d'I2C).

Parlant de prix, on trouve chez Ali des cartes NodeMCU à 2-3€. Celui-ci annonce 32 Mb de flash

L'ESP32 apporte le Bluetooth en plus, certains sont déjà équipés d'un écran TFT (couleur 1.14 pouces) :

Très intéressant...
Cependant, ayant compté mes broches, une seul carte ne saurait suffire : j'arrive à 36 broches mais des registres à décalage vont m'aider à alléger la note.

Par ailleurs, mon écran (Aliexress ah que c'est pas cher) n'est pas 100% compatible avec la bibliothèque AdaFruit (un gros mystère). Je ne prendraid pas le risque avec une nouvelle carte tant j'ai galéré à le faire tourner à ma convenance.

Enfin, étant aussi enseignant en collège, je préfère pour l'instant rester sur arduino qui est assez courrant dans bien des établissement. Même si je rage de devoir coder avec Scratch et certains inspecteur interdisent le code en C++/Arduino.

Mais je garde cette option au cas ou le poids des calculs serait un frein.

Merci.

Zelione:
Enfin, étant aussi enseignant en collège,(...) Même si je rage de devoir coder avec Scratch et certains inspecteur interdisent le code en C++/Arduino.

:o :o :o :o et ben, on a vraiment un problème en France... Bientôt on va interdire d'utiliser les lettres pour écrire, et il faudra uniquement utiliser des générateurs de phrases standard, aussi ?

Oui, mais avec des phrases standard compréhensibles et homologuées par les inspecteurs…

Vous confondez France et Brazil...