• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
If nie działa (a tak poza tym to laser dla kota)
#1
Dzień dobry,
Mam problem, a dokładniej chodzi o to, że chciałem zrobić sterowany laser dla kota działający z kontrolerem na telefonie (bluetooth). Zbudowałem go, a kiedy zacząłem go programować, okazało się, że nie umiem tego zrobić. Dzięki diagnostyce udało mi się ustalić, że komendy if nie działają i najzwyczajniej if nie wykrywa w odpowiednim momencie, że musi odpalić inne komendy. Czy mógłby ktoś mi pomóc? Załączam plik z (dotychczasowym) kodem. 
.zip   kod laserek.zip (Rozmiar: 790 bajtów / Pobrań: 1)



Kod:
#define Speed 3 //określenie pinu do definiowania szybkości silnika
#define output1 5 // określenie pierwszego pinu silnika
#define output2 6 // określenie drugiego pinu silnika
#define laser 11 // określenie pinu lasera

#include <Servo.h> // biblioteka serwomachanizmów
Servo laserek; // definiowanie nowego serwa

int moc = 170; //moc lasera (przy zbyt dużym napięciu laser się przegrzewa)
int c = 0; // odbieranie informacji od bluetooth

void setup() {
  pinMode(output1,OUTPUT);
  pinMode(output2,OUTPUT);
  pinMode(Speed, OUTPUT);
  pinMode(laser, OUTPUT);

  laserek.attach(9);

  digitalWrite(laser, moc);

  laserek.write(0);

  Serial.begin(9600);

 
}

void loop() { 

  digitalWrite(laser, moc);
  Serial.write(c);// część diagnostyki


  if (Serial.available()){ //if od wykrywania wiadomości z kontrolera (działa)
    c = Serial.read();
    Serial.write(c); // część diagnostyki
    }
 
  if (c == 1){ //wykrycie pierwszego przycisku (nie działa)
      laserek.write(laserek.read() + 1);
      Serial.write("KK"); //część diagnostyki
    }
    if (c == "2"){ //if od drugiego przycisku (nie działa)
      laserek.write(laserek.read() - 1);
      Serial.write("KK"); //część diagnostyki
    }
    if (c == 3){ //if od trzeciego przycisku (nie działa)
      digitalWrite(Speed, 255);
      digitalWrite(output1,LOW);
      digitalWrite(output2,HIGH);
      Serial.write("KK"); //część diagnostyki
      delay(500);
    }
    if (c == 4){ //if od czwartego przycisku (nie działa)
      digitalWrite(Speed, 255);
      digitalWrite(output1,HIGH);
      digitalWrite(output2,LOW);
      Serial.write("KK"); // część diagnostyki
      delay(500);
    }
    if (c == 5){ //if od piątego przycisku (nie działa)
      if(moc > 120){
        moc = 0;
        Serial.write("KK"); //część diagnostyki
      }else{
        moc = 170;
        Serial.write("KK"); //część diagnostyki
      }
    }
}
 
Odpowiedź
  


Wiadomości w tym wątku
If nie działa (a tak poza tym to laser dla kota) - przez Fl1p3r3k - 09-12-2019, 18:57

Skocz do:


Przeglądający: 1 gości