.


:




:

































 

 

 

 


. . 3.

Arduino Bluetooth RC Car. , , ( ). Continuous Stream (F, B, L, R) 50 , . switch, :

switch (command) { // case 'F': // analogWrite(In1, speed); analogWrite(In2, 0); analogWrite(In3, speed); analogWrite(In4, 0); break; case 'B': // analogWrite(In1, 0); analogWrite(In2, speed); analogWrite(In3, 0); analogWrite(In4, speed); break; case 'L': // analogWrite(In1, speed); analogWrite(In2, 0); analogWrite(In3, 0); analogWrite(In4, speed); break; case 'R': // analogWrite(In1, 0); analogWrite(In2, speed); analogWrite(In3, speed); analogWrite(In4, 0); break; case 'S': // analogWrite(In1, 0); analogWrite(In2, 0); analogWrite(In3, 0); analogWrite(In4, 0); break; case 'U': // speed = speed + 10; break; case 'u': // speed = speed + 10; break; case 'W': // speed = speed - 10; break; case 'w': // speed = speed - 10; break; default: // - - analogWrite(In1, 0); analogWrite(In2, 0); analogWrite(In3, 0); analogWrite(In4, 0); break; }

 

, , - (, , , ) . , .

, loop, , , forward(). , , , analogWrite(In1, 0). , Arduino IDE. .

int, float .., (, float arcsin(x)). , , , void ()

:

void forward () { // , ( ), () , , analogWrite(In1, speed); analogWrite(In2, 0); analogWrite(In3, speed); analogWrite(In4, 0); }

 

switch . switch :

switch (command) { // case 'F': // forward(); break; case 'B': // backrward(); break; case 'L': // left(); break; case 'R': // right(); break; case 'S': // stop_motors(); break; case 'U': // speed = speed + 10; break; case 'u': // speed = speed + 10; break; case 'W': // speed = speed - 10; break; case 'w': // speed = speed - 10; break; default: // - - stop_motors(); break; }

 

, - , switch , . switch,

1: Arduino Bluetooth RC Car , . -

 

2.

, . , . , . , :

float k_speed_right = 1; // , ( ) float k_speed_left = 1; // , ( = 1, 1) void forward () { float speed_left = k_speed_left * speed; float speed_right = k_speed_right * speed; analogWrite(In1, 0); analogWrite(In2, speed_left); analogWrite(In3, 0); analogWrite(In4, speed_right); }

 

(backward, left, right). , (, k_speed_right = 1, k_speed_left = 0,95) , . ,

-, .. .

. : forward (200), , , . :

void forward (int time) { // ( ), (200 ). ( ) float speed_left = k_speed_left * speed; float speed_right = k_speed_right * speed; analogWrite(In1, 0); analogWrite(In2, speed_left); analogWrite(In3, 0); analogWrite(In4, speed_right); delay (time); stop_motors (); }

(backward, left, right) . - (, , , , , ..), loop . ( ): , , , - .



<== | ==>
|
:


: 2017-02-24; !; : 254 |


:

:

, .
==> ...

1267 - | 1232 -


© 2015-2024 lektsii.org - -

: 0.014 .