Lab 1 Task 2 example code

Dependencies:   m3pi mbed

Fork of 3pi_Example_2 by Craig Evans

Committer:
eencae
Date:
Thu Jun 22 12:59:06 2017 +0000
Revision:
0:127d52afa7a9
Child:
1:3143ad629ed8
Initial commit.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eencae 0:127d52afa7a9 1 /* 3pi Example 2
eencae 0:127d52afa7a9 2
eencae 0:127d52afa7a9 3 (c) Dr Craig A. Evans, University of Leeds
eencae 0:127d52afa7a9 4
eencae 0:127d52afa7a9 5 June 2017
eencae 0:127d52afa7a9 6
eencae 0:127d52afa7a9 7 */
eencae 0:127d52afa7a9 8
eencae 0:127d52afa7a9 9 #include "mbed.h"
eencae 0:127d52afa7a9 10 #include "m3pi.h"
eencae 0:127d52afa7a9 11
eencae 0:127d52afa7a9 12 // API objects
eencae 0:127d52afa7a9 13 m3pi buggy;
eencae 0:127d52afa7a9 14 AnalogIn pot_P(p15);
eencae 0:127d52afa7a9 15
eencae 0:127d52afa7a9 16 // Function Prototypes
eencae 0:127d52afa7a9 17 void init();
eencae 0:127d52afa7a9 18
eencae 0:127d52afa7a9 19 // Main Function
eencae 0:127d52afa7a9 20 int main()
eencae 0:127d52afa7a9 21 {
eencae 0:127d52afa7a9 22 init();
eencae 0:127d52afa7a9 23
eencae 0:127d52afa7a9 24 // move cursor to position (0,0) - top-left
eencae 0:127d52afa7a9 25 buggy.lcd_goto_xy(0,0);
eencae 0:127d52afa7a9 26 // print on the LCD - the number 5 is the number of characters in the string
eencae 0:127d52afa7a9 27 buggy.lcd_print("Ex. 2",5);
eencae 0:127d52afa7a9 28
eencae 0:127d52afa7a9 29 // we will update the motors 50 times per second
eencae 0:127d52afa7a9 30 float dt = 1.0/50.0;
eencae 0:127d52afa7a9 31
eencae 0:127d52afa7a9 32 // main loop - this runs forever
eencae 0:127d52afa7a9 33 while(1) {
eencae 0:127d52afa7a9 34
eencae 0:127d52afa7a9 35 // this returns a value in the range 0.0 to 1.0
eencae 0:127d52afa7a9 36 float pot_P_val = pot_P.read();
eencae 0:127d52afa7a9 37
eencae 0:127d52afa7a9 38 // change to -1.0 to 1.0
eencae 0:127d52afa7a9 39 float motor_speed = 2.0*pot_P_val-1.0;
eencae 0:127d52afa7a9 40 // this gives full-speed backward (-1.0) to full-speed forward
eencae 0:127d52afa7a9 41
eencae 0:127d52afa7a9 42 // set the speed of the left and right motors
eencae 0:127d52afa7a9 43 buggy.motors(motor_speed,motor_speed);
eencae 0:127d52afa7a9 44
eencae 0:127d52afa7a9 45 // wait for a short time before repeating the loop
eencae 0:127d52afa7a9 46 wait(dt);
eencae 0:127d52afa7a9 47
eencae 0:127d52afa7a9 48 }
eencae 0:127d52afa7a9 49 }
eencae 0:127d52afa7a9 50
eencae 0:127d52afa7a9 51 // Functions
eencae 0:127d52afa7a9 52 void init()
eencae 0:127d52afa7a9 53 {
eencae 0:127d52afa7a9 54 buggy.init();
eencae 0:127d52afa7a9 55 }