tag:blogger.com,1999:blog-7367322099259597000.post1298039455093197531..comments2023-06-27T12:04:42.090+02:00Comments on L'Manchot Décérébré: Arduino Morse Tutor "ZEN & ART of CW"F4EGXhttp://www.blogger.com/profile/03006027184696645776noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-7367322099259597000.post-64007781260069421732016-04-11T19:16:09.454+02:002016-04-11T19:16:09.454+02:00Bjr Nicolas
Merci pour l'article.
Si je peux...Bjr Nicolas<br /><br />Merci pour l'article.<br /><br />Si je peux me permettre, qques petites remarques pour avoir un code plus court, plus efficace et plus structuré :<br /><br />Dans setup() :<br /><br />- Remplacer les pinMode et digitalWrite par une seule instruction pinMode(pin, INPUT_PULLUP)<br /><br />- Supprimer les variables booléennes J1, J2 etc. inutiles et faire :<br /><br />if (digitalRead(pinx))<br /> bitSet(jour, x);<br />else<br /> bitClear(jour, x);<br /><br />Dans printLetter :<br /><br />- Supprimer le tableau LETTERS_CHARACTERS inutile.<br /><br />- De façon générale, on peut supprimer cette fonction qui est alors réduite à Serial.println(x) que l'on peut appeler tel quelle.<br /><br />Dans playLetter :<br /><br />- Sortir le printLetter de tous les case (de A à Z et 0 à 9 et /) pour le mettre après le switch (et le remplacer par Serial.println comme indiqué plus haut.<br /><br />Dans loop :<br /><br />- Replacer tous les if (week == x) && (jour == y) par un switch du genre<br /><br />switch ((6 * week) + jour) {<br /> case (0 + 0) : playLetter(etc. S1J1); break;<br /> case (0 + 1) : playLetter(etc. S1J2); break;<br /> ...<br /> case (6 + 0) : playLetter(etc. S2J1); break;<br /> ...<br />}<br /><br />On pourrait aussi encore bien améliorer en indexant tous les adresses SxJy dans un tableau pour un accès direct.<br /><br />Bonne continuation<br /><br />73<br /><br />Laurent - F6FVYLaurent F6FVYnoreply@blogger.com