Contrôle d'un moteur à l'aide d'une photo résistance

Salut à tous!

J'aurais besoin de contrôler un petit moteur qui tourne entre 3 et 6V à l'aide d'une carte Arduino Uno et d'une photo résistance.

Pour celà, je possède une carte, un moteur, des résistances (330 ohm, 1k et 10k ohm), une photorésistance, une breadboard, un transistor NPN, et d'autres petits composant qui ne me semblent pas utiles ici. :slight_smile:

J'aurais donc besoin de votre aide car je dois admette que mes compétences en électronique sont assez limitées et j'aurais bien besoin qu'on me guide, tout d'abord, sur le circuit à réaliser! :slight_smile:

Voilà voilà, donc si vous avez des idées, n'hésitez pas!!

Merci d'avance!

Salut!

Je reviens vers vous car j'ai testé de nombreux programmes et circuits que j'ai trouvé sur internet pour simplement faire tourner un moteur à l'aide de l'alimentation 5V d'Arduino mais aucun ne fonctionne et j'ai du mal à comprendre pourquoi..

Voici par exemple le schéma de montage que j'ai utilisé avec le code qui m'était fourni, mais qui ne fonctionne pas.. :frowning:

int moteur = 6;

void setup() {                
  pinMode(moteur, OUTPUT);     
}
void loop() {
  digitalWrite(moteur, HIGH);  
  delay(1000);              
  digitalWrite(moteur, LOW);   
  delay(1000);          
}

Je ne comprends pas bien pourquoi celà ne fonctionne pas, j'ai changé le int moteur=6 par int moteur = 11 pour que cela corresponde au schéma, sans succès..

Bonjour,
plusieurs pistes :

  • tester le montage en mettant une led + résistance à la place du moteur

  • tester le fonctionnement du moteur en le raccordement directement su le entre 5v et gnd de l'arduino

Salut trimarco!

Merci pour tes pistes, j’ai effectivement testé le moteur, il fonctionne très bien et après quelques bidouilles, j’ai réussi à faire tourner mon moteur à l’aide d’un petit programme, ce qui est déjà un bon début :

Voici le schéma du montage :

Et voici le code :

int moteur = 3;

void setup() {
  pinMode(moteur,OUTPUT);
 
}
void loop() {
  analogWrite(moteur,0);
  delay(10000);
  analogWrite(moteur,200);
  delay(10000); 
}

Cependant, je voudrais maintenant faire tourner ce moteur en fonction de l’intensité lumineuse reçue par ma photorésistance : quand elle reçoit de la lumière, le moteur tourne et sinon, le moteur s’arrete

Mon problème se situe plus au niveau du circuit : j’ai vraiment du mal en électronique et j’ai peur de faire griller mes composants aha! Comment faudrait-il brancher ma photorésistance ici? :slight_smile:

Pour le code, je pensais simplement le modifier en ajoutant un seuil et une condition avec un if analogRead

ah bah c'est bon, problème résolu!! :slight_smile:

Salut,

Pourquoi ne pas passer pas un shield motor ou un L298N, fait pour gérer un moteur.

@+

Je reviens vous voir car j'ai un nouveau problème qui est apparu.

En effet, j'arrivais très bien à faire tourner mon moteur en fonction de la lumière reçue par ma photorésistance.

Or, j'ai essayé avec une alimentation un peu plus forte (9V) puis je suis revenu au 5V d'Arduino

Mais maintenant, mon moteur ne "s'arrete" plus, çad que sur Arduino, qd je lui demande de se couper (à l'aide de analogWrite), il ne s'arrete plus alors qu'avant celà se faisait très bien.

J'ai peur d'avoir griller un composant mais je ne vois pas lequel car j'ai changé la diode et j'ai essayé avec un autre transistor et toujours le même problème.

Cependant, je peux tout de meme regler la vitesse, je peux le faire tourner plus vite si je le veux, mais je ne peux pas l'arreter..

Quelqu'un a une idée? :slight_smile:

Hugocad:
Quelqu'un a une idée? :slight_smile:

le transistor ??
débranches la résistance entre l'arduino et la base du transistor pour voir ...

Effectivement c’est bien le transistor qui n’a pas supporté les 9V…