motor portion of pinball project for ECE 4180 Final Project
Dependencies: mbed Servo Motor PinDetect
main.cpp
00001 // Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0) 00002 00003 #include "mbed.h" 00004 #include "Motor.h" 00005 #include "PinDetect.h" 00006 #include "Servo.h" 00007 00008 Servo myservo(p21); 00009 Motor m1(p24, p17, p18); // pwm, fwd, rev 00010 Motor m2(p25, p19, p20); // pwm, fwd, rev 00011 PinDetect pb1(p7); 00012 PinDetect pb2(p8); 00013 DigitalOut myled(LED1); 00014 DigitalOut myled2(LED2); 00015 DigitalOut myled3(LED3); 00016 DigitalOut myled4(LED4); 00017 00018 void pb1_hit_callback (void) { 00019 myled3 = !myled3; 00020 m1.speed(0.5); 00021 wait(0.05); 00022 m1.speed(0.0); 00023 wait(0.05); 00024 m1.speed(-0.5); 00025 wait(0.05); 00026 m1.speed(0.0); 00027 } 00028 00029 void pb2_hit_callback (void) { 00030 myled4 = !myled4; 00031 m2.speed(0.5); 00032 wait(0.05); 00033 m2.speed(0.0); 00034 wait(0.05); 00035 m2.speed(-0.5); 00036 wait(0.05); 00037 m2.speed(0.0); 00038 } 00039 00040 int main() { 00041 // Use internal pullups for pushbutton 00042 pb1.mode(PullUp); 00043 pb2.mode(PullUp); 00044 // Delay for initial pullup to take effect 00045 wait(.01); 00046 // Setup Interrupt callback functions for a pb hit 00047 pb1.attach_deasserted(&pb1_hit_callback); 00048 pb2.attach_deasserted(&pb2_hit_callback); 00049 // Start sampling pb inputs using interrupts 00050 pb1.setSampleFrequency(); 00051 pb2.setSampleFrequency(); 00052 00053 while (1) { 00054 myservo = 0.0; 00055 wait(0.5); 00056 myservo = -1.0; 00057 wait(0.5); 00058 } 00059 }
Generated on Sun Jul 24 2022 05:14:20 by 1.7.2