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 ECE 111 At Oregon State University

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?

UserRevisionLine numberNew 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 }