![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
TP_presa
Dependencies: SRF08 Servo mbed
main.cpp@2:6d12c2d70f19, 2017-05-31 (annotated)
- Committer:
- Remi95
- Date:
- Wed May 31 18:33:54 2017 +0000
- Revision:
- 2:6d12c2d70f19
- Parent:
- 1:5830b7d6a985
- Child:
- 3:0b19b5b7c3a4
Ver.0.0.3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Remi95 | 0:99cb324a2329 | 1 | #include "mbed.h" |
Remi95 | 0:99cb324a2329 | 2 | |
Remi95 | 0:99cb324a2329 | 3 | char Adress = 128; |
Remi95 | 2:6d12c2d70f19 | 4 | //char Vit =50; |
Remi95 | 0:99cb324a2329 | 5 | //Address: 130 |
Remi95 | 0:99cb324a2329 | 6 | //Command : 0 |
Remi95 | 0:99cb324a2329 | 7 | //Data: 64 |
Remi95 | 0:99cb324a2329 | 8 | //Checksum: 66 |
Remi95 | 0:99cb324a2329 | 9 | //Checksum Putc((address + 0 + speed) & 127); |
Remi95 | 0:99cb324a2329 | 10 | |
Remi95 | 0:99cb324a2329 | 11 | Serial sbt(p9, p10); // tx, rx |
Remi95 | 0:99cb324a2329 | 12 | |
Remi95 | 0:99cb324a2329 | 13 | DigitalOut myled1(LED1); |
Remi95 | 0:99cb324a2329 | 14 | DigitalOut myled2(LED2); |
Remi95 | 0:99cb324a2329 | 15 | DigitalOut myled3(LED3); |
Remi95 | 0:99cb324a2329 | 16 | DigitalOut myled4(LED4); |
Remi95 | 0:99cb324a2329 | 17 | DigitalOut S2 (p11); |
Remi95 | 0:99cb324a2329 | 18 | |
Remi95 | 0:99cb324a2329 | 19 | |
Remi95 | 0:99cb324a2329 | 20 | void Led (bool l1,bool l2,bool l3,bool l4){ //Fonction pour aider au debug avec les led |
Remi95 | 0:99cb324a2329 | 21 | |
Remi95 | 0:99cb324a2329 | 22 | myled1=l1; |
Remi95 | 0:99cb324a2329 | 23 | myled2=l2; |
Remi95 | 0:99cb324a2329 | 24 | myled3=l3; |
Remi95 | 0:99cb324a2329 | 25 | myled4=l4; |
Remi95 | 0:99cb324a2329 | 26 | } |
Remi95 | 2:6d12c2d70f19 | 27 | void emiss(char Code, char Vit){ |
Remi95 | 0:99cb324a2329 | 28 | sbt.putc(Adress); |
Remi95 | 1:5830b7d6a985 | 29 | sbt.putc(Code); |
Remi95 | 2:6d12c2d70f19 | 30 | sbt.putc(Vit); |
Remi95 | 2:6d12c2d70f19 | 31 | sbt.putc((Adress+Code+Vit) & 127); |
Remi95 | 1:5830b7d6a985 | 32 | } |
Remi95 | 1:5830b7d6a985 | 33 | |
Remi95 | 2:6d12c2d70f19 | 34 | void forward(char Vit) { |
Remi95 | 2:6d12c2d70f19 | 35 | emiss(0,Vit); |
Remi95 | 2:6d12c2d70f19 | 36 | emiss(4,Vit); |
Remi95 | 0:99cb324a2329 | 37 | } |
Remi95 | 2:6d12c2d70f19 | 38 | void avancer(char Vit) { |
Remi95 | 2:6d12c2d70f19 | 39 | int i=0; |
Remi95 | 2:6d12c2d70f19 | 40 | for(i; i<Vit ; i=i+(Vit/5));{ |
Remi95 | 2:6d12c2d70f19 | 41 | emiss(0,i); |
Remi95 | 2:6d12c2d70f19 | 42 | emiss(4,i); |
Remi95 | 2:6d12c2d70f19 | 43 | wait(0.1); |
Remi95 | 2:6d12c2d70f19 | 44 | } |
Remi95 | 0:99cb324a2329 | 45 | } |
Remi95 | 2:6d12c2d70f19 | 46 | void arreter(char Vit){ |
Remi95 | 2:6d12c2d70f19 | 47 | int i=Vit; |
Remi95 | 2:6d12c2d70f19 | 48 | for(i ; i>0;i=i-(Vit/5)){ |
Remi95 | 2:6d12c2d70f19 | 49 | emiss(0,i); |
Remi95 | 2:6d12c2d70f19 | 50 | emiss(4,i); |
Remi95 | 2:6d12c2d70f19 | 51 | wait(0.1);} |
Remi95 | 1:5830b7d6a985 | 52 | emiss(0,0); |
Remi95 | 1:5830b7d6a985 | 53 | emiss(4,0); |
Remi95 | 0:99cb324a2329 | 54 | } |
Remi95 | 2:6d12c2d70f19 | 55 | void arret_urgence(void) { |
Remi95 | 2:6d12c2d70f19 | 56 | emiss(0,0); |
Remi95 | 2:6d12c2d70f19 | 57 | emiss(4,0); |
Remi95 | 1:5830b7d6a985 | 58 | } |
Remi95 | 2:6d12c2d70f19 | 59 | void reculer(char Vit) { |
Remi95 | 2:6d12c2d70f19 | 60 | for(int i =0; i<Vit;i=i+5){ |
Remi95 | 2:6d12c2d70f19 | 61 | emiss(1,i); |
Remi95 | 2:6d12c2d70f19 | 62 | emiss(5,i); |
Remi95 | 2:6d12c2d70f19 | 63 | wait(0.1);} |
Remi95 | 2:6d12c2d70f19 | 64 | } |
Remi95 | 2:6d12c2d70f19 | 65 | void tourner_droite(char Vit) { |
Remi95 | 1:5830b7d6a985 | 66 | emiss(0,Vit); |
Remi95 | 1:5830b7d6a985 | 67 | emiss(5,Vit); |
Remi95 | 2:6d12c2d70f19 | 68 | wait(0.125); |
Remi95 | 1:5830b7d6a985 | 69 | emiss(0,0); |
Remi95 | 1:5830b7d6a985 | 70 | emiss(5,0); |
Remi95 | 1:5830b7d6a985 | 71 | } |
Remi95 | 2:6d12c2d70f19 | 72 | void tourner_gauche(char Vit) { |
Remi95 | 1:5830b7d6a985 | 73 | emiss(1,Vit); |
Remi95 | 1:5830b7d6a985 | 74 | emiss(4,Vit); |
Remi95 | 2:6d12c2d70f19 | 75 | wait(0.125); |
Remi95 | 1:5830b7d6a985 | 76 | emiss(1,0); |
Remi95 | 1:5830b7d6a985 | 77 | emiss(4,0); |
Remi95 | 1:5830b7d6a985 | 78 | } |
Remi95 | 2:6d12c2d70f19 | 79 | void demi_tour_droite(char Vit) { |
Remi95 | 1:5830b7d6a985 | 80 | emiss(0,Vit); |
Remi95 | 1:5830b7d6a985 | 81 | emiss(5,Vit); |
Remi95 | 2:6d12c2d70f19 | 82 | wait(0.75); |
Remi95 | 1:5830b7d6a985 | 83 | emiss(0,0); |
Remi95 | 1:5830b7d6a985 | 84 | emiss(5,0); |
Remi95 | 1:5830b7d6a985 | 85 | } |
Remi95 | 2:6d12c2d70f19 | 86 | void demi_tour_gauche(char Vit) { |
Remi95 | 1:5830b7d6a985 | 87 | emiss(1,Vit); |
Remi95 | 1:5830b7d6a985 | 88 | emiss(4,Vit); |
Remi95 | 2:6d12c2d70f19 | 89 | wait(0.75); |
Remi95 | 1:5830b7d6a985 | 90 | emiss(1,0); |
Remi95 | 1:5830b7d6a985 | 91 | emiss(4,0); |
Remi95 | 1:5830b7d6a985 | 92 | } |
Remi95 | 2:6d12c2d70f19 | 93 | void myVG (char Vit , char Ang){ |
Remi95 | 2:6d12c2d70f19 | 94 | emiss(1,Vit); |
Remi95 | 2:6d12c2d70f19 | 95 | emiss(4,Vit); |
Remi95 | 2:6d12c2d70f19 | 96 | wait((Ang*0.44)/Vit); |
Remi95 | 2:6d12c2d70f19 | 97 | emiss(1,0); |
Remi95 | 2:6d12c2d70f19 | 98 | emiss(4,0); |
Remi95 | 2:6d12c2d70f19 | 99 | } |
Remi95 | 0:99cb324a2329 | 100 | int main (){ |
Remi95 | 1:5830b7d6a985 | 101 | while (1){ |
Remi95 | 2:6d12c2d70f19 | 102 | Led (1,0,0,0); |
Remi95 | 2:6d12c2d70f19 | 103 | S2=0; |
Remi95 | 2:6d12c2d70f19 | 104 | wait(1); |
Remi95 | 2:6d12c2d70f19 | 105 | avancer(70); |
Remi95 | 2:6d12c2d70f19 | 106 | Led (1,1,0,0); |
Remi95 | 2:6d12c2d70f19 | 107 | wait(1); |
Remi95 | 2:6d12c2d70f19 | 108 | arreter(70); |
Remi95 | 2:6d12c2d70f19 | 109 | wait(0.5); |
Remi95 | 2:6d12c2d70f19 | 110 | reculer(70); |
Remi95 | 2:6d12c2d70f19 | 111 | Led (1,1,1,0); |
Remi95 | 2:6d12c2d70f19 | 112 | wait(1); |
Remi95 | 2:6d12c2d70f19 | 113 | arret_urgence(); |
Remi95 | 2:6d12c2d70f19 | 114 | wait(0.5); |
Remi95 | 2:6d12c2d70f19 | 115 | tourner_gauche(120); |
Remi95 | 2:6d12c2d70f19 | 116 | Led (1,1,1,1); |
Remi95 | 2:6d12c2d70f19 | 117 | wait(1); |
Remi95 | 2:6d12c2d70f19 | 118 | tourner_droite(120); |
Remi95 | 2:6d12c2d70f19 | 119 | Led (0,1,1,1); |
Remi95 | 2:6d12c2d70f19 | 120 | wait(1); |
Remi95 | 2:6d12c2d70f19 | 121 | demi_tour_gauche(120); |
Remi95 | 2:6d12c2d70f19 | 122 | Led (0,0,1,1); |
Remi95 | 2:6d12c2d70f19 | 123 | wait(1); |
Remi95 | 2:6d12c2d70f19 | 124 | demi_tour_droite(120); |
Remi95 | 2:6d12c2d70f19 | 125 | Led (0,0,0,1); |
Remi95 | 1:5830b7d6a985 | 126 | |
Remi95 | 1:5830b7d6a985 | 127 | } |
Remi95 | 0:99cb324a2329 | 128 | } |