Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Minimir09

Pages: 1 [2] 3 4
16
Trucs & astuces / Re : Allumer et éteindre des LEDs
« le: octobre 02, 2020, 06:30:00 pm »
"Can Arduino analog pins be used as PWM?
The Arduino does not have a digital-to-analog converter (DAC) built-in, but it can do pulse-width modulation (PWM) a digital signal used to achieve some of an analog output's functions. The function analogWrite(pin, value) is used to output a PWM signal."
========================================
The function analogWrite(pin, value) is used to output a PWM signal." Est-ce que ça veut dire qu'on utiliser les broches 4 à 13 en tant que PWM ?

17
Trucs & astuces / Re : Re : Allumer et éteindre des LEDs
« le: octobre 02, 2020, 04:55:53 pm »
Citation de: Minimir09
https://www.locoduino.org/spip.php?article47


J'ai 10 LEDs , et sur la UNO, il n'y a pas assez de broches PWM.
Quelle serai la solution ? Existe-t-il une possibilité de passer les broches 4 à 13 en PWM au moyen du code ?

18
Trucs & astuces / Re : Allumer et éteindre des LEDs
« le: octobre 02, 2020, 03:22:23 pm »
Merci à vous tous ! surtout pour la confusion qu'il peut y avoir sur certain terme, j'en prends bonne note !

19
Trucs & astuces / Allumer et éteindre des LEDs
« le: octobre 02, 2020, 02:46:44 pm »
Bonjour à toutes et tous,

dans un petit bout de code de type chenillard, je trouve un peu "sec" l'allumage et l'extinction des LEDs.
Peur-on intervenir sur la puissance de l'éclairage dans le code, comme si on agissait avec un rhéostat !
Cordialement, Minimir09  ;)
int timer = 100 ;
int intPin0 ;
int intPin1 ;
int intPin2 ;

void setup() {
  for (intPin0 = 4; intPin0 <= 13; intPin0++) {
    pinMode(intPin0, OUTPUT) ;
  }
}
void loop() {
  for (intPin0 = 4; intPin0 <= 13; intPin0++) {
    digitalWrite(intPin0, HIGH) ;  // allumage LED n°1
    delay(timer) ;
    digitalWrite(intPin1, LOW) ;   // extinction LED n° 2
    delay(timer) ;
    intPin1 = intPin0 + 1 ;        // sélection LED n°2
    digitalWrite(intPin1, HIGH) ;  // allumage LED n°2
    delay(timer) ;
    intPin2 = intPin0 + 2 ;        // sélection LED n°3
    digitalWrite(intPin2, HIGH) ;  // allumage LED n°3
    digitalWrite(intPin0, LOW) ;   // extinction LED n°1
  }
}

20
Discussions ouvertes / Re : l'IDE arduino
« le: septembre 19, 2020, 07:15:57 pm »
Merci messieurs pour vos informations.

Je reste donc sur ma faim !
A l'heure actuelle, si j'avais un peu plus d'instruction en programmation et au moins 40 ans de moins, je n'aurais pas hésiter à tenter de concevoir un pluging qui permettrait ce que je recherche. Je suis persuadé que ce type de pluging rendrait service non seulement au débutant comme moi mais aussi au professionnel dont vous êtes !
Dommage !
merci de votre aide et bon WE !
Jacques

21
Discussions ouvertes / Re : l'IDE arduino
« le: septembre 19, 2020, 07:11:46 am »
Merci MONSIEUR !

En majuscules, bientôt j'écrirais "Professeur" ! parce que j'en apprends plus ici, qu'à lire les différents tutos qu'on peut trouver ailleurs !

"Nota, ce n'est pas l'IDE qui exécute le code mais l'Arduino lui-même en toute autonomie."
Ça, on ne le lit pas dans les tutos !

Merci encore !

22
Discussions ouvertes / Re : l'IDE arduino
« le: septembre 18, 2020, 06:53:54 pm »
Alors comment faire ...
quand on faire une compilation du programme, on peut voir écrit en orange les erreurs reconnues par le compilateur, mais ça ne veut pas dire qu'une instruction se trouve au bon endroit dans le code !
Comment vérifier qu'une instruction est bien exécutée à l'instant "T" et avec quel résultat ?  ???
L'interface IDE Arduino est la seule à exécuter le code ? existe-t-il d'autre compilateurs plus complet ? :P

23
Discussions ouvertes / Re : l'IDE arduino
« le: septembre 18, 2020, 06:33:19 pm »
Merci, je vais voir ce que je peux faire ...
mais c'est dommage que ça n'existe pas dans cet IDE !

24
Discussions ouvertes / l'IDE arduino
« le: septembre 18, 2020, 06:16:09 pm »
Bonjours à toutes et tous,

En programmant avec l'IDE de Arduino, est-il possible pour des raisons de débogage, de faire du "pas à pas" et afficher le résultat de chacune des instructions ?
Merci pour les réponses.

25
Présentez vous ! / Re : À votre avis ...
« le: septembre 18, 2020, 10:03:29 am »
La question n° 2 est sans objet !
le port comme est par défaut à 115200 !

26
Présentez vous ! / Re : À votre avis ...
« le: septembre 18, 2020, 09:56:25 am »
Merci Thierry.
TOUT fonctionne grâce à vous, et un grand merci à msport qui m'a bien "aiguillé" aussi ! ;D
Je constate que quand on a à faire à des maîtres en la matière, on y gagne nécessairement ! 8)

 2 questions pour parfaire l'enseignement !!!!
1) en C++, plusieurs commandes sur une même ligne, commandes séparées par un ";" ... possible ou pas ?

2) serait-il nécessaire de déclarer une vitesse de transmission plus importante que le 9600 du port com ?
Pour le moment, je n'ai encore jamais branché la carte Mega 2560 en USB sur l'ordinateur.

27
Présentez vous ! / Re : À votre avis ...
« le: septembre 18, 2020, 07:02:02 am »
Bonjour,
Eh ben voilà ... ce soir je vais me mettre au lit, un peu plus instruit  !  8)
Merci pour ces précisions et en particulier sur le faite de ramener à LOW la commande digitalWrite.
pour en revenir à l'origine de cette discussion, je n'avais pas tord en vous demandant votre avis sur le fait de diriger une rame en appuyant sur un seul bouton pour créer un itinéraire ...
Merci encore, à 75 ans j'en apprend toujours et encore !  :D

28
Présentez vous ! / Re : À votre avis ...
« le: septembre 17, 2020, 05:23:02 pm »
Ah que ! comme disait le chanteur !
Je commence à comprendre ... que j'ai encore de nombreux jours de lecture sur Locoduino !
Avant de passer à l'anti rebond, j'ai une dernière erreur que je n'arrive pas à solutionner :
=======================
F:\PROGRAMMATION PERSO\TEST_Boutons-poussoirs-et-Aiguillages\TEST_Boutons-poussoirs-et-Aiguillages.ino: In function 'void loop()':
TEST_Boutons-poussoirs-et-Aiguillages:43:17: error: switch quantity not an integer
       switch (bp) // debut de la structure
                 ^
exit status 1
switch quantity not an integer
=======================
Pourtant la variable "bp" est bien en integer !! pourquoi "switch" ne l'accepte pas ? merci pour l'aide, je m'instruis de + en + !

ci-joint le code modifié avec la boucle loop()
// déclaration des boutons poussoirs et des aiguillages
uint8_t bp[] = {5, 6, 7, 8, 9, 10, 11, 12} ; // Boutons poussoirs Normalement Ouvert (NO)
uint8_t aig[] = {22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38} ;

int buttonState = 0 ;
int timer = 50 ;

void setup() {
  // Initialisation
  for (uint8_t bp = 0; bp <= 12; bp++) {
    pinMode(bp, INPUT) ;
  }
  for (uint8_t aig = 0; aig <= 38; aig++) {
    pinMode(aig, OUTPUT) ;
  }

  // initialisation de la gare
  // C1_V1
  digitalWrite(22, HIGH) ; // aiguillage G1 D
  digitalWrite(23, HIGH) ; // aiguillage A1 G
  digitalWrite(28, HIGH) ; // aiguillage A3 G
  // C2_V2
  digitalWrite(31, HIGH) ; // aiguillage B1 G
  digitalWrite(36, HIGH) ; // aiguillage B3 D
  digitalWrite(26, HIGH) ; // aiguillage A2 D
  digitalWrite(29, HIGH) ; // aiguillage A4 G
  // C3_V3
  digitalWrite(34, HIGH) ; // aiguillage B2 D
  digitalWrite(37, HIGH) ; // aiguillage B4 G
}

void loop()
{
  loop() ;
  {
    for (int i = 0; i < 12; i++)
    {
      buttonState = digitalRead(bp[i]) ;


      // l'instruction break est en option

      switch (bp) // debut de la structure
      {
        case 5:           // bouton C1_V1
          digitalWrite(22, HIGH) ;  // aiguillage G1_D
          delay(timer);
          digitalWrite(23, HIGH) ;  // aiguillage A1_G
          delay(timer);
          digitalWrite(28, HIGH) ;  // aiguillage A3_D
          break;
        case 6:         // bouton C1_V2
          digitalWrite(22, HIGH) ;  // aiguillage G1_D
          delay(timer);
          digitalWrite(24, HIGH) ;  // aiguillage A1_D
          delay(timer);
          digitalWrite(30, HIGH) ;  // aiguillage A4_D

          break;
        case 7:           // bouton C2_V1
          digitalWrite(31, HIGH) ;  // aiguillage B1_G
          delay(timer);
          digitalWrite(36, HIGH) ;  // aiguillage B3_D
          delay(timer);
          digitalWrite(25, HIGH) ;  // aiguillage A2_G
          delay(timer);
          digitalWrite(27, HIGH) ;  // aiguillage A3_G

          break;
        case 8:           // bouton C2_V2
          digitalWrite(31, HIGH) ;  // aiguillage B1_G
          delay(timer);
          digitalWrite(36, HIGH) ;  // aiguillage B3_D
          delay(timer);
          digitalWrite(26, HIGH) ;  // aiguillage A2_D
          delay(timer);
          digitalWrite(29, HIGH) ;  // aiguillage A4_G

          break;
        case 9:           // bouton C2_V3
          digitalWrite(32, HIGH) ;  // aiguillage B1_D
          delay(timer);
          digitalWrite(38, HIGH) ;  // aiguillage B4_D

          break;
        case 10:          // bouton C3_V1
          digitalWrite(33, HIGH) ;  // aiguillage B2_G
          delay(timer) ;
          digitalWrite(35, HIGH) ;  // aiguillage B3_G
          delay(timer) ;
          digitalWrite(25, HIGH) ;  // aiguillage A2_G
          delay(timer) ;
          digitalWrite(27, HIGH) ;  // aiguillage A3_G

          break;
        case 11:          // bouton C3_V2
          digitalWrite(33, HIGH) ;  // aiguillage B2_G
          delay(timer) ;
          digitalWrite(35, HIGH) ;  // aiguillage B3_G
          delay(timer) ;
          digitalWrite(26, HIGH) ;  // aiguillage A2_D
          delay(timer) ;
          digitalWrite(29, HIGH) ;  // aiguillage A4_G

          break;
        case 12:          // bouton C3_V3
          digitalWrite(33, HIGH) ;  // aiguillage B2_G
          delay(timer) ;
          digitalWrite(37, HIGH) ;  // aiguillage B4_G

          break;
          // default: // cas par d�faut
          // si aucune condition n'est vraie, le code par d�faut sera ex�cut�
          // le cas default est optionnel (non -obligatoire)
      }
    }
  }
}

29
Présentez vous ! / Re : À votre avis ...
« le: septembre 17, 2020, 03:12:45 pm »
Merci Thierry,
"Seconde action, à la fois pour le digitalRead et le switch, décider lequel de ces entiers vous voulez utiliser : bp[0], bp[1], bp[2]..." ???
 là, je n'assimile pas !
digitalRead ... c'est bien la lecture de l'état du bouton ? si j’appuie sur ce bp, l'état doit passé de 0 à 1 (LOW à HIGH ?)
Je pense que ce "digitalRead" est mal placé et aussi mal défini.
Comment définir l'état d'un (et d'un seul) bp sur lequel on a appuyé parmi les 8 du tableau ?

Il me semble avoir lu que les cartes Arduino géraient maintenant le rebond en interne ? exact ou pas !
merci pour votre aide qui m'est très précieuse

30
Présentez vous ! / Re : À votre avis ...
« le: septembre 17, 2020, 10:37:36 am »
petite précision :
 je vais utiliser une carte MEGA 2560 R3 pour le nombre de pins  !

Pages: 1 [2] 3 4