Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed Motordriver
main.cpp@1:00bee38b3f75, 2019-03-02 (annotated)
- Committer:
- kociol1994
- Date:
- Sat Mar 02 12:12:08 2019 +0000
- Revision:
- 1:00bee38b3f75
- Parent:
- 0:d080961d29a3
Opisane w main.cpp
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| kociol1994 | 0:d080961d29a3 | 1 | #include "mbed.h" |
| kociol1994 | 0:d080961d29a3 | 2 | #include "motordriver.h" |
| kociol1994 | 0:d080961d29a3 | 3 | #include "Map.hpp" |
| kociol1994 | 0:d080961d29a3 | 4 | |
| kociol1994 | 0:d080961d29a3 | 5 | |
| kociol1994 | 1:00bee38b3f75 | 6 | |
| kociol1994 | 1:00bee38b3f75 | 7 | |
| kociol1994 | 1:00bee38b3f75 | 8 | /* |
| kociol1994 | 0:d080961d29a3 | 9 | |
| kociol1994 | 1:00bee38b3f75 | 10 | Problem jest w tym że trzeba zamienić dane z potencjometru na wartosci -1 do 1 |
| kociol1994 | 1:00bee38b3f75 | 11 | Trzeba zmapować zmienną w taki sposób żeby w zakresie 0 do 0.5 przyjmowała wartości od -1 do 0 |
| kociol1994 | 1:00bee38b3f75 | 12 | a w zakresie 0.5 do 1 wartości od 0 do 1. |
| kociol1994 | 1:00bee38b3f75 | 13 | W arduino wyglądało to następująco: |
| kociol1994 | 1:00bee38b3f75 | 14 | Y = map(wartosc_Y, 0, 0.5, -1, 0); |
| kociol1994 | 1:00bee38b3f75 | 15 | Y = map(wartosc_Y, 0,5, 1, 0, 1); |
| kociol1994 | 1:00bee38b3f75 | 16 | Tutaj niestety trzeba bardziej kombinować. Znalazłem biblioteke Map.hpp ale nie wiem jak ona działa :-| |
| kociol1994 | 1:00bee38b3f75 | 17 | Trzeba albo ją rozkminić albo znaleźć inny sposób. |
| kociol1994 | 1:00bee38b3f75 | 18 | |
| kociol1994 | 1:00bee38b3f75 | 19 | Bez sterownika też można to robić bo wewnętrzny kompilator sprawdza wszystko. |
| kociol1994 | 1:00bee38b3f75 | 20 | Jeśli komuś się uda to niech da znać to sprawdze to na Nucleo. |
| kociol1994 | 1:00bee38b3f75 | 21 | |
| kociol1994 | 1:00bee38b3f75 | 22 | |
| kociol1994 | 1:00bee38b3f75 | 23 | */ |
| kociol1994 | 1:00bee38b3f75 | 24 | |
| kociol1994 | 1:00bee38b3f75 | 25 | float X0, X1, X; |
| kociol1994 | 1:00bee38b3f75 | 26 | float Y0, Y1, Y; |
| kociol1994 | 0:d080961d29a3 | 27 | |
| kociol1994 | 0:d080961d29a3 | 28 | |
| kociol1994 | 0:d080961d29a3 | 29 | Motor A(D6, D4, D7, 1); // pwm, fwd, rev, can brake |
| kociol1994 | 0:d080961d29a3 | 30 | Motor B(D5, D2, D3, 1); // pwm, fwd, rev, can brake |
| kociol1994 | 0:d080961d29a3 | 31 | |
| kociol1994 | 0:d080961d29a3 | 32 | AnalogIn joy_X(A0); |
| kociol1994 | 0:d080961d29a3 | 33 | AnalogIn joy_Y(A1); |
| kociol1994 | 0:d080961d29a3 | 34 | |
| kociol1994 | 0:d080961d29a3 | 35 | Serial pc(SERIAL_TX, SERIAL_RX); |
| kociol1994 | 0:d080961d29a3 | 36 | |
| kociol1994 | 0:d080961d29a3 | 37 | |
| kociol1994 | 0:d080961d29a3 | 38 | int main() { |
| kociol1994 | 0:d080961d29a3 | 39 | while(1){ |
| kociol1994 | 0:d080961d29a3 | 40 | |
| kociol1994 | 0:d080961d29a3 | 41 | X0 = joy_X.read(); |
| kociol1994 | 0:d080961d29a3 | 42 | Y0 = joy_Y.read(); |
| kociol1994 | 0:d080961d29a3 | 43 | |
| kociol1994 | 0:d080961d29a3 | 44 | Map(0, 0.5, -1, 0); |
| kociol1994 | 0:d080961d29a3 | 45 | Map(0.5, 1, 0, 1); |
| kociol1994 | 0:d080961d29a3 | 46 | X = X1; |
| kociol1994 | 0:d080961d29a3 | 47 | |
| kociol1994 | 0:d080961d29a3 | 48 | Map(0, 0.5, -1, 0); |
| kociol1994 | 0:d080961d29a3 | 49 | Map(0.5, 1, 0, 1); |
| kociol1994 | 0:d080961d29a3 | 50 | Y = Y1; |
| kociol1994 | 0:d080961d29a3 | 51 | |
| kociol1994 | 0:d080961d29a3 | 52 | printf("Pomiar: "); |
| kociol1994 | 0:d080961d29a3 | 53 | printf("measure X = %.0f ", X); |
| kociol1994 | 0:d080961d29a3 | 54 | printf("measure Y = %.0f \r\n", Y); |
| kociol1994 | 0:d080961d29a3 | 55 | wait_ms(50); |
| kociol1994 | 0:d080961d29a3 | 56 | |
| kociol1994 | 0:d080961d29a3 | 57 | |
| kociol1994 | 0:d080961d29a3 | 58 | if(X0==1) { |
| kociol1994 | 0:d080961d29a3 | 59 | A.speed(Y0); |
| kociol1994 | 0:d080961d29a3 | 60 | B.speed(Y0); |
| kociol1994 | 0:d080961d29a3 | 61 | }else{ |
| kociol1994 | 0:d080961d29a3 | 62 | |
| kociol1994 | 0:d080961d29a3 | 63 | A.stop(1); |
| kociol1994 | 0:d080961d29a3 | 64 | B.stop(1); |
| kociol1994 | 0:d080961d29a3 | 65 | } |
| kociol1994 | 0:d080961d29a3 | 66 | /* |
| kociol1994 | 0:d080961d29a3 | 67 | wait(1); |
| kociol1994 | 0:d080961d29a3 | 68 | A.coast(); |
| kociol1994 | 0:d080961d29a3 | 69 | B.coast(); |
| kociol1994 | 0:d080961d29a3 | 70 | */ |
| kociol1994 | 0:d080961d29a3 | 71 | |
| kociol1994 | 0:d080961d29a3 | 72 | } |
| kociol1994 | 0:d080961d29a3 | 73 | } |