motor portion of pinball project for ECE 4180 Final Project
Dependencies: mbed Servo Motor PinDetect
main.cpp
- Committer:
- Varoon5
- Date:
- 2019-04-30
- Revision:
- 1:f1c96924258d
- Parent:
- 0:7bbc230e00d6
File content as of revision 1:f1c96924258d:
// Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0) #include "mbed.h" #include "Motor.h" #include "PinDetect.h" #include "Servo.h" Servo myservo(p21); Motor m1(p24, p17, p18); // pwm, fwd, rev Motor m2(p25, p19, p20); // pwm, fwd, rev PinDetect pb1(p7); PinDetect pb2(p8); DigitalOut myled(LED1); DigitalOut myled2(LED2); DigitalOut myled3(LED3); DigitalOut myled4(LED4); void pb1_hit_callback (void) { myled3 = !myled3; m1.speed(0.5); wait(0.05); m1.speed(0.0); wait(0.05); m1.speed(-0.5); wait(0.05); m1.speed(0.0); } void pb2_hit_callback (void) { myled4 = !myled4; m2.speed(0.5); wait(0.05); m2.speed(0.0); wait(0.05); m2.speed(-0.5); wait(0.05); m2.speed(0.0); } int main() { // Use internal pullups for pushbutton pb1.mode(PullUp); pb2.mode(PullUp); // Delay for initial pullup to take effect wait(.01); // Setup Interrupt callback functions for a pb hit pb1.attach_deasserted(&pb1_hit_callback); pb2.attach_deasserted(&pb2_hit_callback); // Start sampling pb inputs using interrupts pb1.setSampleFrequency(); pb2.setSampleFrequency(); while (1) { myservo = 0.0; wait(0.5); myservo = -1.0; wait(0.5); } }