ECE3872 HW/SW Project Code

Dependencies:   mbed Servo mbed-rtos 4DGL-uLCD-SE PinDetect X_NUCLEO_53L0A1

Committer:
trmontgomery
Date:
Tue Apr 14 01:40:26 2020 +0000
Revision:
26:2063ee8419cc
Parent:
2:6302c949b133
map of distinct movements is playable. can record and play music at the same time.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rdobbs6 2:6302c949b133 1 #include "mbed.h"
rdobbs6 2:6302c949b133 2 // a new class to play a note on Speaker based on PwmOut class
rdobbs6 2:6302c949b133 3 class Speaker
rdobbs6 2:6302c949b133 4 {
rdobbs6 2:6302c949b133 5 public:
rdobbs6 2:6302c949b133 6 Speaker(PinName pin) : _pin(pin) {
rdobbs6 2:6302c949b133 7 // _pin(pin) means pass pin to the Speaker Constructor
rdobbs6 2:6302c949b133 8 }
rdobbs6 2:6302c949b133 9 // class method to play a note based on PwmOut class
rdobbs6 2:6302c949b133 10 void PlayNote(float frequency, float duration, float volume) {
rdobbs6 2:6302c949b133 11 _pin.period(1.0/frequency);
rdobbs6 2:6302c949b133 12 _pin = volume/2.0;
rdobbs6 2:6302c949b133 13 wait(duration);
rdobbs6 2:6302c949b133 14 _pin = 0.0;
rdobbs6 2:6302c949b133 15 }
rdobbs6 2:6302c949b133 16
rdobbs6 2:6302c949b133 17 private:
rdobbs6 2:6302c949b133 18 PwmOut _pin;
rdobbs6 2:6302c949b133 19 };