Suite à une discussion sur un forum j'ai effectué une petite recherche dans le stock de bidouilles et j'ai retrouvé une maquette de phare, à base de PIC, laissée à l'abandon. La demande concerne la réalisation d'un "flasher" pour feu stop de moto, c'est à dire un montage qui commande le feu stop suivant une séquence choisie quand la commande de frein est actionnée.
Dans le cas présent :
4 flashs de 100 ms "ON" 40 ms "OFF" puis 4 flashs de 320 ms "ON" 80 ms "OFF" puis "ON" permanent.

La maquette comporte :

  • un régulateur 5V
  • un microcontrôleur 12F683
  • un Mosfet P de puissance

La partie matériel semble convenir pour réaliser le "flasher" reste donc la programmation à réaliser. Le programme d'origine simulait un phare avec comme période 12 s et 3 éclats rapprochés, une modification s'impose.
Ecrit à l'origine en assembleur il sera réécrit en C avec XC8.
Après quelques évolutions le programme réalise :

  • la lecture en mémoire eeprom du numéro de la séquence choisie
  • l'exécution de la séquence
  • l'incrémentation et sauvegarde en mémoire eeprom du numéro de séquence si appui sur le bouton poussoir.


L'organigramme du programme :

flow_flash.png

Les différentes séquences sont :

tableau_choix_flash.pdf

La nomenclature, le schéma, le fichier source et le fichier hex sont dans le fichier zip en annexe.
Le schéma est crée avec "Kicad", le fichier source avec MPLABX et XC8.