Skocz do zawartości

Wykonywanie programu w robocie po odłączeniu przewodu USB od Arduino UNO


Pomocna odpowiedź

Napisano

Witam. Może nie za dobrze opisałem temat ale, jestem w tym zielony i się uczę ale umiem co raz więcej 😄

Wracając do tematu, chodzi mi o to że gdy mam program np.

#define L_PWM 5
#define L_DIR 4
#define R_PWM 6
#define R_DIR 9
#define PWM_MAX 165

void setup() {
  //Konfiguracja pinow od mostka H
  pinMode(L_DIR, OUTPUT);
  pinMode(R_DIR, OUTPUT);
  pinMode(L_PWM, OUTPUT);
  pinMode(R_PWM, OUTPUT);
}

void loop() {
  leftMotor(60); //Jazda do przodu z predkoscią 60%
  rightMotor(60);
  delay(1000); //Jazda przez sekunde

  leftMotor(-50); //Obrot w miejscu z predkoscią 50%
  rightMotor(50);
  delay(2000); //Czas trwania obrotu 2 sekundy

  leftMotor(-80); //Jazda do tyłu z predkoscią 80%
  rightMotor(-80);
  delay(1000); //Jazda do tyłu przez sekunde
}

void leftMotor(int V) {
  if (V > 0) { //Jesli predkosc jest wieksza od 0 (dodatnia)
    V = map(V, 0, 100, 0, PWM_MAX);
    digitalWrite(L_DIR, 0); //Kierunek: do przodu
    analogWrite(L_PWM, V); //Ustawienie predkosci
  } else {
    V = abs(V); //Funkcja abs() zwroci wartosc V  bez znaku
    V = map(V, 0, 100, 0, PWM_MAX);
    digitalWrite(L_DIR, 1); //Kierunek: do tyłu
    analogWrite(L_PWM, V); //Ustawienie predkosci    
  }
}

void rightMotor(int V) {
  if (V > 0) { //Jesli predkosc jest wieksza od 0 (dodatnia)
    V = map(V, 0, 100, 0, PWM_MAX);
    digitalWrite(R_DIR, 0); //Kierunek: do przodu
    analogWrite(R_PWM, V); //Ustawienie predkosci
  } else {
    V = abs(V); //Funkcja abs() zwroci wartosc V  bez znaku
    V = map(V, 0, 100, 0, PWM_MAX);
    digitalWrite(R_DIR, 1); //Kierunek: do tyłu
    analogWrite(R_PWM, V); //Ustawienie predkosci    
  }
}



void stopMotors() {
  analogWrite(L_PWM, 0); //Wylaczenie silnika lewego
  analogWrite(R_PWM, 0); //Wylaczenie silnika prawego
}

 

I gdy go już wgram to tak, działa ale jak wgram i po wgraniu odłączę kabel USB od arduino zostawiając przełącznik włączony (ten na samej górze) to program nie działą i arduino nie jeździ, a jak zostawie podłączony kabel to działa. Niewiem o co chodzi ale wiem że kabel jest niepotrzebny tylko niewiem ja to zrobić.

Odrazu mówie że mam te dwie płytki które na sobie są i ta na górze jest włączone bo świeci się czerwona i troche dalej zielona dioda. A na dole jest tylko zielona dioda. Ale jak odłącze kabel USB to na dolnej płytce zielona dioda się wyłącza i tak jakby nic niema. (Myślę że po prostu arduino musi zapamiętać ten program co wgrałem żeby móc to zrobić bez podłączonego kabla 🙂 ).

Pozdrawiam serdecznie.

@Karox witam na forum! Jeśli po odłączeniu przewodu USB masz taką sytuację, że u góry świecą się diody, ale na Arduino UNO nie świeci się absolutnie nic, to wygląda jakby Arduino nie otrzymywało zasilania z shieldu (a powinno). To niestety może być jakiś fizyczny defekt shieldu. Zgłoś proszę sprawę do sprzedawcy, czyli zapewne do Botlandu, na pewno szybko pomogą rozwiązać ten temat 🙂 Mam nadzieję, że dalej obejdzie się już bez takich niespodzianek!

  • Pomogłeś! 1
(edytowany)

Już działa!

Po prostu chyba jeden pin nie był do końca podpięty. Działają już dwie płytki.

I mam jeszcze pytanie, czy po wgraniu programu można odłączyć kabel USB?

Edytowano przez Karox

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...