Bonjour,
Je suis débutant en électronique, et je me suis lancé dans un projet d'une petite voiture radiocommandée, elle possède 2 servo moteurs à l'avant pour la direction et un moteur relié a l'axe de roue arrière.
J'ai donc ajouté une télécommande qui est censé contrôler la direction et les gas.
J'utilise un L293D pour le moteur, j'ai essayer de brancher une pile 9v au circuit de puissance.
Le problème c'est que le moteur ne tournait presque pas et assez vite je me suis rendu compte que ma pile n'alimentait plus (pile neuve), en la testant elle indique 0v ... Le moteur ne tourne plus... c'est déjà la deuxième pile qui me fait le coup ![]()
voir schéma :
Quelqu'un pourrait-t-il m'éclairer svp ?
Je me demandais quelle moyen me conseillez vous pour alimenter mes 2 servo autrement que par l'arduino ? (De temps en temps ils ont un peu de mal et je pense que c'est à cause de cela)
Le code :
#include <Servo.h>
// code channel 1 direction droite gauche donc servo
int pinsServo1=6; // SERVO 1
int pinServo2=7; // SERVO 2
Servo servo1;
Servo servo2;
int angleServo1;
int angleServo2;
//MOTEUR
int pin1Moteur=12;
int pin2Moteur=8;
int pinPMoteur=11;
void setup() {
pinMode(3,INPUT);
pinMode(pin1Moteur,OUTPUT);
pinMode(pin2Moteur,OUTPUT);
pinMode(pinPMoteur,OUTPUT);
digitalWrite(pin1Moteur,LOW);
digitalWrite(pin2Moteur,LOW);
analogWrite(pinPMoteur,0);
servo1.attach(6);
servo2.attach(7);
Serial.begin(9600);
servo1.write(80);
servo2.write(90);
}
void loop() {
int v = pulseIn(3,HIGH,25000);
int t = pulseIn(4,HIGH,25000);
// POUR LE V DIRECTION SERVO CH1
if(v<1480 && v>=1154)
{
//Serial.println("GAUCHE");
angleServo1 = map(v,1479,1154,80,35);
angleServo2 = map(v,1479,1154,90,53);
servo1.write(angleServo1);
servo2.write(angleServo2);
}
if(v>1520 && v<=1877)
{
//Serial.println("DROITE"); // DROITE
angleServo1 = map(v,1521,1877,80,115);
angleServo2 = map(v,1521,1877,90,135);
servo1.write(angleServo1);
servo2.write(angleServo2);
}
if(v<=1505 && v>=1487)
{
//Serial.println("MILIEU");
servo1.write(80);
servo2.write(90);
}
// POUR LE T THROODLE CH 4
if(t<=1130 && t>1050)
{
analogWrite(pinPMoteur,0);
digitalWrite(pin1Moteur,LOW);
digitalWrite(pin2Moteur,LOW);
}
if(t>=1131 && t<=1837)
{
digitalWrite(pin1Moteur,HIGH);
digitalWrite(pin2Moteur,LOW);
int etatPAnalog = map(t,1114,1837,0,255);
analogWrite(pinPMoteur,etatPAnalog);
Serial.println(etatPAnalog);
}
delay(25);
}
voir schéma fritzing joint
