Bonjour chers amis!
Je suis tout nouveau parmi vous, j'ai récemment fait l'acquisition de 2 arduinos.
ça faisait un bout de temps que l'idée me trottait dans la tête et j'ai fini par céder.
Donc me voilà!
J'ai pas mal bourlingué sur les différents sites à la recherche d'idées, de pistes, et finalement je me tourne vers la communauté qui saura certainement me mettre sur la voie.
J'ai un petit niveau en C, je suis pas un nul accompli, mais pas un foudre de guerre non plus, et certains codes, même commentés, me restent inaccessibles.
Pour la partie intéressante:
J'ai un projet qui consiste à essayer de reproduire un ECU (Engine Unit Control) avec un Arduino Uno.
Je lis partout que ces petites bébètes ne sont pas assez costaudes pour répondre assez vite, et je constate qu'on en atteint assez vite les limites .
Mais je souhaite essayer, ça reste très formateur.
Dans un premier temps, je veux juste essayer de contrôler l'allumage des bougies d'un 4 cylindres, qui en plus de ça ne tourne pas très vite.
Pour ça, j'ai besoin de réaliser plusieurs opérations en quasi simultané:
- compter les états logiques hauts d'un signal externe (sonde effet hall sur couronne de démarreur)
- calculer la fréquence
- effectuer des calculs pour l'allumage
- envoyer une série d'impulsions sur des broches dédiées ou une seule, avec un demuxeur derrière.
Je me pose ce problème parce que je ne peux pas utiliser pulseIn() qui est bloquante, et que j'ai besoin d'une vitesse d'exécution assez élevée, de l'ordre de la centaine de kHz.
Je suis tombé sur par mal d'articles concernant les ordonnanceurs/schedulers.
Ce qui m'a conduit sur la gestion d'interruptions.
Et c'est là où je perds pied, je comprends le concept général, mais pas comment il est mis en place.
Si vous avez d'éventuelles pistes....
Quelques pistes que j'ai déjà trouvées:
Et j'ai paumé les quelques autres que j'avais ^^
Merci à vous de m'avoir lu!