prueba1
Dependencies: mbed motoresDC TextLCD SLCD
main.cpp@0:465ff75162d5, 2020-06-22 (annotated)
- Committer:
- 20172573063
- Date:
- Mon Jun 22 21:29:43 2020 +0000
- Revision:
- 0:465ff75162d5
- Child:
- 1:e51f299dd462
motor; ; ;
Who changed what in which revision?
User | Revision | Line number | New 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 |