prueba1

Dependencies:   mbed motoresDC TextLCD SLCD

Committer:
20172573063
Date:
Mon Jun 22 21:29:43 2020 +0000
Revision:
0:465ff75162d5
Child:
1:e51f299dd462
motor; ; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
20172573063 0:465ff75162d5 1 #include "mbed.h"
20172573063 0:465ff75162d5 2 #include "rtos.h"
20172573063 0:465ff75162d5 3 #include "motoresDC.h"
20172573063 0:465ff75162d5 4
20172573063 0:465ff75162d5 5
20172573063 0:465ff75162d5 6 MotoresDC carro(D8,D10, D11, D9, D12, D13);
20172573063 0:465ff75162d5 7
20172573063 0:465ff75162d5 8 int pulso=0,num;
20172573063 0:465ff75162d5 9
20172573063 0:465ff75162d5 10 Thread thread;
20172573063 0:465ff75162d5 11 Thread thread1;
20172573063 0:465ff75162d5 12 Thread thread2;
20172573063 0:465ff75162d5 13
20172573063 0:465ff75162d5 14 void motor_ascend()
20172573063 0:465ff75162d5 15 {
20172573063 0:465ff75162d5 16 while(1) {
20172573063 0:465ff75162d5 17 if(pulso==1) {
20172573063 0:465ff75162d5 18 switch(num) {
20172573063 0:465ff75162d5 19 case '1':
20172573063 0:465ff75162d5 20 carro.conducir(0.3);
20172573063 0:465ff75162d5 21 break;
20172573063 0:465ff75162d5 22 case '2':
20172573063 0:465ff75162d5 23 carro.conducir(0.5);
20172573063 0:465ff75162d5 24 break;
20172573063 0:465ff75162d5 25 case '3':
20172573063 0:465ff75162d5 26 carro.conducir(0.7);
20172573063 0:465ff75162d5 27 break;
20172573063 0:465ff75162d5 28 case '4':
20172573063 0:465ff75162d5 29 carro.conducir(1);
20172573063 0:465ff75162d5 30 break;
20172573063 0:465ff75162d5 31 case '5':
20172573063 0:465ff75162d5 32
20172573063 0:465ff75162d5 33 NVIC_SystemReset ();
20172573063 0:465ff75162d5 34 break;
20172573063 0:465ff75162d5 35 }
20172573063 0:465ff75162d5 36
20172573063 0:465ff75162d5 37 Thread::wait(50);
20172573063 0:465ff75162d5 38 }
20172573063 0:465ff75162d5 39 }
20172573063 0:465ff75162d5 40 }
20172573063 0:465ff75162d5 41 void motor_descend()
20172573063 0:465ff75162d5 42 {
20172573063 0:465ff75162d5 43 while(1) {
20172573063 0:465ff75162d5 44 if(pulso==1) {
20172573063 0:465ff75162d5 45 switch(num) {
20172573063 0:465ff75162d5 46 case '4':
20172573063 0:465ff75162d5 47 carro.conducir(0.3);
20172573063 0:465ff75162d5 48 break;
20172573063 0:465ff75162d5 49 case '3':
20172573063 0:465ff75162d5 50 carro.conducir(0.5);
20172573063 0:465ff75162d5 51 break;
20172573063 0:465ff75162d5 52 case '2':
20172573063 0:465ff75162d5 53 carro.conducir(0.7);
20172573063 0:465ff75162d5 54 break;
20172573063 0:465ff75162d5 55 case '1':
20172573063 0:465ff75162d5 56 carro.conducir(1);
20172573063 0:465ff75162d5 57 break;
20172573063 0:465ff75162d5 58 case '5':
20172573063 0:465ff75162d5 59 NVIC_SystemReset ();
20172573063 0:465ff75162d5 60 break;
20172573063 0:465ff75162d5 61 }
20172573063 0:465ff75162d5 62
20172573063 0:465ff75162d5 63 Thread::wait(50);
20172573063 0:465ff75162d5 64 }
20172573063 0:465ff75162d5 65 }
20172573063 0:465ff75162d5 66 }
20172573063 0:465ff75162d5 67 void cambio()
20172573063 0:465ff75162d5 68 {
20172573063 0:465ff75162d5 69 while(1) {
20172573063 0:465ff75162d5 70 if(pulso==1) {
20172573063 0:465ff75162d5 71 if(num==1) {
20172573063 0:465ff75162d5 72 Thread::wait(2000);
20172573063 0:465ff75162d5 73 num++;
20172573063 0:465ff75162d5 74 }
20172573063 0:465ff75162d5 75 if(num==2) {
20172573063 0:465ff75162d5 76 Thread::wait(2000);
20172573063 0:465ff75162d5 77 num++;
20172573063 0:465ff75162d5 78 }
20172573063 0:465ff75162d5 79 if(num==3) {
20172573063 0:465ff75162d5 80 Thread::wait(2000);
20172573063 0:465ff75162d5 81 num++;
20172573063 0:465ff75162d5 82 }
20172573063 0:465ff75162d5 83
20172573063 0:465ff75162d5 84 if(num==4) {
20172573063 0:465ff75162d5 85 Thread::wait(6000);
20172573063 0:465ff75162d5 86 num++;
20172573063 0:465ff75162d5 87 }
20172573063 0:465ff75162d5 88
20172573063 0:465ff75162d5 89 }
20172573063 0:465ff75162d5 90 }
20172573063 0:465ff75162d5 91 }
20172573063 0:465ff75162d5 92 int main() {
20172573063 0:465ff75162d5 93
20172573063 0:465ff75162d5 94 thread.start (cambio);
20172573063 0:465ff75162d5 95 thread1.set_priority (osPriorityNormal1);
20172573063 0:465ff75162d5 96 thread1.start(motor_ascend);
20172573063 0:465ff75162d5 97 thread2.set_priority (osPriorityNormal1);
20172573063 0:465ff75162d5 98 thread2.start(motor_descend);
20172573063 0:465ff75162d5 99
20172573063 0:465ff75162d5 100
20172573063 0:465ff75162d5 101 }
20172573063 0:465ff75162d5 102