Mode_swither
Dependencies: MODSERIAL Servo mbed
main.cpp@0:0b992ae0bfd9, 2017-10-31 (annotated)
- Committer:
- DBerendsen
- Date:
- Tue Oct 31 14:24:40 2017 +0000
- Revision:
- 0:0b992ae0bfd9
mode_switcher
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DBerendsen | 0:0b992ae0bfd9 | 1 | #include "mbed.h" |
DBerendsen | 0:0b992ae0bfd9 | 2 | #include "Servo.h" |
DBerendsen | 0:0b992ae0bfd9 | 3 | #include "MODSERIAL.h" |
DBerendsen | 0:0b992ae0bfd9 | 4 | |
DBerendsen | 0:0b992ae0bfd9 | 5 | MODSERIAL pc(USBTX, USBRX); |
DBerendsen | 0:0b992ae0bfd9 | 6 | InterruptIn mbut(PTA4); |
DBerendsen | 0:0b992ae0bfd9 | 7 | InterruptIn sbut(PTC6); |
DBerendsen | 0:0b992ae0bfd9 | 8 | DigitalOut mode_signal(D2); |
DBerendsen | 0:0b992ae0bfd9 | 9 | DigitalOut led_rood(LED_RED); |
DBerendsen | 0:0b992ae0bfd9 | 10 | DigitalOut led_groen(LED_GREEN); |
DBerendsen | 0:0b992ae0bfd9 | 11 | DigitalOut led_blauw(LED_BLUE); |
DBerendsen | 0:0b992ae0bfd9 | 12 | |
DBerendsen | 0:0b992ae0bfd9 | 13 | int mode = 1; |
DBerendsen | 0:0b992ae0bfd9 | 14 | |
DBerendsen | 0:0b992ae0bfd9 | 15 | void mode_switcher() { |
DBerendsen | 0:0b992ae0bfd9 | 16 | |
DBerendsen | 0:0b992ae0bfd9 | 17 | switch(mode){ |
DBerendsen | 0:0b992ae0bfd9 | 18 | case 1: mode_signal = 1; |
DBerendsen | 0:0b992ae0bfd9 | 19 | mode_signal = 0; |
DBerendsen | 0:0b992ae0bfd9 | 20 | led_rood = 0; |
DBerendsen | 0:0b992ae0bfd9 | 21 | led_groen = 1; |
DBerendsen | 0:0b992ae0bfd9 | 22 | led_blauw = 1; |
DBerendsen | 0:0b992ae0bfd9 | 23 | break; |
DBerendsen | 0:0b992ae0bfd9 | 24 | case 2: mode_signal = 1; |
DBerendsen | 0:0b992ae0bfd9 | 25 | mode_signal = 0; |
DBerendsen | 0:0b992ae0bfd9 | 26 | led_rood = 1; |
DBerendsen | 0:0b992ae0bfd9 | 27 | led_groen = 0; |
DBerendsen | 0:0b992ae0bfd9 | 28 | led_blauw = 1; |
DBerendsen | 0:0b992ae0bfd9 | 29 | break; |
DBerendsen | 0:0b992ae0bfd9 | 30 | case 3: mode_signal = 1; |
DBerendsen | 0:0b992ae0bfd9 | 31 | mode_signal = 0; |
DBerendsen | 0:0b992ae0bfd9 | 32 | led_rood = 1; |
DBerendsen | 0:0b992ae0bfd9 | 33 | led_groen = 1; |
DBerendsen | 0:0b992ae0bfd9 | 34 | led_blauw = 0; |
DBerendsen | 0:0b992ae0bfd9 | 35 | break; |
DBerendsen | 0:0b992ae0bfd9 | 36 | case 4: mode_signal = 1; |
DBerendsen | 0:0b992ae0bfd9 | 37 | mode_signal = 0; |
DBerendsen | 0:0b992ae0bfd9 | 38 | led_rood = 0; |
DBerendsen | 0:0b992ae0bfd9 | 39 | led_groen = 0; |
DBerendsen | 0:0b992ae0bfd9 | 40 | led_blauw = 0; |
DBerendsen | 0:0b992ae0bfd9 | 41 | break; |
DBerendsen | 0:0b992ae0bfd9 | 42 | case 5: mode_signal = 1; |
DBerendsen | 0:0b992ae0bfd9 | 43 | mode_signal = 0; |
DBerendsen | 0:0b992ae0bfd9 | 44 | led_rood = 1; |
DBerendsen | 0:0b992ae0bfd9 | 45 | led_groen = 0; |
DBerendsen | 0:0b992ae0bfd9 | 46 | led_blauw = 0; |
DBerendsen | 0:0b992ae0bfd9 | 47 | break; |
DBerendsen | 0:0b992ae0bfd9 | 48 | case 6: mode_signal = 1; |
DBerendsen | 0:0b992ae0bfd9 | 49 | mode_signal = 0; |
DBerendsen | 0:0b992ae0bfd9 | 50 | led_rood = 0; |
DBerendsen | 0:0b992ae0bfd9 | 51 | led_groen = 0; |
DBerendsen | 0:0b992ae0bfd9 | 52 | led_blauw = 1; |
DBerendsen | 0:0b992ae0bfd9 | 53 | break; |
DBerendsen | 0:0b992ae0bfd9 | 54 | } |
DBerendsen | 0:0b992ae0bfd9 | 55 | |
DBerendsen | 0:0b992ae0bfd9 | 56 | pc.printf("The system is in mode %i\r\n", mode); |
DBerendsen | 0:0b992ae0bfd9 | 57 | |
DBerendsen | 0:0b992ae0bfd9 | 58 | mode += 1; |
DBerendsen | 0:0b992ae0bfd9 | 59 | |
DBerendsen | 0:0b992ae0bfd9 | 60 | if (mode==7) { |
DBerendsen | 0:0b992ae0bfd9 | 61 | mode = 1; |
DBerendsen | 0:0b992ae0bfd9 | 62 | } |
DBerendsen | 0:0b992ae0bfd9 | 63 | |
DBerendsen | 0:0b992ae0bfd9 | 64 | } |
DBerendsen | 0:0b992ae0bfd9 | 65 | |
DBerendsen | 0:0b992ae0bfd9 | 66 | |
DBerendsen | 0:0b992ae0bfd9 | 67 | //------------------------------------------------------------------------------ |
DBerendsen | 0:0b992ae0bfd9 | 68 | //--------------------------------Servo----------------------------------------- |
DBerendsen | 0:0b992ae0bfd9 | 69 | //------------------------------------------------------------------------------ |
DBerendsen | 0:0b992ae0bfd9 | 70 | Servo MyServo(D9); |
DBerendsen | 0:0b992ae0bfd9 | 71 | InterruptIn But1(D8); |
DBerendsen | 0:0b992ae0bfd9 | 72 | int k=0; |
DBerendsen | 0:0b992ae0bfd9 | 73 | |
DBerendsen | 0:0b992ae0bfd9 | 74 | void servo_control (){ |
DBerendsen | 0:0b992ae0bfd9 | 75 | if (k==0){ |
DBerendsen | 0:0b992ae0bfd9 | 76 | MyServo = 0; |
DBerendsen | 0:0b992ae0bfd9 | 77 | k=1; |
DBerendsen | 0:0b992ae0bfd9 | 78 | } |
DBerendsen | 0:0b992ae0bfd9 | 79 | else{ |
DBerendsen | 0:0b992ae0bfd9 | 80 | MyServo = 2; |
DBerendsen | 0:0b992ae0bfd9 | 81 | k=0; |
DBerendsen | 0:0b992ae0bfd9 | 82 | } |
DBerendsen | 0:0b992ae0bfd9 | 83 | } |
DBerendsen | 0:0b992ae0bfd9 | 84 | //------------------------------------------------------------------------------ |
DBerendsen | 0:0b992ae0bfd9 | 85 | //------------------------------------------------------------------------------ |
DBerendsen | 0:0b992ae0bfd9 | 86 | //------------------------------------------------------------------------------ |
DBerendsen | 0:0b992ae0bfd9 | 87 | |
DBerendsen | 0:0b992ae0bfd9 | 88 | |
DBerendsen | 0:0b992ae0bfd9 | 89 | |
DBerendsen | 0:0b992ae0bfd9 | 90 | int main() |
DBerendsen | 0:0b992ae0bfd9 | 91 | { |
DBerendsen | 0:0b992ae0bfd9 | 92 | led_rood = 1; |
DBerendsen | 0:0b992ae0bfd9 | 93 | led_groen = 1; |
DBerendsen | 0:0b992ae0bfd9 | 94 | led_blauw = 1; |
DBerendsen | 0:0b992ae0bfd9 | 95 | |
DBerendsen | 0:0b992ae0bfd9 | 96 | pc.baud(115200); |
DBerendsen | 0:0b992ae0bfd9 | 97 | mbut.rise(&mode_switcher); |
DBerendsen | 0:0b992ae0bfd9 | 98 | sbut.rise(&servo_control); |
DBerendsen | 0:0b992ae0bfd9 | 99 | } |