MTobjets: Exemple 6
Gestion par événements pour UNO, Nano, Mega
Salves sur une sortie
Problème posé
Vu sur un forum:
Je veux sur une sortie avoir des slaves de 1 à 5 impulsions positives, à une fréquence comprise entre 2 et 3 Hz.
Programme complet recommandé
Ce programme se fait complètement sous interruption, et libère loop qui peut être utilisé pour faire autre chose.
// Génération de slaves d'impulsion sur une sortie // De 1 à 5 impulsions à 2/3Hz // Donc durée maximale 2,5s -> répétition entre 3 et 6s #include <MTobjects.h> // V1.0.2 Voir http://arduino.dansetrad.fr/MTobjects MTsoftPWM Slaves(LED_BUILTIN); // Mise en place void setup() { Slaves.stop(); // Arrêt car fonctionne à l'initialisation. Pourrait être fait lors de sa création! } void loop() { // Préparer de 1 à 5 impulsions à 2 à 3 Hz long periode = (300 + random(200))*1000 micro_secondes; // Entre 0,3s et 0,5s Slaves.setPeriod(periode); Slaves.setPulse(periode/2); long nombre_de_niveaux = (1 + random(5)) * 2; // Une impulsion c'est 2 niveaux. Entre 2 et 10 Slaves.setNumberOfLevels(nombre_de_niveaux niveaux_et_arret); // Démarrer la slave Slaves.start(); // Espace entre deux débuts de slaves long attente = 3000 + random(3000) milli_secondes; // Entre 3s et 6s delay(attente); // Les slaves se produiront pendant cette instruction } void loop(){}
Résultat à l'analyseur:
