Modifications

Sauter à la navigation Sauter à la recherche
4 474 octets ajoutés ,  20 septembre 2015 à 10:55
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{ARDX-NAV}}
 
{{ARDX-NAV}}
   −
{{traduction}}
+
== Ce que nous faisons ==
 
  −
== Ce que faisons nous ==
   
{{bloc-etroit|text=Les sorties d'Arduino sont géniales pour contrôler directement de petits éléments électriques tels que des LEDs.
 
{{bloc-etroit|text=Les sorties d'Arduino sont géniales pour contrôler directement de petits éléments électriques tels que des LEDs.
   Ligne 20 : Ligne 18 :     
{{ARDX-composant
 
{{ARDX-composant
   |label=Fiche de montage CIRC-01
+
   |label=Fiche de montage CIRC-03
 
   |label2=x1
 
   |label2=x1
 
   |img=ARDX-circ-sheet.png
 
   |img=ARDX-circ-sheet.png
Ligne 69 : Ligne 67 :     
{{ARDX-composant-end}}
 
{{ARDX-composant-end}}
 +
Tous ces éléments sont disponibles dans [http://shop.mchobby.be/product.php?id_product=11 le Kit Ardx proposé sur shop.mchobby.be].
    
=== Schéma ===
 
=== Schéma ===
[[Fichier:circ13-schema.png|250px]]
+
[[Fichier:circ03-schema.png|250px]]
    
=== Montage ===
 
=== Montage ===
[[Fichier:cir13-montage.png|800px]]
+
[[Fichier:cir03-montage.png|800px]]<br />.: NOTE: Si votre Arduino se réinitialise, vous aurez alors besoin de placer la capacité optionnelle :.
    
== Le code ==
 
== Le code ==
xxx
+
Pas besoin de taper tout le code, vous pouvez le télécharger depuis [http://ardx.org/CODE03 ardx.org/CODE03] et faire un copier/coller dans votre croquis.
 +
 
 +
 
 +
<nowiki>int motorPin = 9; //Pin de raccordement du moteur
 +
void setup() //Exécuté une seule fois
 +
{
 +
  void setup() //Exécuté une seule fois
 +
}
 +
 
 +
void loop() // Exécuté encore et encore
 +
{
 +
  motorOnThenOff();
 +
  //motorOnThenOffWithSpeed();
 +
  //motorAcceleration();
 +
}
 +
 
 +
/*
 +
* motorOnThenOff() - allume puis éteint le moteur
 +
* (note : ce code est identique à celui de la
 +
* LED clignotant)
 +
*/
 +
void motorOnThenOff(){
 +
  int onTime = 2500;  //temps allumé
 +
  int offTime = 1000; //temps éteint
 +
 
 +
  digitalWrite(motorPin, HIGH); // Allume le moteur
 +
  delay(onTime);              // Attend onTime ms
 +
  digitalWrite(motorPin, LOW); // Eteind le moteur
 +
  delay(offTime);              // Attend offTime ms
 +
}
 +
 
 +
/*
 +
* motorOnThenOffWithSpeed() - contrôle du moteur
 +
* avec gestion de la vitesse.
 +
*/
 +
void motorOnThenOffWithSpeed(){
 +
  int onSpeed = 200;// Nombre de 0 (arrêt) à 255
 +
  int onTime = 2500;
 +
  int offSpeed = 50;// Nombre de 0 (arrêt) à 255
 +
  int offTime = 1000;
 +
 
 +
  analogWrite(motorPin, onSpeed);  // Alimenter le moteur
 +
  delay(onTime);                  // Attend onTime millisecondes
 +
  analogWrite(motorPin, offSpeed); // Eteint le moteur
 +
  delay(offTime);                  // Attend offTime ms
 +
}
 +
 
 +
/*
 +
* motorAcceleration() - Accélération/décélération du 
 +
* moteur.
 +
*/
 +
void motorAcceleration(){
 +
  int delayTime = 50; // temps entre deux modification de vitesse
 +
 
 +
  //boucle toutes les vitesses de 0 à 255
 +
  for(int i = 0; i < 256; i++){
 +
      //assigne la nouvelle vitesse
 +
      analogWrite(motorPin, i);
   −
<nowiki>/* code */</nowiki>
+
      delay(delayTime);  // attends delayTime ms
 +
  }
 +
 
 +
  //boucle toutes les vitesses de 255 à 0
 +
  for(int i = 255; i >= 0; i--){
 +
      //assigne la nouvelle vitesse
 +
      analogWrite(motorPin, i);
 +
 
 +
      delay(delayTime);  //Attend delayTime ms
 +
  }
 +
}
 +
</nowiki>
    
== Cela ne fonctionne pas? ==
 
== Cela ne fonctionne pas? ==
 
Voici 3 choses à essayer.
 
Voici 3 choses à essayer.
=== xxx 1 ===
+
=== Le moteur ne tourne pas? ===
yyyy
+
Si vous avez utilisé votre propre transistor, vérifiez à l'aide de sa fiche technique que le brochage est compatible avec le P2N2222AG (beaucoup utilisent des brochages inversés)
   −
=== xxx 2 ===
+
=== Toujours pas de chance? ===
yyyy
+
Si vous avez utilisé votre propre transistor, vérifiez à l'aide de sa fiche technique que le brochage est compatible avec le P2N2222AG (beaucoup utilisent des brochages inversés)
   −
=== xxx 3 ===
+
=== Cela ne fonctionne toujours pas? ===
yyyy
+
Il arrive que la carte Arduino se déconnecte de votre ordinateur.
 +
 
 +
Essayez de déconnecter et de reconnecter la prise USB.
    
== Faire encore mieux ==
 
== Faire encore mieux ==
=== zzz 1 ===
+
=== Contrôler la vitesse ===
zzzz
+
Précédemment, nous avons joué avec la possibilité qu'Arduino avait de contrôler la luminosité d'une LED.
 +
 
 +
Maintenant, nous allons utiliser cette même capacité pour contrôler la vitesse de notre moteur. Arduino fait cela en utilisant une technique appelée « modulation de longueur d'impulsion » (PWM). Cela s'appuie sur la capacité qu'à Arduino à fonctionner vraiment-vraiment rapidement.
 +
 
 +
Plutôt que de contrôler directement la tension de sortie d'une broche, Arduino va activer et désactiver la broche très rapidement. Dans le monde informatique c'est passer de 0 à 5 volts plusieurs fois par secondes, mais dans notre monde humain, nous percevons cela comme une tension.
 +
 
 +
Par exemple si un Arduino module à 50% nous voyons la LED éclairée à 50% parce que nos yeux ne sont pas assez rapides pour voir qu'elle s'allume et s'éteint constamment.
 +
 
 +
Vous ne le croyez pas ? Alors essayez le.
 +
 
 +
Changer la fonction loop() comme suit
 +
<nowiki>// motorOnThenOff();
 +
motorOnThenOffWithSpeed();
 +
// motorAcceleration();</nowiki>
 +
Ensuite charger le programme. Vous pouvez modifier les vitesses en modifiant les variables onSpeed et offSpeed.
 +
 
 +
=== Accélérer et décélérer ===
 +
Pourquoi s'arrêter à deux vitesses ? Pourquoi ne pas accélérer et décélérer la vitesse du moteur ?
 +
 
 +
Pour ce faire, il suffit de changer la fonction loop() pour y lire ;
 +
<nowiki>// motorOnThenOff();
 +
// motorOnThenOffWithSpeed();
 +
motorAcceleration();</nowiki>
 +
 
 +
Chargez ensuite le programme et regardez votre moteur accélérer lentement jusqu'à plein régime puis ralentir.
 +
 
 +
Si vous voulez modifier l'accéleration, modifiez la variable {{fname|delayTime}} (une plus grande valeur implique une accélération plus lente)
    
== Plus, plus et encore plus ==
 
== Plus, plus et encore plus ==
Plus d'information, où poser vos autres questions:
+
Plus d'information, où poser vos autres questions: [http://ardx.org/CIRC03 ardx.org/CIRC03] (''anglais'')
 
  −
[http://ardx.org/CIRC13 ardx.org/CIRC13] (''anglais'')
      
== Internet ==
 
== Internet ==
 
=== .:téléchargement:. ===  
 
=== .:téléchargement:. ===  
LA fiche de montage est disponible sur ....
+
LA fiche de montage est disponible sur [http://ardx.org/BBLS03 ardx.org/BBLS03]
    
=== .: Vidéo :. ===
 
=== .: Vidéo :. ===
La vidéo du montage est disponible sur [http://ardx.org/VIDE13 ardx.org/VIDE13] (''anglais'')
+
La vidéo du montage est disponible sur [http://ardx.org/VIDE03 ardx.org/VIDE03] (''anglais'')
    
{{ARDX-TRAILER}}
 
{{ARDX-TRAILER}}
29 910

modifications

Menu de navigation