ciao a tutti, il problema è questo.. sto programmando un driver l293d affinchè piloti un motorino dc di una macchinina radiocomandata. il codice è questo
#include <SoftwareSerial.h>
SoftwareSerial BluetoothSerial = SoftwareSerial(0, 1); //si richiama il modulo bluetooth
const int input1m1 = 9; //input1 per il motore 1
const int input2m1 = 10;//input2 per il motore 2
const int enableM1 = 11;//regolatore motore 1
char marcia;
int velmotore = 0;
void setup() {
Serial.begin(9600);
BluetoothSerial.begin(9600); //si stabliscono le variabii generali
pinMode(input1m1, OUTPUT);
pinMode(input2m1, OUTPUT);
pinMode(enableM1, OUTPUT);
digitalWrite(enableM1, LOW); //il circuito parte con motore spento
pinMode(5, OUTPUT);
}
void loop() {
if (BluetoothSerial.available()){
marcia=BluetoothSerial.read(); //vengono lette le marce e di conseguenza la velocità
if(marcia=='1'){
velmotore = 25;
}
if(marcia=='2'){
velmotore = 51;
}
if(marcia=='3'){
velmotore = 76;
}
if(marcia=='4'){
velmotore = 102;
}
if(marcia=='5'){
velmotore = 127;
}
if(marcia=='6'){
velmotore = 153;
}
if(marcia=='7'){
velmotore = 178;
}
if(marcia=='8'){
velmotore = 204;
}
if(marcia=='9'){
velmotore = 229;
}
if(marcia=='q'){
velmotore = 254;
}
if(marcia=='F'){
digitalWrite(input1m1, HIGH); //vengono impostati i valori per i quali il motore va avanti
digitalWrite(input2m1, LOW);
analogWrite(enableM1, velmotore); //si imposta la velocità grazie al pin PWM
Serial.print("avanti");
}
else{
analogWrite(enableM1, 0); //senza comando il motore si ferma
}
if(marcia=='B'){
digitalWrite(input1m1, LOW); //vengono impostati i valori per i quali il motore va indietro
digitalWrite(input2m1, HIGH);
analogWrite(enableM1, velmotore); //si imposta la velocità grazie al pin PWM
}
else{
analogWrite(enableM1, 0); //senza comando il motore si ferma
}
}
}
in poche parole il motorino gira solo in un verso, dall altra non vuol proprio saperne di andare. ho pensato fosse un problema di motore ma se inverto gli output cambia verso e gira ma non va più dall' altra parte.
il driver è nuovo e i collegamenti li ho fatti bene.
p.s. piloto tramite bluetooth se non si fosse capito!