SimpleControls works with the BLEController iOS/Android App. The mbed's pin can acts as DIGITAL_IN, DIGITAL_OUT, PWM, SERVO, ANALOG_IN. The sketch is to show you how to control the pin as one of the abilities.
Dependencies: BLE_API mbed nRF51822
Fork of BLENano_SimpleControls by
Servo.cpp@0:be2e4095513a, 2014-10-31 (annotated)
- Committer:
- RedBearLab
- Date:
- Fri Oct 31 09:47:34 2014 +0000
- Revision:
- 0:be2e4095513a
- Child:
- 1:81a97eb70d3d
First commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RedBearLab | 0:be2e4095513a | 1 | #include "Servo.h" |
RedBearLab | 0:be2e4095513a | 2 | |
RedBearLab | 0:be2e4095513a | 3 | Servo::Servo(PinName pin) : _servo(pin) |
RedBearLab | 0:be2e4095513a | 4 | { |
RedBearLab | 0:be2e4095513a | 5 | _servo.period_ms(20); |
RedBearLab | 0:be2e4095513a | 6 | } |
RedBearLab | 0:be2e4095513a | 7 | |
RedBearLab | 0:be2e4095513a | 8 | Servo::~Servo(void) |
RedBearLab | 0:be2e4095513a | 9 | { |
RedBearLab | 0:be2e4095513a | 10 | |
RedBearLab | 0:be2e4095513a | 11 | } |
RedBearLab | 0:be2e4095513a | 12 | |
RedBearLab | 0:be2e4095513a | 13 | void Servo::write(unsigned char degree) |
RedBearLab | 0:be2e4095513a | 14 | { |
RedBearLab | 0:be2e4095513a | 15 | convert(degree); |
RedBearLab | 0:be2e4095513a | 16 | _servo.pulsewidth_us(pulse); |
RedBearLab | 0:be2e4095513a | 17 | } |
RedBearLab | 0:be2e4095513a | 18 | |
RedBearLab | 0:be2e4095513a | 19 | void Servo::convert(unsigned char degree) |
RedBearLab | 0:be2e4095513a | 20 | { |
RedBearLab | 0:be2e4095513a | 21 | // 0~180 degree correspond to 500~2500 |
RedBearLab | 0:be2e4095513a | 22 | pulse = degree * 11 + 500; |
RedBearLab | 0:be2e4095513a | 23 | } |