Simply creates a servo object from a motor object, to allow the control of the angle. uses the solar panel to look for the brightest spot, then stops.
Dependencies: mbed
Fork of Lab6_Basic by
main.cpp@8:0d8f931d6f8c, 2017-11-14 (annotated)
- Committer:
- dogcatfee
- Date:
- Tue Nov 14 13:07:24 2017 -0800
- Revision:
- 8:0d8f931d6f8c
- Parent:
- 7:33a516c08c09
Remove SLCD.lib, hg remove SLCD.lib
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ziadeldebri | 0:61b18b631f94 | 1 | #include "mbed.h" |
ziadeldebri | 3:b787aa49b900 | 2 | #include "Motor.h" |
ziadeldebri | 3:b787aa49b900 | 3 | #include "Servo.h" |
ziadeldebri | 4:b3a93554fedf | 4 | /************************************* Lab5 Motor to servo **************************/ |
ziadeldebri | 3:b787aa49b900 | 5 | /* */ |
ziadeldebri | 3:b787aa49b900 | 6 | /* File: main.cpp */ |
ziadeldebri | 3:b787aa49b900 | 7 | /* Author: Ziad Eldebri */ |
ziadeldebri | 4:b3a93554fedf | 8 | /* Date Created: 9/19/2016 */ |
ziadeldebri | 3:b787aa49b900 | 9 | /* Description: */ |
ziadeldebri | 3:b787aa49b900 | 10 | /* */ |
ziadeldebri | 3:b787aa49b900 | 11 | /****************************************************************************************/ |
dogcatfee | 6:65dfd3886629 | 12 | // Edit ~ Matthew Sessions |
ziadeldebri | 0:61b18b631f94 | 13 | |
dogcatfee | 6:65dfd3886629 | 14 | // KL46 |
dogcatfee | 6:65dfd3886629 | 15 | // Servo my_servo(PTB3,PTE19,PTE18,PTE31); |
dogcatfee | 6:65dfd3886629 | 16 | // KL43 |
dogcatfee | 6:65dfd3886629 | 17 | Servo my_servo(PTB3,PTB0,PTB1,PTE29); |
dogcatfee | 6:65dfd3886629 | 18 | AnalogIn solar_panel(PTB2); |
dogcatfee | 6:65dfd3886629 | 19 | |
ziadeldebri | 4:b3a93554fedf | 20 | uint16_t reading_array[3]; |
dogcatfee | 7:33a516c08c09 | 21 | int position_array[3]={24,69,72}; |
ziadeldebri | 4:b3a93554fedf | 22 | uint16_t largest = 0; |
ziadeldebri | 4:b3a93554fedf | 23 | int largesti = 0; |
ziadeldebri | 4:b3a93554fedf | 24 | int i; |
ziadeldebri | 3:b787aa49b900 | 25 | |
dogcatfee | 6:65dfd3886629 | 26 | int main() |
dogcatfee | 6:65dfd3886629 | 27 | { |
dogcatfee | 6:65dfd3886629 | 28 | while (1) |
dogcatfee | 6:65dfd3886629 | 29 | { |
dogcatfee | 6:65dfd3886629 | 30 | for (i = 0; i < 3; i++) |
dogcatfee | 6:65dfd3886629 | 31 | { |
dogcatfee | 6:65dfd3886629 | 32 | my_servo.set(position_array[i]); |
dogcatfee | 6:65dfd3886629 | 33 | wait(3); |
dogcatfee | 6:65dfd3886629 | 34 | reading_array[i] = solar_panel.read_u16(); |
ziadeldebri | 4:b3a93554fedf | 35 | } |
dogcatfee | 6:65dfd3886629 | 36 | for (i = 0; i < 3; i++) |
dogcatfee | 6:65dfd3886629 | 37 | { |
dogcatfee | 6:65dfd3886629 | 38 | if (reading_array[i] > largest) |
dogcatfee | 6:65dfd3886629 | 39 | { |
dogcatfee | 6:65dfd3886629 | 40 | largest = reading_array[i]; |
dogcatfee | 6:65dfd3886629 | 41 | largesti = i; |
dogcatfee | 6:65dfd3886629 | 42 | } |
dogcatfee | 6:65dfd3886629 | 43 | } |
dogcatfee | 6:65dfd3886629 | 44 | my_servo.set(position_array[largesti]); |
dogcatfee | 6:65dfd3886629 | 45 | wait(15); |
ziadeldebri | 0:61b18b631f94 | 46 | } |
ziadeldebri | 3:b787aa49b900 | 47 | } |