Skocz do zawartości

Cinek97

Użytkownicy
  • Zawartość

    3
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Cinek97

  • Ranga
    1/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Arduino było zasilane napięciem 5,5V, lecz po wyłączeniu zasilania i podłączeniu go z powrotem program przestał działać. Działo się tak jak opisuje jeśli po wgraniu programu arduino było ciągle zasilane wszystko było ok, lecz jeśli odłączyłem choćby na 10 sekund mu zasilanie, program przestawał działać. Przycisk restet nic nie dawał. Co lepsze jak wgrałem ten sam program na Arduino Uno to on działa lecz mam spadki napięcia na wyjściach shielda. (wcześniej działałem na leonardo). W obu przypadkach używam tego samego kodu podanego w pierwszym poście.
  2. Witam To jest shield wpinany na arduino: https://botland.com.pl/pl/arduino-shield-kontrolery-silnikow-i-serw/8224-l293d-motor-driver-board-sterownik-silnikow-16v06a-nakladka-dla-arduino-iduino-st1138-5903351241267.html Ogólnie dziś potestowałem dalej i doszedłem do takich wniosków: -pierwsze wgranie + nie odłączenie kabla USB wpiętego do arduino Leonardo + zasilanie wpięte do shielda wszystko działa, czołg porusza się - po odłączeniu przewodu od komputera i ponownym go podłączeniu program przestaje działać. Dodam jeszcze, że to komunikacji z telefonem używam tego : https://botland.com.pl/pl/moduly-bluetooth/6642-modul-bluetooth-21-xm-15b-33v5v.html
  3. Dobry wieczór, Jestem "świeży" w sprawach programowania kontrolerów takich jak arduino, ale musiałem zrobić projekt na uczelnie. Wybrałem sobie sterowany przez moduł bluethooth XM-15 czołg. Podłączyłem wszystko z lekką pomocą stworzyłem połączenie z telefonem, przy użyciu terminala arduino "odpowiadało mi". Więc dodałem bibliotekę do silników dodałem kilka linijek kodu i wtedy zaczął się problem. Używam shielda z L293D i póki arduino jest połączone z komputerem czołg się porusza, ale jeśli podepnę zasilanie do złącza DC, nic nie działa. Używam Arduino Leonardo, a moduł bluethooth jest połączony do pinów 10,11. Czy to wina płytki czy coś w kodzie mam nie tak? Drugie pytanie czy da się zamiast terminala sterować za pomocą "gotowych kontrolerów" z google marketu. Poniżej kod programu: #include <SoftwareSerial.h> #include <MotorDriver.h> //Deklaracja portu szeregowego dla Bluetootha SoftwareSerial Bluetooth(10, 11); //Utworz instancje Bluetooth 10-RX 11-TX int buffer_in[200]; int i=0; int BluetoothDane; //do zmiennej int będą zapisywane odebrane dane MotorDriver m; int jade=0; void setup() { //i=0; // jade=0;//uruchomienie transmisji z terminalem while(!Serial); Serial.begin(9600); Bluetooth.begin(9600); //uruchom SerialSoftware z prędkością 9600 baud //Serial.println("Polaczyles sie z modulem Bluetooth czolgiem"); // digitalWrite(13,LOW); } void loop() { if (Bluetooth.available()) //Jeśli są jakieś dane { i=0; while (Bluetooth.available()>0) //Odczytujemy dane z bluetooth aż odczytamy wszystko { buffer_in[i]=Bluetooth.read(); //kopiuje dane z bluetooth do bufora i++; } digitalWrite (13,HIGH); Serial.println("Odebrano =\n"); Serial.print(i); //Serial.print("Zawartosc bufora\n"); for(int j=0;j<i-5;j++) Serial.println(buffer_in[j]); Serial.print("Koniec bufora\n"); if (i>0) //sprawdzamy czy cokolwiek odebraliśmy { //jesli tak to sprawdzamy co w buforze if (buffer_in[0]==1) { Serial.println("jade do przodu"); m.motor(1,FORWARD,255); m.motor(4,FORWARD,255); } if (buffer_in[0]==2) { Serial.println("jade do tylu"); m.motor(1,BACKWARD,255); m.motor(4,BACKWARD,255); } if (buffer_in[0]==3) { Serial.println("prawo"); m.motor(1,FORWARD,255);; m.motor(4,BRAKE,0); } if (buffer_in[0]==4) { Serial.println("lewo"); m.motor(4,FORWARD,255); m.motor(1,BRAKE,0); } if (buffer_in[0]==5) { Serial.println("Stop"); m.motor(1,BRAKE,0); m.motor(4,BRAKE,0); } //jak już sprawdzilismy co w buforze to trzeba go wyczyscic // i w następnym przebiegu petli znowu czekamy na coś co przyjdzie z blue memset(buffer_in, 0, sizeof(buffer_in)); } delay(1); //odczekaj 1ms } }
×
×
  • Utwórz nowe...