Control servo motors

Dependencies:   Servo mbed

Committer:
jordaahh
Date:
Sun May 21 12:50:37 2017 +0000
Revision:
3:306d3725ed04
Parent:
2:baf8a7b2b150
Individual Project Servo Control - University of Leeds

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jordaahh 3:306d3725ed04 1 /**
jordaahh 3:306d3725ed04 2 @file SystemFunctions.h
jordaahh 3:306d3725ed04 3 @brief Header file containing functions prototypes.
jordaahh 3:306d3725ed04 4 @author Jordan Harper
jordaahh 3:306d3725ed04 5 @date March 2017
jordaahh 3:306d3725ed04 6 */
jordaahh 2:baf8a7b2b150 7
jordaahh 3:306d3725ed04 8 /* functions */
jordaahh 3:306d3725ed04 9
jordaahh 3:306d3725ed04 10 /** Sets signal rate for serial connection to PC and displays string of measured analog signals.
jordaahh 3:306d3725ed04 11 @param pc.baud() - sets signal freq.
jordaahh 3:306d3725ed04 12 @param pc.printf() - prints string to PC (CoolTerm).
jordaahh 3:306d3725ed04 13 @returns Float values measured from each LDR.
jordaahh 3:306d3725ed04 14 */
jordaahh 3:306d3725ed04 15 void serialRead();
jordaahh 2:baf8a7b2b150 16
jordaahh 3:306d3725ed04 17 /** Records analog data from each LDR, places it in an array and gives array values weights based on how new the measurement is (organises them by significance to get accurate average signal).
jordaahh 3:306d3725ed04 18 @param i - counter variable.
jordaahh 3:306d3725ed04 19 @param j - counter variable.
jordaahh 3:306d3725ed04 20 @param Average1 - Average value for LDR1.
jordaahh 3:306d3725ed04 21 @param Average2 - Average value for LDR2.
jordaahh 3:306d3725ed04 22 @param Average3 - Average value for LDR3.
jordaahh 3:306d3725ed04 23 @param Average4 - Average value for LDR4.
jordaahh 3:306d3725ed04 24 @returns Average value for each LDR.
jordaahh 3:306d3725ed04 25 */
jordaahh 3:306d3725ed04 26 void digitalFilter();
jordaahh 2:baf8a7b2b150 27
jordaahh 3:306d3725ed04 28 /** Moves the servo based on the signals measured from LDR's.
jordaahh 3:306d3725ed04 29 @param OverallAverage - Base value of LDR signals.
jordaahh 3:306d3725ed04 30 @param Servo1 - signal sent to Servo 1 in analog form.
jordaahh 3:306d3725ed04 31 @param Servo2 - signal sent to Servo 2 in analog form.
jordaahh 3:306d3725ed04 32 */
jordaahh 3:306d3725ed04 33 void servoMovement();
jordaahh 2:baf8a7b2b150 34
jordaahh 3:306d3725ed04 35 /** Calibrates PWM signal.
jordaahh 3:306d3725ed04 36 @param servo.calibrate() - sets range of movement in degrees for Pulse Width value.
jordaahh 3:306d3725ed04 37 */
jordaahh 3:306d3725ed04 38 void initialiseServo();
jordaahh 2:baf8a7b2b150 39
jordaahh 3:306d3725ed04 40 /** Automatically moves servos to test the analog signal conversion to PWM.
jordaahh 3:306d3725ed04 41 */
jordaahh 3:306d3725ed04 42 void positionTest();