Witam. Po tytule pytania pewnie nikt nie wie o co chodzi. Już tłumaczę. Ostatnio bawię się silniczkiem DC za pomocą Arduino. Na razie zrobilem kod, który sprawia, że silnik kręci się w lewo, prawo lub zatrzymuje się. Całość wygląda tak:
String dane;
void setup() {
pinMode(8, OUTPUT);
digitalWrite(8, LOW);
pinMode(7, OUTPUT);
digitalWrite(8, LOW);
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
Serial.begin(9600);
}
void loop() {
if(Serial.available() > 0){
dane = Serial.readStringUntil('\n');
}
if (dane == "stop"){
digitalWrite(8, LOW);
digitalWrite(7, LOW);
digitalWrite(6, LOW);}
if (dane == "prawo"){
digitalWrite(8, HIGH);
digitalWrite(7, LOW);
digitalWrite(6, HIGH);
}
if (dane == "lewo"){
digitalWrite(8, LOW);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
}
}
Jak widać dane z monitora szeregowego zapisują się w formie zmiennej String. Chciałbym dodać kod, który dodatkowo kontrolowałby obroty. I tu rodzi się problem. Chcę, żeby po wpisaniu liczby od 0 do 255 obroty ustawiały sięna wpisaną liczbę. A ponieważ to jest zmienna string nie mogę tego zapisać w formie
if (0 <= dane && dane <= 255) // dane to tutaj zmienna int
{
analogWrite(6, dane)}
Czy dałoby się zrobić, żeby liczby zapisywały się w zmiennej int, a wyrazy w String?