Ciao raga mi sto dilettando con arduino per la mia prima volta e ho fatto un piccolo schemino per controllare un motorino DC 3.3V. Il progetto è il seguente:
-Si accende un led per volta e di conseguenza si avvia il motore ad una certa velocità ovvero:
Led Rosso = Motore 75%
Led Giallo = Motore 50%
Led Verde = Motore 25%
Ritardo tra uno stato ed un altro di 5 secondi.
Poi il mio problema è che non riesco a far comunicare alla seriale lo stato del motore ovvero,riesco a scrivere led acceso e led spento,però quando dico di scrivere lo stato del motore o i pwn mi esce sempre il numero 3 che sarebbe il pin del motore. Io vorrei che ad ogni stato sul computer mi appaiono gli stati del led e poi magari la velocità del motore, 75 50 o 25 xò usando la variabile e non scrivendolo io.
Allego sketch e disegno:
/*
Sketch per far girare un motorino elettrico a potenza di
25,50 e 75%,e contemporaneamente accende un led per ogni stato:
Led Rosso = Motore 75%
Led Giallo = Motore 50%
Led Verde = Motore 25%
Dopo implementazione per leggere via seriale gli stati
*/
const int Rosso = 12;
const int Giallo = 8;
const int Verde = 7;
int Motore = 3;
void setup() {
pinMode(Rosso, OUTPUT);
pinMode(Giallo, OUTPUT);
pinMode(Verde, OUTPUT);
pinMode(Motore, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(Verde, HIGH);
analogWrite(Motore, 63);
Serial.println("Potenza al 25% ,Led Verde Acceso");
Serial.println(Motore);
delay(5000);
digitalWrite(Verde, LOW);
Serial.println("Spento Led Verde");
digitalWrite(Giallo, HIGH);
analogWrite(Motore, 127);
Serial.println("Potenza al 50% ,Led Giallo Acceso");
Serial.println(Motore);
delay(5000);
digitalWrite(Giallo, LOW);
Serial.println("Led Giallo Spento");
digitalWrite(Rosso, HIGH);
analogWrite(Motore, 191);
Serial.println("Led Rosso Acceso ,Potenza al 75%");
Serial.println(Motore);
delay(5000);
digitalWrite(Rosso, LOW);
Serial.println("Led Rosso Spento");
}
skosso ha scritto:
non dovresti collegare il motore ad una porta analogica? anziché alla digitale?
poi con questo comando "Serial.println(Motore);" ti scriverà per forza 3..... sopra hai dichiarato "int motore = 3;"
Io ho risposto:
Kmq io ho dato int motore 3 xke pensavo di dire ad arduino che il motore è collegato al pin 3. Invece come devo fare?
