Skocz do zawartości

Sterowanie silnikami DC z BT


Pomocna odpowiedź

Ja mam pytanie ale odnośnie modułu bluetooth bo potrzebuje mieć silnik zdalnie sterowany mam układ z mostkiem h podpietym do silnika , mój kod jest taki sam i do tego podpiełam jeszcze dwa przyciski , oraz w dwóch ifach dalam warunek ze jesli nacisne przycisk pierwszy to obroty silnika beda w prawo, jesli nacisne drugi to beda w lewo i problem jest ten ze próbuje ten kod podpiąć z aplikacją do zdalnego sterowania wraz zmodułem bluetooth, mduł bluetooth podłączyłam i sparowałam ale po napisaniu kodu aplikacja nie odnajduje przycisków i nic sie nie dzieje , myslę ,że bład jest w kodzie ale sama nie potrafie go znależć , apka której uzywam to RoboRemoFree , gdyby był jakiś przykład kodu własnie z podłaczeniem modułu bluetooth do aplikacj jakiejś za pomoca , której mogłabym zdalnie sterować z telefonu obrotami silnika ?

Edytowano przez Gieneq
Link to post
Share on other sites

@faustin witam na forum 🙂 

Pytanie jest dużo bardziej rozbudowane od treści kursu wiec wydzielam z tematu:

 

Ciężko mi wyobrazić sobie twój projekt, proszę żebyś wrzuciła schemat i kod programu to postaramy się pomóc.

Link to post
Share on other sites
(edytowany)
void setup() { 
  pinMode(6, OUTPUT); //Sygnał PWM silnika nr 1
  pinMode(3,OUTPUT);
  pinMode(13,INPUT_PULLUP);
  digitalWrite(6, HIGH); //Ustawiamy (na stałe) stan wysoki na pinie 6
  
  pinMode(7, OUTPUT); //Sygnały sterujące kierunkiem obrotów silnika nr 1
  pinMode(8, OUTPUT);
} 
char cmd[100];
byte cmdIndex;
void exeCmd()
{
  if(cmd[0]=='s')
  {
     digitalWrite(7, LOW); //Silnik nr 1 - obroty w lewo
  digitalWrite(8, HIGH); 
  delay(30);
  }
}

Dzień dobry

 Dziekuje za zainteresowanie moim problemem , tak wiec sprawa wygląda tak tutaj mam wszystko podłaczone jak trzeba , moduł bluetooth sparowany jest z telefonem w aplikacji RoboRemoFree (raczej wątpie abym źle coś podłaczyła ale wysyłam zdjęcia)

IMG_20210801_233810030.thumb.jpg.30c57b9eb5ee7e8fdb11ed52ea810d94.jpgIMG_20210801_234625509.thumb.jpg.3e5f36205fbe325f523f3e6df797b3e1.jpgIMG_20210801_231426523.thumb.jpg.67a531dd7f54182a8ec48307af577a8c.jpg146615055_IMG_20210801_233810030(1).thumb.jpg.74be27247047549685cd9b7a46b8ac6f.jpg

wyżej jest przedstawiony silniczek z niebieskim kołem , którym chce sterować w sposób zdalny (przez apke w telefonie)

kod napisałam taki :

void setup() { 
  pinMode(6, OUTPUT); //Sygnał PWM silnika nr 1
  pinMode(3,OUTPUT);
  pinMode(13,INPUT_PULLUP);
  digitalWrite(6, HIGH); 
  
  pinMode(7, OUTPUT); //Sygnały sterujące kierunkiem obrotów silnika nr 1
  pinMode(8, OUTPUT);
} 
char cmd[100];
byte cmdIndex;
void exeCmd()
{
  if(cmd[0]=='s')
  {
     digitalWrite(7, LOW); //Silnik nr 1 - obroty w lewo
  digitalWrite(8, HIGH); 
  delay(30);
  }
}

 i własnie po sparowaniu arduino z aplikacja i ustawieniu w tej aplikacji interfejsu na przycisk o identyfikatorze "s" tak jak w szkicu nie działa mi to, wgl jak naciskam ten przycisk w aplikacji na telefonie silnik się wtedy nie wzbudza , wręcz przeciwnie jakby wgl nie reagował na ten kod. On kręci się nadal jak przyłoze do niego te kabelki z pinu 3 i pinu 6 z mostka ,pomimo tego ,że nie powinien się krecic dopóki ja nie nacisne przycisku w aplikacji bo taki przecież jest warunek w wyzej napisanym przez mnie kodzie.

  Gdyby ktos miał kod , który realizuje podobne działanie to byłoby super gdyby tutaj zamiescil, 

ogolnie jest mi to potrzebne z tym silnikiem poniewaz chce zrobić pojazd na arduino sterowany zdalnie z telefonu 

czekam na podpowiedzi i pozdrawiam.

 

Screenshot_20210804-005618.png

Screenshot_20210804-005633.png

Edytowano przez Gieneq
Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

8 godzin temu, faustin napisał:

to w takim razie to pod setup ma byc puste co mam tam wpisać?

 

Nic...zobacz pdstawowy szkic, jak jest napisany, gdzie co jest itp

Link to post
Share on other sites
12 minut temu, faustin napisał:

Ale sam kod pomijając to że w void setup nie ma być nic jest okey? 

W setup() ma byc to co jest...tylko te zmienne wywal jako globalne na sama gore

Link to post
Share on other sites
#include <SoftwareSerial.h>
  
SoftwareSerial blue(2, 3);

#define led 13
  
char znak = 0;

void setup() {
  blue.begin(9600); // tu zmieniasz predkosci!!!
  Serial.begin(9600);
  pinMode(led, OUTPUT);
}

void loop() {

  if (blue.available() > 0) { // tu twój serial BT
 
    znak = blue.read();
    Serial.println(znak);
  }
  if (znak == 's') {
    digitalWrite(led, HIGH);
  } else if (znak == '0') {
    digitalWrite(led, LOW);
    }
  }

Wgraj taki kod...podlacz modul pod piny 2/3 (rx/tx)...i w blue.begin ustaw taka predkosc na jaka jest modul ustawiony

  • Lubię! 1
Link to post
Share on other sites

 dzięki za kod Czyli jaką prędkość mam ustawić ? Skąd mam wiedzieć na jaką prędkość jest modul

Link to post
Share on other sites

I nie wiem skąd tam się wzięło LED z pinu 13 bo ja ogólnie chciałabym sterować silnikiem wtedy gdy na aplikacji nacisne odpowiedzi przycisk.

Link to post
Share on other sites
32 minuty temu, faustin napisał:

 Skąd mam wiedzieć na jaką prędkość jest modul

Predkosci masz standardowe...otworz serial monitor i tam masz wypisane predkosci i zmieniaj dla blue.begin az bedzie komunikacja...oczywiscie wgrywaj kod za kazdym razem...

 

34 minuty temu, faustin napisał:

I w tym miejscu z serialem BT to o co chodzi?

Nie rozumiem...

 

32 minuty temu, faustin napisał:

I nie wiem skąd tam się wzięło LED z pinu 13 bo ja ogólnie chciałabym sterować silnikiem wtedy gdy na aplikacji nacisne odpowiedzi przycisk.

To przyklad tylko...pin wybierz jaki chcesz i dopisz kod jaki chcesz...ogolnie ten kod ma Ci na serial monitorze wyswietlac to co wyslesz przez blue...wiec niczego nie zmieniaj tylko sprawdz najpierw czy cos odbierasz...no i kable od modulu na krzyz podlsczone

Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.