Janus Bo Andersen / Mbed 2 deprecated PRO1_amp_test

Dependencies:   mbed m3pi

Committer:
janusboandersen
Date:
Fri Nov 30 12:10:05 2018 +0000
Revision:
2:41af46339652
Parent:
1:fbf9b4ab4bc5
Child:
3:783382bcf2ec
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
janusboandersen 0:2b88d9638dd6 1 #include "mbed.h"
janusboandersen 0:2b88d9638dd6 2 #include "m3pi.h"
janusboandersen 0:2b88d9638dd6 3
janusboandersen 0:2b88d9638dd6 4 m3pi m3pi;
janusboandersen 0:2b88d9638dd6 5
janusboandersen 0:2b88d9638dd6 6 // Minimum and maximum motor speeds
janusboandersen 0:2b88d9638dd6 7 #define MAX 1.0
janusboandersen 0:2b88d9638dd6 8 #define MIN 0
janusboandersen 0:2b88d9638dd6 9
janusboandersen 0:2b88d9638dd6 10 //Our variables
janusboandersen 1:fbf9b4ab4bc5 11 #define OPTIMAL_SPEED 0.8
janusboandersen 0:2b88d9638dd6 12
janusboandersen 0:2b88d9638dd6 13 // PID terms
janusboandersen 0:2b88d9638dd6 14 #define P_TERM 1.0
janusboandersen 0:2b88d9638dd6 15 #define D_TERM 8.0
janusboandersen 0:2b88d9638dd6 16 #define I_TERM 0.01 //skal være nul eller tæt på
janusboandersen 0:2b88d9638dd6 17
janusboandersen 0:2b88d9638dd6 18 //Print to LCD (character, line) numbers are zero indexed
janusboandersen 0:2b88d9638dd6 19 void print_battery() {
janusboandersen 0:2b88d9638dd6 20
janusboandersen 0:2b88d9638dd6 21 //measure battery voltage
janusboandersen 0:2b88d9638dd6 22 float f = m3pi.battery();
janusboandersen 0:2b88d9638dd6 23 char text[8];
janusboandersen 0:2b88d9638dd6 24 m3pi.cls();
janusboandersen 0:2b88d9638dd6 25 m3pi.locate(0,0);
janusboandersen 0:2b88d9638dd6 26
janusboandersen 0:2b88d9638dd6 27 //convert to a string
janusboandersen 0:2b88d9638dd6 28 sprintf(text, "%4.2f", f);
janusboandersen 0:2b88d9638dd6 29 m3pi.printf(text);
janusboandersen 0:2b88d9638dd6 30 }
janusboandersen 0:2b88d9638dd6 31
janusboandersen 0:2b88d9638dd6 32 void toggleLED(DigitalOut &led) {
janusboandersen 0:2b88d9638dd6 33 if (led == 1) {
janusboandersen 0:2b88d9638dd6 34 led = 0;
janusboandersen 0:2b88d9638dd6 35 } else {
janusboandersen 0:2b88d9638dd6 36 led = 1;
janusboandersen 0:2b88d9638dd6 37 }
janusboandersen 0:2b88d9638dd6 38 }
janusboandersen 0:2b88d9638dd6 39
janusboandersen 0:2b88d9638dd6 40
janusboandersen 0:2b88d9638dd6 41 int main(void) {
janusboandersen 0:2b88d9638dd6 42
janusboandersen 0:2b88d9638dd6 43 //user push button p21
janusboandersen 0:2b88d9638dd6 44 DigitalIn button(p21);
janusboandersen 0:2b88d9638dd6 45 button.mode(PullUp);
janusboandersen 0:2b88d9638dd6 46
janusboandersen 0:2b88d9638dd6 47 //set the LEDs as objects
janusboandersen 0:2b88d9638dd6 48 //on the m3pi
janusboandersen 0:2b88d9638dd6 49 DigitalOut redled8(p13);
janusboandersen 0:2b88d9638dd6 50 DigitalOut redled7(p14);
janusboandersen 0:2b88d9638dd6 51 DigitalOut redled6(p15);
janusboandersen 0:2b88d9638dd6 52 DigitalOut redled5(p16);
janusboandersen 0:2b88d9638dd6 53 DigitalOut redled4(p17);
janusboandersen 0:2b88d9638dd6 54 DigitalOut redled3(p18);
janusboandersen 0:2b88d9638dd6 55 DigitalOut redled2(p19);
janusboandersen 0:2b88d9638dd6 56 DigitalOut redled1(p20);
janusboandersen 0:2b88d9638dd6 57
janusboandersen 0:2b88d9638dd6 58 //on the mbed
janusboandersen 0:2b88d9638dd6 59 DigitalOut myled1 (LED1);
janusboandersen 0:2b88d9638dd6 60 DigitalOut myled2 (LED2);
janusboandersen 0:2b88d9638dd6 61 DigitalOut myled3 (LED3);
janusboandersen 0:2b88d9638dd6 62 DigitalOut myled4 (LED4);
janusboandersen 0:2b88d9638dd6 63
janusboandersen 0:2b88d9638dd6 64
janusboandersen 2:41af46339652 65 // Set all LEDs to on
janusboandersen 2:41af46339652 66 redled1 = 1;
janusboandersen 2:41af46339652 67 redled2 = 1;
janusboandersen 2:41af46339652 68 redled3 = 1;
janusboandersen 2:41af46339652 69 redled4 = 1;
janusboandersen 2:41af46339652 70 redled5 = 1;
janusboandersen 2:41af46339652 71 redled6 = 1;
janusboandersen 2:41af46339652 72 redled7 = 1;
janusboandersen 2:41af46339652 73 redled8 = 1;
janusboandersen 2:41af46339652 74 myled1 = 1;
janusboandersen 2:41af46339652 75 myled2 = 1;
janusboandersen 2:41af46339652 76 myled3 = 1;
janusboandersen 2:41af46339652 77 myled4 = 1;
janusboandersen 0:2b88d9638dd6 78
janusboandersen 0:2b88d9638dd6 79
janusboandersen 0:2b88d9638dd6 80 //Initialize the car
janusboandersen 2:41af46339652 81 m3pi.sensor_auto_calibrate();
janusboandersen 0:2b88d9638dd6 82
janusboandersen 0:2b88d9638dd6 83 // Start the loop
janusboandersen 0:2b88d9638dd6 84 while (1) {
janusboandersen 2:41af46339652 85
janusboandersen 2:41af46339652 86 // set full speed
janusboandersen 2:41af46339652 87 m3pi.left_motor(1.0);
janusboandersen 2:41af46339652 88 m3pi.right_motor(1.0);
janusboandersen 0:2b88d9638dd6 89
janusboandersen 2:41af46339652 90 //print voltage
janusboandersen 2:41af46339652 91 print_battery();
janusboandersen 2:41af46339652 92 }
janusboandersen 0:2b88d9638dd6 93
janusboandersen 2:41af46339652 94 }