![](/media/cache/group/9e3cc099b3b04bca937a1cca1da81b19.jpg.50x50_q85.jpg)
servo motor werkt eindelijk!!!! wiehoe!!!
Dependencies: mbed QEI Servo HIDScope biquadFilter MODSERIAL FastPWM
main.cpp@6:69f112e63de9, 2019-10-31 (annotated)
- Committer:
- freek100
- Date:
- Thu Oct 31 14:48:14 2019 +0000
- Revision:
- 6:69f112e63de9
- Parent:
- 5:e21d303d62d8
servomotor code met externe button
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
IsaRobin | 4:d3e8ec68ff97 | 1 | /* servo motor program - biorbotics group 8 */ |
jasperkessels | 0:009a005982e5 | 2 | |
freek100 | 6:69f112e63de9 | 3 | #include "Servo.h" |
freek100 | 6:69f112e63de9 | 4 | #include "mbed.h" |
freek100 | 6:69f112e63de9 | 5 | #include "HIDScope.h" |
freek100 | 6:69f112e63de9 | 6 | #include "QEI.h" |
freek100 | 6:69f112e63de9 | 7 | #include "MODSERIAL.h" |
freek100 | 6:69f112e63de9 | 8 | #include "BiQuad.h" |
freek100 | 6:69f112e63de9 | 9 | #include "FastPWM.h" |
jasperkessels | 0:009a005982e5 | 10 | |
IsaRobin | 4:d3e8ec68ff97 | 11 | MODSERIAL pc(USBTX, USBRX); //connect pc |
IsaRobin | 4:d3e8ec68ff97 | 12 | Servo myservo(D3); //the servo motor is connected to pin D3 on the BioRobotics shield |
freek100 | 6:69f112e63de9 | 13 | DigitalIn extButton1 (D2); |
IsaRobin | 5:e21d303d62d8 | 14 | //Button that will be used to control the servo motor |
IsaRobin | 5:e21d303d62d8 | 15 | InterruptIn button2(SW2); //when this button is pushed for the first time, the servo motor rotates to show the card to the user, when the button is pushed for the second time the servo motor rotates the card away from the user |
IsaRobin | 5:e21d303d62d8 | 16 | |
IsaRobin | 5:e21d303d62d8 | 17 | bool showcard=0; |
freek100 | 6:69f112e63de9 | 18 | bool butt1; |
freek100 | 6:69f112e63de9 | 19 | Ticker Servoticker; |
jasperkessels | 0:009a005982e5 | 20 | |
IsaRobin | 5:e21d303d62d8 | 21 | void changeservo() |
IsaRobin | 5:e21d303d62d8 | 22 | { |
freek100 | 6:69f112e63de9 | 23 | butt1= extButton1.read(); |
freek100 | 6:69f112e63de9 | 24 | if (butt1==1){ |
IsaRobin | 3:f30c2ded1a58 | 25 | myservo.SetPosition(2000); |
IsaRobin | 5:e21d303d62d8 | 26 | showcard=!showcard; |
IsaRobin | 5:e21d303d62d8 | 27 | } |
IsaRobin | 5:e21d303d62d8 | 28 | |
IsaRobin | 5:e21d303d62d8 | 29 | else { |
IsaRobin | 3:f30c2ded1a58 | 30 | myservo.SetPosition(1000); |
IsaRobin | 5:e21d303d62d8 | 31 | showcard=!showcard; |
IsaRobin | 5:e21d303d62d8 | 32 | } |
IsaRobin | 3:f30c2ded1a58 | 33 | } |
jasperkessels | 0:009a005982e5 | 34 | |
jasperkessels | 0:009a005982e5 | 35 | int main() |
jasperkessels | 0:009a005982e5 | 36 | { |
freek100 | 6:69f112e63de9 | 37 | |
IsaRobin | 1:1b33fd02e6b1 | 38 | pc.baud(115200); |
freek100 | 6:69f112e63de9 | 39 | pc.printf("Starting..."); |
freek100 | 6:69f112e63de9 | 40 | |
IsaRobin | 3:f30c2ded1a58 | 41 | myservo.Enable(1000,20000); |
freek100 | 6:69f112e63de9 | 42 | |
freek100 | 6:69f112e63de9 | 43 | Servoticker.attach(changeservo,0.01); |
freek100 | 6:69f112e63de9 | 44 | extButton1.mode(PullUp); |
freek100 | 6:69f112e63de9 | 45 | |
freek100 | 6:69f112e63de9 | 46 | |
jasperkessels | 0:009a005982e5 | 47 | while(true) { |
freek100 | 6:69f112e63de9 | 48 | pc.printf("Button1: %i \r\n", butt1); |
freek100 | 6:69f112e63de9 | 49 | wait(0.5); |
IsaRobin | 3:f30c2ded1a58 | 50 | } |
IsaRobin | 3:f30c2ded1a58 | 51 | } |
jasperkessels | 0:009a005982e5 | 52 | |
jasperkessels | 0:009a005982e5 | 53 | |
jasperkessels | 0:009a005982e5 | 54 | |
IsaRobin | 3:f30c2ded1a58 | 55 | |
IsaRobin | 4:d3e8ec68ff97 | 56 |