Arduino-upravljanje elektromotorima

poruka: 6
|
čitano: 3.586
|
moderatori: DrNasty, pirat, XXX-Man, Lazarus Long, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
offline
Arduino-upravljanje elektromotorima

Pozdrav, trebao bih pomoć u vezi mog projekta s arduinom. Radim RC autić kojeg bi upravljao preko bluetootha. Sve sam napravio, spojio h-most na elektro-motore i sve super radi kad ga serijski upravljam preko usba (serijskog porta s kabelom),,ali kada u arduino upiknem bluetooth,s kompom se serijski povežem s njim, on mi na arduino pošalje samo jedan bit,znaći pošaljem mu `w` za naprijed to primi krene prema naprijed i onda bluetooth prekine vezu i više nemogu ništa slati na arduino... stavit ću kod od tog mog projekta,pa ako ima netko da se kuži zaštoo je to tak, nek mi kaže,bio bii jako zahvalan :),,

 

P.S program za upravljanje sam napravio u VB-u i on šalje, npr. ako stisnem w, na serijski port 1,,ako nije stisnuto ništa,šalje 0...ali ista je prića kad arduino povežem s mobitelom preko BT-a i preko nekog serial terminala mu pošaljem npr. 1,,on to primi i veza prekine

 

int naprijed = 3; 

int nazad =5;

int lijevo=6;

int desno = 10;

void setup() {

Serial.begin(9600); // set serial speed

pinMode(naprijed, OUTPUT);

digitalWrite(naprijed, LOW); 

pinMode(desno, OUTPUT);

digitalWrite(desno, LOW); 

pinMode(lijevo, OUTPUT); 

digitalWrite(lijevo, LOW);

pinMode(nazad, OUTPUT); 

digitalWrite(nazad, LOW); 

}

 

 

void loop(){

while (Serial.available() == 0); // do nothing if nothing sent

int val = Serial.read() - '0'; 

 

if (val == 1) { 

digitalWrite(naprijed, HIGH); 

}

else if (val == 0) 

{

  digitalWrite(naprijed,LOW); 

}

 

if (val == 2) { 

digitalWrite(nazad,HIGH);

}

else if (val == 0) 

{

digitalWrite(nazad, LOW); 

}

 

if (val == 3) { 

digitalWrite(lijevo, HIGH);

}

else if (val == 0) 

{

digitalWrite(lijevo, LOW);

}

 

if (val == 4) { 

digitalWrite(desno, HIGH); 

}

else if (val == 0) 

{

digitalWrite(desno,LOW); 

}

 

 

 

Serial.println(val);

Serial.flush(); // clear serial port

}

 
0 0 hvala 0
12 godina
offline
Arduino-upravljanje elektromotorima

jesi probao izbaciti "Serial.flush();"?

možeš probat staviti i "delay();" od par milisekundi...

 

umjesto "while (Serial.available() == 0);" probaj sa

 

void loop(){

if (Serial.avaliable()){

 

"ostatak koda"

 

}

delay(2);

}

 

 
1 0 hvala 0
14 godina
offline
Arduino-upravljanje elektromotorima

probao sam izbaciti taj serial.flush() ali bilo je isto..baš sam danas razmišljao da ubacim neki delay u kod..probat ću napraviti to što si rekao pa ćemo vidjeti.

 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Arduino-upravljanje elektromotorima

Baud rate serijske komunikacije arduina i bluetooth modula trebao bi biti 115200, ako se ne varam, dok za komunikaciju bluetooth - kompjutor možeš koristiti bilo koji baud.  Dakle, Serial.begin(115200)..

 

14 godina
offline
Arduino-upravljanje elektromotorima

probao sam i to mijenjati,al nije išlo..sutra, ili dns ak uhvatim vremena, prboat ću ono sa delay-om i promjenit ću baud rate, pa možda proradi :)

 
0 0 hvala 0
10 godina
neaktivan
offline
Re: Arduino-upravljanje elektromotorima

Pozdrav

da li bi mogao spojiti stepper motor sa fotoaparatom

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice