Ligne 60 : |
Ligne 60 : |
| | | |
| == Faire encore mieux == | | == Faire encore mieux == |
| + | |
| + | |
| + | === Seuil d'allumage (threshold) === |
| + | Vous voulez parfois activer une sortie lorsqu'une valeur a atteint un certain seuil. Pour faire cela avec un potentiomètre, changez le code de {{fname|loop()}} comme suit : |
| + | |
| + | <nowiki>void loop() { |
| + | int threshold = 512; // seuil = 512 |
| + | if(analogRead(sensorPin) > threshold){ |
| + | digitalWrite(ledPin, HIGH); |
| + | } |
| + | else{ |
| + | digitalWrite(ledPin, LOW); |
| + | } |
| + | }</nowiki> |
| + | |
| + | Cela allumera la LED lorsque la valeur sera supérieure à 512 (mi-course), vous pouvez adapter la sensibilité en modifiant la valeur du seuil (la variable {{fname|threshold}} ). |
| + | |
| + | === Faire un Dimmer (fading) === |
| + | Contrôlons maintenant la luminosité de la LED directement à partir du potentiomètre. |
| + | |
| + | Pour y arriver, nous devons d'abord changer la broche sur laquelle la LED est connectée. |
| + | |
| + | Déplacez le fil de la pin 13 à la pin 9 et changez la ligne de code: |
| + | |
| + | <nowiki>int ledPin = 13;</nowiki> |
| + | |
| + | vers |
| + | |
| + | <nowiki>int ledPin = 9;</nowiki> |
| + | |
| + | Modifiez ensuite le code de {{fname|loop()}} comme suit : |
| + | |
| + | <nowiki>void loop() { |
| + | int value = analogRead(potPin) / 4; |
| + | analogWrite(ledPin, value); |
| + | }</nowiki> |
| + | |
| + | Chargez le code et regardez la luminosité de la LED varier en fonction de la position du potentiomètre. (Note: la raison pour laquelle nous avons divisé la valeur par 4 est que la fonction analogRead() retourne une valeur entre 0 et 1024 (10 bits), et que analogWrite() accepte une valeur entre 0 et 255 (8 bits). |
| + | |
| + | === Contrôler un servo === |
| + | C'est vraiment un bel exemple qui regroupe ensemble une série de montages ensembles. |
| + | |
| + | Raccordez le Servo moteur comme nous l'avons fait au CIRC-04, ouvrez le programme d'exemple nommé Knob (Fichier > Exemples > Servo > Knob ), changez ensuite une ligne de code. |
| + | |
| + | <nowiki>int potpin = 0;</nowiki> |
| + | |
| + | vers |
| + | |
| + | <nowiki>int potpin = 2;</nowiki> |
| + | |
| + | Chargez sur votre Arduino et regardez l'axe du Servo tourner lorsque vous tournez le potentiomètre. |
| + | |
| === Parasites, lecture multiple et moyenne === | | === Parasites, lecture multiple et moyenne === |
| Il est également possible de réaliser des lectures en rafale et de les stocker dans un tableau. | | Il est également possible de réaliser des lectures en rafale et de les stocker dans un tableau. |
Ligne 119 : |
Ligne 171 : |
| # calcul de la moyenne | | # calcul de la moyenne |
| print( 'Moyenne: %s' % (sum(buf)/len(buf)) )</nowiki> | | print( 'Moyenne: %s' % (sum(buf)/len(buf)) )</nowiki> |
− |
| |
− |
| |
− | === Seuil d'allumage (threshold) ===
| |
− | Vous voulez parfois activer une sortie lorsqu'une valeur a atteint un certain seuil. Pour faire cela avec un potentiomètre, changez le code de {{fname|loop()}} comme suit :
| |
− |
| |
− | <nowiki>void loop() {
| |
− | int threshold = 512; // seuil = 512
| |
− | if(analogRead(sensorPin) > threshold){
| |
− | digitalWrite(ledPin, HIGH);
| |
− | }
| |
− | else{
| |
− | digitalWrite(ledPin, LOW);
| |
− | }
| |
− | }</nowiki>
| |
− |
| |
− | Cela allumera la LED lorsque la valeur sera supérieure à 512 (mi-course), vous pouvez adapter la sensibilité en modifiant la valeur du seuil (la variable {{fname|threshold}} ).
| |
− |
| |
− | === Faire un Dimmer (fading) ===
| |
− | Contrôlons maintenant la luminosité de la LED directement à partir du potentiomètre.
| |
− |
| |
− | Pour y arriver, nous devons d'abord changer la broche sur laquelle la LED est connectée.
| |
− |
| |
− | Déplacez le fil de la pin 13 à la pin 9 et changez la ligne de code:
| |
− |
| |
− | <nowiki>int ledPin = 13;</nowiki>
| |
− |
| |
− | vers
| |
− |
| |
− | <nowiki>int ledPin = 9;</nowiki>
| |
− |
| |
− | Modifiez ensuite le code de {{fname|loop()}} comme suit :
| |
− |
| |
− | <nowiki>void loop() {
| |
− | int value = analogRead(potPin) / 4;
| |
− | analogWrite(ledPin, value);
| |
− | }</nowiki>
| |
− |
| |
− | Chargez le code et regardez la luminosité de la LED varier en fonction de la position du potentiomètre. (Note: la raison pour laquelle nous avons divisé la valeur par 4 est que la fonction analogRead() retourne une valeur entre 0 et 1024 (10 bits), et que analogWrite() accepte une valeur entre 0 et 255 (8 bits).
| |
− |
| |
− | === Contrôler un servo ===
| |
− | C'est vraiment un bel exemple qui regroupe ensemble une série de montages ensembles.
| |
− |
| |
− | Raccordez le Servo moteur comme nous l'avons fait au CIRC-04, ouvrez le programme d'exemple nommé Knob (Fichier > Exemples > Servo > Knob ), changez ensuite une ligne de code.
| |
− |
| |
− | <nowiki>int potpin = 0;</nowiki>
| |
− |
| |
− | vers
| |
− |
| |
− | <nowiki>int potpin = 2;</nowiki>
| |
− |
| |
− | Chargez sur votre Arduino et regardez l'axe du Servo tourner lorsque vous tournez le potentiomètre.
| |
| | | |
| == Internet == | | == Internet == |