Evan Zhang / Mbed 2 deprecated StepperMotorSong4180

Dependencies:   mbed mbed-rtos SDFileSystem11

Revision:
0:6cc2c1f459f1
Child:
1:ddbed1542633
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Apr 25 20:02:35 2021 +0000
@@ -0,0 +1,58 @@
+#include "mbed.h"
+#include "rtos.h"
+#include "notes.h"
+Thread motor;
+
+Serial pc(USBTX, USBRX); // tx, rx
+/*void playNote(PwmOut motor, float note){
+    motor.period(1/note);
+    motor.write(.5f);
+    }*/
+
+
+class Flipper {
+public:
+    Flipper(PinName pin) : _pin(pin) {
+        _pin = 0;
+    }
+    void flip() {
+        _pin = !_pin;
+    }
+private:
+    DigitalOut _pin;
+};
+ 
+DigitalOut led1(LED1);
+Flipper f(p21);
+Flipper f1(p22);
+Ticker t;
+Ticker t1;
+ 
+int main() {
+    float note1 = 1.0/(NOTE_A4*2);
+    float note2 = 1.0/(NOTE_CS5*2);
+    float note2m = 1.0/(NOTE_C5*2);
+    float note3 = 1.0/(NOTE_E5*2);
+    t.attach(&f, &Flipper::flip, note1); // the address of the object, member function, and interval
+    t1.attach(&f1, &Flipper::flip, note2);
+    pc.printf("Hello World!\n");
+    pc.printf("%f",note1);
+    // spin in a main loop. flipper will interrupt it to call flip
+    while(1) {
+        for(int i = 0; i < 10; i++) {
+        t1.attach(&f1, &Flipper::flip, note2);
+        led1 = !led1;
+        wait(0.2);
+        t1.attach(&f1, &Flipper::flip, note3);
+        wait(0.2);
+        }
+        for(int i = 0; i < 10; i++) {
+        t1.attach(&f1, &Flipper::flip, note2m);
+        led1 = !led1;
+        wait(0.2);
+        t1.attach(&f1, &Flipper::flip, note3);
+        wait(0.2);
+        }
+        
+    }
+}
\ No newline at end of file