TP_presa

Dependencies:   SRF08 Servo mbed

Committer:
Remi95
Date:
Wed May 31 18:33:28 2017 +0000
Revision:
1:5830b7d6a985
Parent:
0:99cb324a2329
Child:
2:6d12c2d70f19
Ver.0.0.2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Remi95 0:99cb324a2329 1 #include "mbed.h"
Remi95 0:99cb324a2329 2
Remi95 0:99cb324a2329 3 char Adress = 128;
Remi95 1:5830b7d6a985 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 1:5830b7d6a985 27 void emiss(char Code, char Vit_perso){
Remi95 0:99cb324a2329 28 sbt.putc(Adress);
Remi95 1:5830b7d6a985 29 sbt.putc(Code);
Remi95 1:5830b7d6a985 30 sbt.putc(Vit_perso);
Remi95 1:5830b7d6a985 31 sbt.putc((Adress+Code+Vit_perso) & 127);
Remi95 1:5830b7d6a985 32 }
Remi95 1:5830b7d6a985 33
Remi95 1:5830b7d6a985 34 void forward(char Vit_perso) {
Remi95 1:5830b7d6a985 35 emiss(0,Vit_perso);
Remi95 1:5830b7d6a985 36 emiss(4,Vit_perso);
Remi95 0:99cb324a2329 37 }
Remi95 0:99cb324a2329 38 void avancer(void) {
Remi95 1:5830b7d6a985 39
Remi95 1:5830b7d6a985 40 emiss(0,Vit);
Remi95 1:5830b7d6a985 41 emiss(4,Vit);
Remi95 0:99cb324a2329 42 }
Remi95 1:5830b7d6a985 43 void arreter(void) {
Remi95 1:5830b7d6a985 44 emiss(0,0);
Remi95 1:5830b7d6a985 45 emiss(4,0);
Remi95 0:99cb324a2329 46 }
Remi95 0:99cb324a2329 47
Remi95 1:5830b7d6a985 48 void reculer(void) {
Remi95 1:5830b7d6a985 49
Remi95 1:5830b7d6a985 50 emiss(1,Vit);
Remi95 1:5830b7d6a985 51 emiss(5,Vit);
Remi95 1:5830b7d6a985 52 }
Remi95 1:5830b7d6a985 53 void tourner_droite(void) {
Remi95 0:99cb324a2329 54
Remi95 1:5830b7d6a985 55 emiss(0,Vit);
Remi95 1:5830b7d6a985 56 emiss(5,Vit);
Remi95 1:5830b7d6a985 57 wait(0.3);
Remi95 1:5830b7d6a985 58 emiss(0,0);
Remi95 1:5830b7d6a985 59 emiss(5,0);
Remi95 1:5830b7d6a985 60 }
Remi95 1:5830b7d6a985 61 void tourner_gauche(void) {
Remi95 1:5830b7d6a985 62 Vit=50;
Remi95 1:5830b7d6a985 63 emiss(1,Vit);
Remi95 1:5830b7d6a985 64 emiss(4,Vit);
Remi95 1:5830b7d6a985 65 wait(0.3);
Remi95 1:5830b7d6a985 66 emiss(1,0);
Remi95 1:5830b7d6a985 67 emiss(4,0);
Remi95 1:5830b7d6a985 68 }
Remi95 1:5830b7d6a985 69 void demi_tour_droite(void) {
Remi95 1:5830b7d6a985 70
Remi95 1:5830b7d6a985 71 emiss(0,Vit);
Remi95 1:5830b7d6a985 72 emiss(5,Vit);
Remi95 1:5830b7d6a985 73 wait(1);
Remi95 1:5830b7d6a985 74 emiss(0,0);
Remi95 1:5830b7d6a985 75 emiss(5,0);
Remi95 1:5830b7d6a985 76 }
Remi95 1:5830b7d6a985 77 void demi_tour_gauche(void) {
Remi95 1:5830b7d6a985 78 emiss(1,Vit);
Remi95 1:5830b7d6a985 79 emiss(4,Vit);
Remi95 1:5830b7d6a985 80 wait(1);
Remi95 1:5830b7d6a985 81 emiss(1,0);
Remi95 1:5830b7d6a985 82 emiss(4,0);
Remi95 1:5830b7d6a985 83 }
Remi95 0:99cb324a2329 84 int main (){
Remi95 1:5830b7d6a985 85 while (1){
Remi95 1:5830b7d6a985 86 Led (1,0,0,0);
Remi95 0:99cb324a2329 87 S2=0;
Remi95 0:99cb324a2329 88 wait(1);
Remi95 1:5830b7d6a985 89 avancer();
Remi95 1:5830b7d6a985 90 Led (1,1,0,0);
Remi95 1:5830b7d6a985 91 wait(1);
Remi95 1:5830b7d6a985 92 reculer();
Remi95 1:5830b7d6a985 93 Led (1,1,1,0);
Remi95 1:5830b7d6a985 94 wait(1);
Remi95 1:5830b7d6a985 95 tourner_gauche();
Remi95 1:5830b7d6a985 96 Led (1,1,1,1);
Remi95 1:5830b7d6a985 97 wait(1);
Remi95 1:5830b7d6a985 98 tourner_droite();
Remi95 1:5830b7d6a985 99 Led (0,1,1,1);
Remi95 1:5830b7d6a985 100 wait(1);
Remi95 1:5830b7d6a985 101 demi_tour_gauche();
Remi95 1:5830b7d6a985 102 Led (0,0,1,1);
Remi95 1:5830b7d6a985 103 wait(1);
Remi95 1:5830b7d6a985 104 demi_tour_droite();
Remi95 1:5830b7d6a985 105 Led (0,0,0,1);
Remi95 1:5830b7d6a985 106
Remi95 1:5830b7d6a985 107 }
Remi95 0:99cb324a2329 108 }