Francisco Santos
/
SRA_VFF
pepe
main.cpp@0:a7324f51348d, 2019-03-13 (annotated)
- Committer:
- PedroMartins96
- Date:
- Wed Mar 13 23:04:14 2019 +0000
- Revision:
- 0:a7324f51348d
- Child:
- 1:2716ea33958b
444
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
PedroMartins96 | 0:a7324f51348d | 1 | #include "mbed.h" |
PedroMartins96 | 0:a7324f51348d | 2 | #include "Robot.h" |
PedroMartins96 | 0:a7324f51348d | 3 | #include "Communication.h" |
PedroMartins96 | 0:a7324f51348d | 4 | |
PedroMartins96 | 0:a7324f51348d | 5 | Serial pc(SERIAL_TX, SERIAL_RX); |
PedroMartins96 | 0:a7324f51348d | 6 | InterruptIn button(USER_BUTTON); |
PedroMartins96 | 0:a7324f51348d | 7 | |
PedroMartins96 | 0:a7324f51348d | 8 | volatile bool mode=true; |
PedroMartins96 | 0:a7324f51348d | 9 | float x1=40,y1=-40; // Posição inicial do robo |
PedroMartins96 | 0:a7324f51348d | 10 | float a1=1,b1=-2,c1=4; // Reta ax + by + c = 0 |
PedroMartins96 | 0:a7324f51348d | 11 | float x2=50,y2=50,phi2=pi/2; // Pose arbitrária |
PedroMartins96 | 0:a7324f51348d | 12 | |
PedroMartins96 | 0:a7324f51348d | 13 | void pressed() |
PedroMartins96 | 0:a7324f51348d | 14 | { |
PedroMartins96 | 0:a7324f51348d | 15 | mode= !mode; |
PedroMartins96 | 0:a7324f51348d | 16 | } |
PedroMartins96 | 0:a7324f51348d | 17 | |
PedroMartins96 | 0:a7324f51348d | 18 | int main() |
PedroMartins96 | 0:a7324f51348d | 19 | { |
PedroMartins96 | 0:a7324f51348d | 20 | pc.baud(9600); |
PedroMartins96 | 0:a7324f51348d | 21 | button.fall(&pressed); |
PedroMartins96 | 0:a7324f51348d | 22 | |
PedroMartins96 | 0:a7324f51348d | 23 | while(1) { |
PedroMartins96 | 0:a7324f51348d | 24 | if (mode==true) { |
PedroMartins96 | 0:a7324f51348d | 25 | setSpeeds(0,0); |
PedroMartins96 | 0:a7324f51348d | 26 | |
PedroMartins96 | 0:a7324f51348d | 27 | } else { |
PedroMartins96 | 0:a7324f51348d | 28 | setSpeeds(0,0); |
PedroMartins96 | 0:a7324f51348d | 29 | |
PedroMartins96 | 0:a7324f51348d | 30 | motion(); |
PedroMartins96 | 0:a7324f51348d | 31 | wait(1); |
PedroMartins96 | 0:a7324f51348d | 32 | |
PedroMartins96 | 0:a7324f51348d | 33 | //to_point(x1,y1); |
PedroMartins96 | 0:a7324f51348d | 34 | //to_line(a1,b1,c1); |
PedroMartins96 | 0:a7324f51348d | 35 | to_pos(x2,y2,phi2); |
PedroMartins96 | 0:a7324f51348d | 36 | } |
PedroMartins96 | 0:a7324f51348d | 37 | } |
PedroMartins96 | 0:a7324f51348d | 38 | } |