servo

Dependents:   followCar script_voor_project

Fork of Servo by Simon Ford

Committer:
backman
Date:
Fri Dec 02 13:03:33 2016 +0000
Revision:
4:b9fe7af92cd5
Parent:
2:8995c167f399
servo final;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 2:8995c167f399 1 /* mbed R/C Servo Library
simon 2:8995c167f399 2 *
simon 2:8995c167f399 3 * Copyright (c) 2007-2010 sford, cstyles
simon 2:8995c167f399 4 *
simon 2:8995c167f399 5 * Permission is hereby granted, free of charge, to any person obtaining a copy
simon 2:8995c167f399 6 * of this software and associated documentation files (the "Software"), to deal
simon 2:8995c167f399 7 * in the Software without restriction, including without limitation the rights
simon 2:8995c167f399 8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
simon 2:8995c167f399 9 * copies of the Software, and to permit persons to whom the Software is
simon 2:8995c167f399 10 * furnished to do so, subject to the following conditions:
simon 2:8995c167f399 11 *
simon 2:8995c167f399 12 * The above copyright notice and this permission notice shall be included in
simon 2:8995c167f399 13 * all copies or substantial portions of the Software.
simon 2:8995c167f399 14 *
simon 2:8995c167f399 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
simon 2:8995c167f399 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
simon 2:8995c167f399 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
simon 2:8995c167f399 18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
simon 2:8995c167f399 19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
simon 2:8995c167f399 20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
simon 2:8995c167f399 21 * THE SOFTWARE.
simon 0:24148c673250 22 */
simon 2:8995c167f399 23
simon 0:24148c673250 24 #include "Servo.h"
simon 0:24148c673250 25 #include "mbed.h"
simon 0:24148c673250 26
simon 0:24148c673250 27
simon 0:24148c673250 28 Servo::Servo(PinName pin) : _pwm(pin) {
backman 4:b9fe7af92cd5 29
backman 4:b9fe7af92cd5 30 _pwm.period_ms(20);
backman 4:b9fe7af92cd5 31 wait(0.5);
simon 0:24148c673250 32 }
simon 0:24148c673250 33
backman 4:b9fe7af92cd5 34
backman 4:b9fe7af92cd5 35
backman 4:b9fe7af92cd5 36 /*
backman 4:b9fe7af92cd5 37
simon 0:24148c673250 38
backman 4:b9fe7af92cd5 39
backman 4:b9fe7af92cd5 40 while(1){
backman 4:b9fe7af92cd5 41
backman 4:b9fe7af92cd5 42 p.pulsewidth(0.0010);
backman 4:b9fe7af92cd5 43 wait(1);
backman 4:b9fe7af92cd5 44
backman 4:b9fe7af92cd5 45 p.pulsewidth((0.0016+0.0009)/2);
backman 4:b9fe7af92cd5 46 wait(1);
backman 4:b9fe7af92cd5 47
backman 4:b9fe7af92cd5 48 p.pulsewidth(0.0015);
backman 4:b9fe7af92cd5 49 wait(1);
backman 4:b9fe7af92cd5 50
backman 4:b9fe7af92cd5 51
backman 4:b9fe7af92cd5 52
backman 4:b9fe7af92cd5 53
backman 4:b9fe7af92cd5 54 }
simon 0:24148c673250 55
backman 4:b9fe7af92cd5 56 */
backman 4:b9fe7af92cd5 57
backman 4:b9fe7af92cd5 58
backman 4:b9fe7af92cd5 59
simon 0:24148c673250 60
backman 4:b9fe7af92cd5 61
backman 4:b9fe7af92cd5 62
backman 4:b9fe7af92cd5 63 void Servo::angle(float ang){
backman 4:b9fe7af92cd5 64
backman 4:b9fe7af92cd5 65 // l45->0.0010 1000us
backman 4:b9fe7af92cd5 66 // r45->0.0015 1500us
backman 4:b9fe7af92cd5 67
backman 4:b9fe7af92cd5 68
backman 4:b9fe7af92cd5 69 //0.0010 0.0015
backman 4:b9fe7af92cd5 70 // -45 0 45
backman 4:b9fe7af92cd5 71
backman 4:b9fe7af92cd5 72 // m= 250/45 =5.556
simon 0:24148c673250 73
backman 4:b9fe7af92cd5 74 //ang*x=
simon 0:24148c673250 75
backman 4:b9fe7af92cd5 76 _pwm.pulsewidth_us(ang*5.556+1250);
backman 4:b9fe7af92cd5 77
backman 4:b9fe7af92cd5 78
backman 4:b9fe7af92cd5 79
backman 4:b9fe7af92cd5 80
backman 4:b9fe7af92cd5 81
backman 4:b9fe7af92cd5 82
backman 4:b9fe7af92cd5 83
backman 4:b9fe7af92cd5 84
backman 4:b9fe7af92cd5 85
backman 4:b9fe7af92cd5 86
backman 4:b9fe7af92cd5 87 }