Vamos por parte:
1 - Sim, testei o código, mas não entendi a variável PosicaoQuantidadePulsos. No caso um número maior que 1 milhão será armazenado em apenas uma posição da memória?
2 - Também li o comentário da linha.
3 - a parte que você mencionou "const" eu não compreendi pelo fato dos pulsos ocuparem várias casas.
4 - Eu havia feito a divisão para dividir o número em partes e poder guardá - lo desfragmentado e não sobrescrever a memória. E o código eu havia feito antes de ver seu comentário. Mas farei um novo teste baseado no seu exemplo.
5 - E em relação a EEPROM.get ( ) e EEPROM.put ( ), vamos supor que eu desligue o aparelho e religue, como eu iria imprimir no visor o valor armazenado usando essas funções?
Tipo com EEPROM.write e EEPROM.read para eu imprimir o valor na memória eu faço assim:
lcd.setCursor (0,0);
lcd.print (EEPROM.read (x));
onde x pode ser qualquer posição da memória.
6 - E eu não preciso usar EEPROM.update pois eu só escrevo na memória o valor acumulado de pulsos quando desliga o aparelho.
7 - Não funciona 100% pelo fato de contar até 12 mil e zera.
8 - Eu esperava somar na memória mais de 2 milhões.
9 - se diferem quado chega na casa de 12 mil e zera tudo e começa a recontar.
10 - E por fim a variável "a" é minha variável que conta mais que 2 milhões de pulsos e "b" é o valor que eu uso na minha divisão para obter números menores.