Witajcie!
Jestem tu nowy (świeżak, początkujący itp) dlatego prosze o wyrozumiałość
posiadam Arduino UNO, projekt który chce zrealizować to: sterowanie silnikiem DC za pomocą arduino w taki sposób, że prędkość silnika będzie ustawiana za pomocą potencjometra, dodatkowo chce aby silnik skręcał w prawą stronę po naciśnieniu przycisku, zaś po puszczeniu się zatrzyma. Drugi przycisk będzie odpowiadał za obrót w lewą stronę, i analogicznie jak go puszczę ma się zatrzymać. Próbowalem już wielu sposobów ale niestety nie umiem tego ruszyć.....poniżej przedstawiam kod programu: może ktoś mi podpowie gdzie robię błąd?
P.S po wgraniu na arduino nic się nie dzieje, silnik nie reaguje na przyciski.......na zdjęciu brakuje jeszcze 1 przycisku ale jest on podpiety ppod pin 4....
Proszę o pomoc....
Adrian
Jestem tu nowy (świeżak, początkujący itp) dlatego prosze o wyrozumiałość
posiadam Arduino UNO, projekt który chce zrealizować to: sterowanie silnikiem DC za pomocą arduino w taki sposób, że prędkość silnika będzie ustawiana za pomocą potencjometra, dodatkowo chce aby silnik skręcał w prawą stronę po naciśnieniu przycisku, zaś po puszczeniu się zatrzyma. Drugi przycisk będzie odpowiadał za obrót w lewą stronę, i analogicznie jak go puszczę ma się zatrzymać. Próbowalem już wielu sposobów ale niestety nie umiem tego ruszyć.....poniżej przedstawiam kod programu: może ktoś mi podpowie gdzie robię błąd?
Kod:
int enablePin = 11;
int in1Pin = 10;
int in2Pin = 9;
int switchPin = 7;
int switchPin2 = 4;
int potPin = 0;
void setup()
{
pinMode(in1Pin, OUTPUT);
pinMode(in2Pin, OUTPUT);
pinMode(enablePin, OUTPUT);
pinMode(switchPin, INPUT_PULLUP);
pinMode(switchPin2, INPUT_PULLUP);
}
void loop()
{
int speed = analogRead(potPin) / 4; //odczyt wartości napięcia z portu A0
if (digitalRead(switchPin) == HIGH){
digitalWrite(10, HIGH);
digitalWrite(11,LOW);
} else{
digitalWrite(10, LOW);
}
if (digitalRead(switchPin2) == HIGH){
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
} else{
digitalWrite(9, LOW);
}
}
void setMotor1_LEFT (int speed)
{
analogWrite(enablePin, speed);
digitalWrite(in1Pin, HIGH);
digitalWrite(in2Pin, LOW);
}
void setMotor2_RIGHT (int speed)
{
analogWrite(enablePin, speed);
digitalWrite(in1Pin, LOW);
digitalWrite(in2Pin, HIGH);
}
P.S po wgraniu na arduino nic się nie dzieje, silnik nie reaguje na przyciski.......na zdjęciu brakuje jeszcze 1 przycisku ale jest on podpiety ppod pin 4....
Proszę o pomoc....
Adrian