TP_presa

Dependencies:   SRF08 Servo mbed

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?

UserRevisionLine numberNew 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 }