Merci encore de rendre cette discipline accessible à ceux qui n'ont pas eu cette chance de faire des études dans ce domaine
@olivierj.24353 жыл бұрын
Incroyable qu'une chaîne de cette qualité n'ait pas plus d'abonnés. Merci pour votre travail monsieur Peronnin
@thierryherve98112 жыл бұрын
Vraiment excellent. Très bonne pédagogie.
@user-cz6mk2lk4z8 ай бұрын
Cette vidéo a été (pour moi) particulièrement instructive. Merci M.Peronnin
@marcabentin44382 жыл бұрын
la première fois j'avais pas tout compris cette fois ci c'est beaucoup plus clair preuve que les cours sont profitables merci beaucoup 😀
@Cubdadure3 жыл бұрын
Vous êtes absolument incroyable !! Une vidéo un jour, des commentaires, des échanges et le lendemain une vidéo « corrective » prenant en compte le tout. Je ne peux que dire « bravo, merci et respect »
@EricPeronnin3 жыл бұрын
Je ne peux décemment pas laisser des éléments erronés dans mes vidéos. Les commentaires sont une vraie richesse. Je regrette vraiment que KZbin ne permette pas de mettre à jour une vidéo. Les vidéos taguées éducatives devraient offrir cette possibilité. Merci pour votre message.
@gerardkia65083 жыл бұрын
Je partage complétement. Bravo et merci
@alladiagne22914 ай бұрын
Merci pour ce magnifique travail
@benjamin36822 жыл бұрын
Bonjour, Merci, car la qualité du fond et de la forme sont super.
@ZinzinsIA2 жыл бұрын
super vidéo c'est vraiment de l'or des explications aussi fouillées ! petite astuce pour ceux qui voudraient remplacer rapidement millis par micros on peut faire ctrl+f on tape l'expression qu'on veut remplacer (millis ici) et on indique celle qui doit la remplacer (micros) et y a plus qu'à appuyer sur tout remplacer
@patrickdelpit2289 Жыл бұрын
Vidéos toujours très intéressantes ! La pédagogie est toujours au rendez-vous. Bravo
@ektoplazm65377 ай бұрын
Très intéressant comme exercice pour un débutant. Vous auriez pu parler de la notion de mono-coeur pour expliquer le bannissement de la fonction delay(), et la notion de macro concernant basculeLED. J'aurais aussi voulu voir la combinaison de millis et micro (avec modulos) pour obtenir de la précision sur 49 jours ^^. Dommage, je vais devoir réfléchir !! edit : voir la vidéo +2 suivante qui explique la gestion des overflow de variables.
@talham83312 жыл бұрын
Merci pour l effort el la méthode d explication
@pascaldemarichalar81319 ай бұрын
Bonjour, Bravo pour vos vidéos !
@stephanedezons34883 жыл бұрын
Bonjour et merci pour vos vidéo ! Il est parfois difficile d'obtenir des informations claires sur des concepts de base qui méritent néanmoins d'être bien compris et vous le faites très bien ! Encore merci !
@EricPeronnin3 жыл бұрын
Merci Stéphane. Et si un concept venait à moins bien passer, n'hésitez pas à le signaler.
@navarremicheluc65702 жыл бұрын
Meme avis (que Olivier J)... j aborde en debutant complet Arduino et decouvre par ce biais le langage C. encore merci pour tout le travail en amont ! Pouce, pouce pouce et re-pouce !! ;-)
@alaincplx61243 жыл бұрын
Merci beaucoup pour ces vidéos très pédagogiques
@fabricemotard43123 жыл бұрын
Très bonne vidéo simple et efficace ! Bravo encore 👏👏
@adamaadam80733 жыл бұрын
Vidéo de qualité, comme d'habitude. Hâte de voir les videos montrant comment utiliser les moteurs
@EricPeronnin3 жыл бұрын
Merci. Pour les moteurs, ça viendra mais ce n'est pas pour demain...
@paulragot61553 жыл бұрын
Bonsoir Eric, MERCI pour cette vidéo qui m'a été très profitable. En effet, je suis parti du cahier des charges et j'ai essayé de réaliser ce qui était demandé. J'ai eu une approche algorithmique différente pour arriver au même résultat. J'ai eu particulièrement des difficultés pour gérer l'overflow lorsque le compteur repasse à zéro. Ta solution est plus élégante, plus simple et plus concise que la mienne. Ton code m'a rafraîchi la mémoire sur la bonne utilisation des define : - convention utile, les mots définis sont en majuscules, - et les "define" paramétrés d'instructions sont convertis lors de la première passe du compilateur. disgression amusante : j'avais oublié d'initialiser les ports de sortie (pinMode ... OUTPUT) et bien cela fonctionnait quand même, mais avec une luminosité plus faible. Cordialement
@EricPeronnin3 жыл бұрын
Très intéressante ta dernière remarque. Il y a une explication en plus. Sauras-tu la trouver ? Si d'autres lisent ces échanges, j'attends votre proposition d'explication. Pas très difficile mais il faut regarder le fonctionnement de l'ensemble du bloc entrée/sortie, ce que je n'ai pas encore présenté (figure 14.2 de la datasheet).
@paulragot61553 жыл бұрын
@@EricPeronnin Désolé, pour le buffer de sortie, je n'ai aucune idée sur le sujet. En revanche, dans ta vidéo suivante (pushbutton) j'ai bien compris les tensions sur VIN.
@EricPeronnin3 жыл бұрын
En fait, quand la broche est en entrée, l'activation de la résistance de pullup se fait par une écriture sur la sortie. Donc dans ton programme tu actives et désactives périodiquement la résistance de pullup. Comme elle est assez élevée, la LED s'allume peu lorsque la résistance de pullup est activée.
@jfmahe14073 жыл бұрын
Merci.
@thierryjean87263 жыл бұрын
Bonjour et merci pour la qualité des explications. Personnellement plutôt que "dernierRouge = dernierRouge + DEMI_PERIODE_ROUGE;" j'aurais écrit " dernierRouge = millis();" ce qui aurait ajouter une erreur sur le long terme qu'il n'y a pas avec ta solution !
@technophile013 жыл бұрын
Salut professeur ! J ai vu cette vidéo sur PC la nuit dernière : Magistral ! J ai compris enfin comment utiliser la fonction millis . Vous l avez expliqué mieux que quiconque (à ma connaissance). Je m'abonne à votre chaîne et j attends avec impatience les vidéos suivantes..
@EricPeronnin3 жыл бұрын
Merci. Et celle-ci est une mise à jour de celle de cette nuit que j'ai du supprimer.
@technophile013 жыл бұрын
@@EricPeronnin j ai remarqué ce matin sa suppression et je n ai pas compris. Je reverrai cette deuxième version. Salut !
@momokad76063 жыл бұрын
enfin j ai compris
@bernardrousseau73033 жыл бұрын
Bravo Eric pour la clarté de tes explications qui impliquent pour toi de naviguer entre les écrans de façon surprenante, "chapeau". Une question pourtant, je débute et comment connaitre l'ordre des vidéos qui ne concernent qu'arduino?
@EricPeronnin3 жыл бұрын
Bonjour Bernard et merci pour ton commentaire. Pour l'ordre, le plus simple est de consulter la playliste : kzbin.info/aero/PLuQznwVAhY2V7Uh0aHOgBvaiqRw9VeCis
@bernardrousseau73033 жыл бұрын
Merci de ta réponse, bon courage pour la suite!!
@yveslemoine5724 Жыл бұрын
Bonjour et merci pour cette vidéo très intéressante, serait-il possible d'avoir un exemple similaire mais avec les demi périodes réglables par deux potentiomètres ?
@tohouenoucomlangildas7434 Жыл бұрын
Bonjour Monsieur Merci pour vos tutoriels; cela aide énormément J'ai une petite difficulté que j'aimerai vous soumettre. En effet, j'aimerai faire fonctionner deux LED en utilisant la fonction millis mais je n'y arrive pas. Je veux juste qu'au démarrage, que la première LED reste allumé pendant 5minutes et dès qu'elle s'éteignes, la seconde commence par clionter (20 secondes éteinte et 1 minutes allumé). Je ne suis pas un bon programmeur, mais j'espère trouver de l'aide ici.
@pierreolivier70222 жыл бұрын
BONJOUR es que les commande servo_moteur ne vont pas perturbé la fonction millis() merci pour votre réponse et je me suis abonné et partagé. a bientôt.
@talham83312 жыл бұрын
Est ce qu' il un temps d erreur pour le temps de l interval .ex interval d allumage 150000+/- 30 ms
@ownedbyeasan3 жыл бұрын
Bonjour, avant tout un grand merci pour vos vidéos très pédagogiques et ludiques ! Je n'ai pu m'empêcher de constater que la vidéo n°6 de la playlist "Programmer en C avec Arduino" était classée en privé, est-ce volontaire?
@EricPeronnin3 жыл бұрын
Bonjour. C''était une première version d'une vidéo que j'ai finalement refaite et qui a pris la relève. J'ai supprimé la vidéo de la playliste suite à votre remarque. Merci
@tetar84193 жыл бұрын
Bonjour super la vidéo J’essai de reprendre votre code pour l’utiliser a mes besoin mais je bloque ou alors je me mélange J’ai une led bleu qui va être allumé 1s Quand la led bleu s’éteint Je veux que la led rouge s’allume pendant 3s Quand la led bleu s’éteint la led rouge reviens pendant 1s Etc a l’infini Es que vous pouvez m’éclairer Je viens de découvrir votre chaîne grâce à cette vidéo et franchement je reprend tout votre playlist au top même si s’est vraiment pousser pour un débutant comme moi
@doubytchou42543 жыл бұрын
Bonjour, Merci pour ces vidéos très enrichissantes même quand on connais un peu l'univers Arduino. Avec l'apport "d’écriture magique"!! J'ai une petite question : Quel est l’intérêt d'utiliser une variable "static" dans la boucle plutôt que de la declarer celle-ci en "public" dans ce genre de programme qui ne comporte au final qu'une seule boucle? En vous remerciant Cordialement
@EricPeronnin3 жыл бұрын
Bonjour. L'intérêt est généralement d'éviter l'usage de variables globales (donc public) quand ce n'est pas utile. L'objectif est de prendre les bonnes habitudes de ne pas tout visible partout quand ce n'est pas utile.
@stephanefouret3043 жыл бұрын
Bonjour Eric , toujours de bonnes videos , j'"ai suivi et appliqué ton tuto pas moyen de me servir de #define avec la fonction basculeLED , j'y suis arrivé en faisant une void , on attend la prochaine .Je vais tenter de refaire en definissant une periode haute differente de la periode basse..
@EricPeronnin3 жыл бұрын
Bonsoir. L'utilisation d'un define comme ceci fait parti des possibilité standard en C et C++. Je vous invite à copier coller le code source disponible après la vidéo sur la page geii.eu/index.php?option=com_content&view=article&id=235&Itemid=945 Il n'y a aucune raison pour que cela ne fonctionne pas. L'usage sous la forme d'une fonction est bien sûr possible comme vous l'avez fait. Tenez moi au courant.
@wassinimag10312 жыл бұрын
merci pour la qualité d"enseignement S.V.P j'ai 2 programme 1 pour carte RFID( contrôle accès immeuble autre code pour éclairage immeuble avec 5 buttons poussoir séparément les codes fonctionne bien mais quand j' assemble les 2 code l'un des deux fonctionne et je voudrait que fonctionne en mémé temps pouvait vous m'aider pour çà merci pour
@rayanetournier62602 жыл бұрын
Bonjour, que penser de la solution qui teste millis modulo periode == 0 ? si le reste de la division est nul, on switch l'état de la LED concernée. C'est un plaisir d'avoir pu trouver vos vidéos M. Peronnin!
@EricPeronnin2 жыл бұрын
Bonjour Rayane. Le modulo est un bon moyen si la période est une puissance de 2. Si ce n'est pas le cas, l'arrivée en butée de millis() ou de micros() aboutira au déclenchement du modulo avec une erreur. Comme ce n'est pas si souvent que cela, il y a de nombreux usages où cela fera l'affaire.
@abdoulrazakharo11832 жыл бұрын
Salut Monsieur Eric, merci pour le contenu très enrichissant que vous nous partagez ;j'ai utilisé la fonction millis dans un programme qui n'a pas fonctionné et je voudrais demander votre aide; en fait c'est un programme qui va permettre à deux relais de s'activer au même? moment quand on appui sur un bouton poussoir (on peut utiliser un capteur aussi) avec une temporisation différentes ;donc les deux relais se désactive à des moments différentes;15 seconds pour l'autre et 2 minutes pour le dernier relais ; le résultat que j'obtient est la suivante ;quand j'appuie sur le bouton poussoir les relais 1et 2 se désactive respectivement entre 15seconde et 2 minutes mais au relâchement ils prennent la même durée pour se désactivé ;pourtant je voudrais qu'il se désactive en même temps voici mon programme const byte relais1 = 7; const byte relais2= 8; const unsigned long relais1interval = 15000; const unsigned long relais2interval = 12O000; unsigned long relais1timer; unsigned long relais2timer; int Boutton_poussoir=2; void setup () { pinMode (relais1, OUTPUT); pinMode (relais2, OUTPUT); pinMode(Boutton_poussoir,INPUT_PULLUP); relais1timer = millis (); relais2timer = millis (); } void basculer_relais1() { if (digitalRead (Boutton_poussoir) == LOW) digitalWrite (relais1, HIGH); else digitalWrite(relais1,LOW); relais1timer = millis () } void basculer_relais2 () { if (digitalRead (Boutton_poussoir) == LOW) digitalWrite (relais2, HIGH); else digitalWrite(relais2,LOW); relais2timer = millis (); } void loop () { if ( (millis () - relais1timer) >=relais1interval) chronorelais1 (); if ( (millis () - relais2timer) >= relais2interval) chronorelais2 (); }
@alainbreysse49953 жыл бұрын
Bonjour Eric, Comme d'habitude très bonne vidéo, on attend la suite avec impatience. Pouvez-vous me donner votre avis sur l'analyseur logique "Inno-Maker LA2016". Encore merci pour cette vidéo.
@EricPeronnin3 жыл бұрын
Bonsoir et merci pour le commentaire. Je ne connais pas cet analyseur. Je regarderai...
@AmesisProject2 жыл бұрын
Hello ! tu as oublié de mettre ton lien ici. Je te mets un marqueur si tu souhaite le mettre 09:45. merci pour tes vidéos, je me forme bien la. Je bouffe la série arduino. 👍 Tiens je te fais gagner du temps. Tu as énoncé le static ici kzbin.info/www/bejne/d4GxkIpmYs2Va6M a 16:59
@EricPeronnin2 жыл бұрын
Bonjour. Merci pour ton commentaire. Comme il y a déjà une fiche pour la vidéo sur les variables à 08:52, il n'est pas possible d'en remettre une en 09:32... à 45.
@AmesisProject2 жыл бұрын
@@EricPeronnin ha yess je vois !
@laurelehardy1282 Жыл бұрын
bonjour, super j'ai tout compris mais ce que je n'arrive pas c'est par exemple faire clignoter 3 fois une seconde toutes les 20 secondes. là oui je bloque
@loicbon3 жыл бұрын
Bonjour, je compte me lancer avec Arduino, pour un projet où une action devra se produire plusieurs minutes après avoir appuyé sur un bouton. Pour utiliser la fonction millis() que vous présentez, une carte Arduino uno suffit-elle? Je pose cette question car je vois qu'il existe des cartes horloge additionnelle Je vous remercie par avance pour votre réponse.
@EricPeronnin3 жыл бұрын
Bonjour. Oui la fonction millis est largement suffisante si vous n'avez pas besoin d'une grande précision, ce qui est souvent le cas. Si vous aviez besoin de connaître l'heure réelle à tout instant, il faudrait alors ajouter une des cartes que vous évoquez. Elles ont aussi un autre intérêt, celui d'abaisser la consommation de l'ensemble avec la possibilité de réveiller la carte Arduino au moment opportun en générant une demande d'interruption.
@loicbon3 жыл бұрын
@@EricPeronnin Merci
@PhiphiBelgium3 жыл бұрын
Merci Eric pour cette intéressante vidéo :) J'ai malgré tout quelques questions: - dans le if((millis() - dernierRouge) >=DEMI_PERIODE_ROUGE){ dernierRouge = dernierRouge + DEMI_PERIODE_ROUGE; } Comment pourrait on élégamment, gérer l'overflow du compteur? (nous arrivons tôt ou tard dans la situation ou millis() < dernierRouge ? non?
@EricPeronnin3 жыл бұрын
Bonjour. L'overflow est déjà géré par le principe de codage des entiers non signés. Si vous exécutez ceci : Serial.begin(115200); uint8_t millis = 10; uint8_t dernier = 250; uint8_t diff = millis - dernier; Serial.println(diff); Vous verrez 16 apparaître dans le terminal, ce qui correspond bien à la différence que l'on aurait obtenu sans l'overflow, c'est à dire avec millis = 256+10 = 266 Si maintenant vous voulez calculer la soustraction 10 - 250, il va falloir ajouter un 9è bit (qui n'existe pas sur 8 bits donc) à 10 pour calculer la soustraction et finalement calculer 266 - 250 = 16
@PhiphiBelgium3 жыл бұрын
@@EricPeronnin Merci beaucoup pour l'éclaircissement :)
@miragebleu50553 жыл бұрын
Je pense qu'il faut aussi prendre en consideration les cycles machine des fonctions micro et millis, non?
@alexisdelauzun40153 жыл бұрын
Bonjour Éric, Tout d'abord merci de prendre le temps d'expliquer toutes les subtilités sur vos vidéos. J'ai essayé d'utiliser des millis() pour chronometrer le temps de fonction de mes entrées Arduino. Sous le programme Arduino cela fonctionne. Mais lorsque je copie/colle sur vscode j'ai des erreurs au niveau des fonctions qui utilisent la fonction millis(). Y a t'il une Bibliothèque à rajouter avec vscode ? Ou avez-vous une autre solution pour ce problème ? Merci par avance Bonne fin de week-end à vous ! Cordialement Alexis
@EricPeronnin3 жыл бұрын
Bonsoir Alexis. Difficile de répondre comme ça. Quelle version utilisez-vous pour VS Code ? Utilisez-vous PlatformIO ou l'extension Arduino Microsoft ?
@miguelmeyran22783 жыл бұрын
Excellente vidéo ! Petit détail : vous parlez de téléverser le programme à travers le Wifi après avoir réglé les problèmes de rebonds du bouton poussoir, mais je ne vois rien à propos du téléversement par Wifi. Miguel
@EricPeronnin3 жыл бұрын
Bonjour. C'est présent dans une vidéo sur l'ESP8266 car il faut un composant équipé du WiFi
@micheldelsem70223 жыл бұрын
ETcetera et pas ECcetera!!!
@EricPeronnin3 жыл бұрын
Oui. Ou est le problème ? J'écris etc à chaque fois sur mes diapos de présentation...