David Beargie
/
LHS_program_1
Code for LHS 12_12_2013
main.cpp
- Committer:
- dbearg
- Date:
- 2013-12-13
- Revision:
- 0:17b1dcf89648
- Child:
- 1:da313e5e8914
File content as of revision 0:17b1dcf89648:
//================================== // Add any libraries that you use: //================================== #include "mbed.h" #include "Servo.h" //================================== // Add variables: //================================== //add a servo to PWM output on pin 25 Servo myservo(p25); //add a variable for servo position float position = 0.5; //add variables for the onboard LEDS, which display for each button DigitalOut led1(LED1), led2(LED2), led3(LED3), led4(LED4); //add variables for button inputs on pins 15, 16, 17, and 18. InterruptIn a(p18), b(p17), c(p16), d(p15); //================================== // Functions for each button press //================================== // Functions for button 1 void a_hit_interrupt (void) { //move servo motor position = 1.0; myservo = position; //Set LED 1 led1 = 1, led2 = 0, led3 = 0, led4 = 0; } // Functions for button 2 void b_hit_interrupt (void) { //move servo motor position = 0.0; myservo = position; //Set LED 2 led1 = 0, led2 = 1, led3 = 0, led4 = 0; } // Functions for button 3 void c_hit_interrupt (void) { //Set LED 3 led1 = 0, led2 = 0, led3 = 1, led4 = 0; } // Functions for button 4 void d_hit_interrupt (void) { //Set LED 4 led1 = 0, led2 = 0, led3 = 0, led4 = 1; } //========================================================== // MAIN FUNCTION // waits for button press, then uses the button code above //========================================================== int main() { //tune range depending on servo motor float range = 0.0009; // Use internal pullup resistors to limit the signal current a.mode(PullUp); b.mode(PullUp); c.mode(PullUp); d.mode(PullUp); // Delay for initial pullup switching to take effect wait(.01); // tells the code what function should be called for each switch press a.fall(&a_hit_interrupt); b.fall(&b_hit_interrupt); c.fall(&c_hit_interrupt); d.fall(&d_hit_interrupt); while(1) { //set the servo to use the set value myservo.calibrate(range, 45.0); //reset LEDs led1 = 0, led2 = 0, led3 = 0, led4 = 0; } }