Réalisation permettant d'interfacer une 24LC512 avec un PICAXE 14M2 par bus I2C. (première réalisation qui fonctionne...)
Rien de merveilleux, mais c'est toujours gratifiant quand le but est atteint !



A gauche les lignes d'alimentation + et - 3Vdc pour se repiquer sur la carte principale, les cavaliers rouge pour le numéro d'adressage sur le bus.
En haut le condensateur de protection 100nF et la EEProm 24LC512 montée sur un DIL14 et les deux fils du bus (SDA=marron et SCL=blanc) qui partent vers le Picaxe pin 9 et 10 (B.4 et B.3).
A droite les deux résistances 4.7Kohm obligatoire sur le bus I2c.

version2.png

Le Pcb pour monter les composants :

une 24LC512 (sur un DIL14 de récupération)
deux résistances 4.7Kohm
un condo 100nF
quelques pinoches à souder

et le programme de test :

#PICAXE 14M2
let b0=0
let b1=0

'déclaration Picaxe en mode maître, adresse de la 24lC512, vitesse, mot adressage
hi2csetup I2CMASTER, %10100000, i2cfast, i2cword
 
'écriture de AB à l'emplacement mémoire 0 (b0=0)
hi2cout b0,("AB")                                                     

'pause pour laisser le temps d'écrire, peux être moins

pause 500                                                                

'lecture de l'adresse mémoire 1 dans la variable b1

hi2in 1,(b1)                                                             

'affiche la valeur b1 dans le logiciel b1 doit afficher B ou 66

debug b1                                                                 

pause 5000

end

A noter :

En recopiant bêtement le code des exemples Picaxe j'avais mis,

hi2csetup i2cmaster, %10100000, i2cfast, i2cbyte et cela ne fonctionnait pas...

Après des recherches, j'ai découvert que la 24LC512 est adressée par un i2cword et NON un i2cbyte !

hi2csetup i2cmaster, %10100000, i2cfast, i2cword