jordan harper
/
ServoControl
Control servo motors
SystemFunctions.h@3:306d3725ed04, 2017-05-21 (annotated)
- 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?
User | Revision | Line number | New 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(); |