Topic "commande servo moteur"

Flux RSS des posts récents dans ce topic ( Flux Atom)


Pas de photo de profil

durupt

Membre

#295 | Signaler ce message


Hello, Je souhaiterais construire un personnage automate.j 'aimerais piloter déjà 1 servo moteur seleument le jour et qu'il s'arrète la nuit.je pensais utiliser une photoresistance avec ma arduino Mega. Avez vous une solution, merci,

Derniére modification le par durupt


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#298 | Signaler ce message


Bonjour,

Le probléme c'est le contrôle du servo ou la détection du jour / nuit ?

Pour la détection jour / nuit, une simple photorésistance est effectivement la solution la plus simple. J'ai écris un article à ce sujet ;)


Pas de photo de profil

durupt

Membre

#300 | Signaler ce message


ce qui me pose problème c'est l 'écriture du code pour le contrôle du servo en mode jour et l 'arret du servo en mode nuit à travers la photorésistence.


Pas de photo de profil

durupt

Membre

#301 | Signaler ce message


Hello, mes explications sont assez clairs?


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#303 | Signaler ce message


L'animation en elle même est elle déjà codée ? Il faut d'abord avoir une version qui tourne h24 pour ensuite pouvoir la limiter à un allumage de jour.


Pas de photo de profil

durupt

Membre

#304 | Signaler ce message


Bonjour,

oui, l'animation a déjà un code qui est l'exemple de la bibliothèque dans "servo sweep" tous simplement. Débutant dans le code je souhaiterais l 'améliorer en intégrant une photorésistance pour permettre à mon animation de fonctionner que le jour.

Voici le code de la bibliothèque:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <Servo.h> 
 
Servo myservo;  // create servo object to control a servo 
                // twelve servo objects can be created on most boards
 
int pos = 0;    // variable to store the servo position 
 
void setup() 
{ 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
} 
 
void loop() 
{ 
  for(pos = 0; pos <= 180; pos += 1) // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 1 degree 
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
  for(pos = 180; pos>=0; pos-=1)     // goes from 180 degrees to 0 degrees 
  {                                
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
} 

Edit Skywodd: Ajout des balises code

Derniére modification le par skywodd


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#305 | Signaler ce message


Il te suffit dans ce cas d'ajouter un test autours de l'animation :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <Servo.h>

const byte BROCHE_LDR = A0;
const byte BROCHE_SERVO = 9;

const int VALEUR_SEUIL = 512;

Servo myservo;

void setup() {
  myservo.attach(BROCHE_SERVO);
}

void loop() {

  if (analogRead(BROCHE_LDR) >= VALEUR_SEUIL) { 
    // Seulement si la lumière est allumée
    int pos = 0;
    
    for(pos = 0; pos <= 180; pos += 1) {
      myservo.write(pos);
      delay(15);
    }
    
    for(pos = 180; pos>=0; pos-=1) {
      myservo.write(pos);
      delay(15);
    }
  }
}
[/icode]

Pas de photo de profil

durupt

Membre

#306 | Signaler ce message


bonsoir, ca paraît tellement simple une fois écrit!!! j' ai testé c'est nickel. MERCI POUR LE COUP DE POUSSE, je vais pouvoir passer à l'execution.


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#309 | Signaler ce message


N.B. Si tu le souhaites, tu peux rendre le réglage du seuil modifiable en câblant un potentiomètre sur une broche analogique et en éditant le if : if (analogRead(BROCHE_LDR) >= analogRead(BROCHE_SEUIL)) { ... } par exemple.

Si tu as d'autres questions n'hésite pas ;)