Kim Nielsen / Mbed 2 deprecated PRO1

Dependencies:   mbed

Fork of PRO1 by E2016-S1-Team5

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers nucleo_servo.cpp Source File

nucleo_servo.cpp

00001 #include "mbed.h"
00002 #include "nucleo_servo.h"
00003    
00004 Servo::Servo(PinName pin){
00005     servoPWM = new PwmOut(pin);
00006     servoPWM->period_ms(20);  //Do not change ;)
00007     servoPWM->pulsewidth_us(600);
00008     degrees = 0;
00009 }
00010 Servo::~Servo(){
00011     delete servoPWM;  
00012 }
00013 
00014 void Servo::set_position(float deg){
00015     degrees = deg;
00016     if(degrees > 180)degrees = 180;
00017     if(degrees < 0)degrees = 0;
00018     int pw_us = 640 + (degrees / 180 * 1900); 
00019     servoPWM->pulsewidth_us(pw_us);
00020 }
00021     
00022 void Servo::turn_left(float deg){
00023     degrees -= deg;
00024     set_position(degrees);
00025 }
00026 
00027 void Servo::turn_right(float deg){
00028     degrees += deg;
00029     set_position(degrees);
00030 }