ECE 4180 Mini Project

Dependencies:   4DGL-uLCD-SE LSM9DS1_Library_cal Motor Servo mbed

Fork of uLCD144G2_demo by jim hamblen

Committer:
rahulchoudhury2
Date:
Mon Mar 13 07:11:41 2017 +0000
Revision:
10:db6a95d27be4
Parent:
8:31e63caf37e2
Variable Motor Speed with Force Sensor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
4180_1 0:cfcf73272647 1 #include "mbed.h"
4180_1 2:75727e89a717 2 #include "uLCD_4DGL.h"
rahulchoudhury2 10:db6a95d27be4 3 #include "LSM9DS1.h"
4180_1 0:cfcf73272647 4
rahulchoudhury2 10:db6a95d27be4 5 AnalogIn flex(p17);
rahulchoudhury2 10:db6a95d27be4 6 PwmOut red(p24);
rahulchoudhury2 10:db6a95d27be4 7 PwmOut green(p23);
rahulchoudhury2 10:db6a95d27be4 8 PwmOut blue(p22);
rahulchoudhury2 10:db6a95d27be4 9 PwmOut motorSwitch(p21);
rahulchoudhury2 10:db6a95d27be4 10
rahulchoudhury2 10:db6a95d27be4 11 uLCD_4DGL uLCD (p28,p27,p30); // serial tx, serial rx, reset pin;
rahulchoudhury2 10:db6a95d27be4 12 Serial pc(USBTX, USBRX);
rahulchoudhury2 10:db6a95d27be4 13
rahulchoudhury2 10:db6a95d27be4 14 float flexScaled;
4180_1 0:cfcf73272647 15
4180_1 2:75727e89a717 16 int main()
4180_1 2:75727e89a717 17 {
rahulchoudhury2 10:db6a95d27be4 18 uLCD.baudrate(300000);
rahulchoudhury2 10:db6a95d27be4 19 red.period(0.00001);
rahulchoudhury2 10:db6a95d27be4 20 green.period(0.00001);
rahulchoudhury2 10:db6a95d27be4 21 blue.period(0.000010);
rahulchoudhury2 10:db6a95d27be4 22 motorSwitch.period(0.01);
rahulchoudhury2 10:db6a95d27be4 23
rahulchoudhury2 10:db6a95d27be4 24 flexScaled=flex*1000;
rahulchoudhury2 10:db6a95d27be4 25
4180_1 7:7bd7397ab89f 26 uLCD.cls();
4180_1 2:75727e89a717 27 uLCD.background_color(DGREY);
4180_1 3:454d1f4c8fd7 28 uLCD.set_font(FONT_7X8);
4180_1 6:f752accd632c 29 uLCD.text_bold(ON);
4180_1 6:f752accd632c 30 uLCD.text_italic(ON);
rahulchoudhury2 10:db6a95d27be4 31
rahulchoudhury2 10:db6a95d27be4 32 while(1)
rahulchoudhury2 10:db6a95d27be4 33 {
rahulchoudhury2 10:db6a95d27be4 34 flexScaled=flex*10000;
rahulchoudhury2 10:db6a95d27be4 35 red = 0;
rahulchoudhury2 10:db6a95d27be4 36 green = 0;
rahulchoudhury2 10:db6a95d27be4 37 blue = 0;
rahulchoudhury2 10:db6a95d27be4 38
rahulchoudhury2 10:db6a95d27be4 39 if(flexScaled<1000)
rahulchoudhury2 10:db6a95d27be4 40 {
rahulchoudhury2 10:db6a95d27be4 41 green=1;
rahulchoudhury2 10:db6a95d27be4 42 }
rahulchoudhury2 10:db6a95d27be4 43 if(flexScaled>1050 && flexScaled<2800)
rahulchoudhury2 10:db6a95d27be4 44 {
rahulchoudhury2 10:db6a95d27be4 45 blue=1;
rahulchoudhury2 10:db6a95d27be4 46 }
rahulchoudhury2 10:db6a95d27be4 47 if(flexScaled>2800)
rahulchoudhury2 10:db6a95d27be4 48 {
rahulchoudhury2 10:db6a95d27be4 49 red=1;
rahulchoudhury2 10:db6a95d27be4 50 }
rahulchoudhury2 10:db6a95d27be4 51
rahulchoudhury2 10:db6a95d27be4 52 float motorVal;
rahulchoudhury2 10:db6a95d27be4 53 motorVal=float(flexScaled/3500);
rahulchoudhury2 10:db6a95d27be4 54 motorSwitch.write(motorVal);
rahulchoudhury2 10:db6a95d27be4 55
rahulchoudhury2 10:db6a95d27be4 56 uLCD.printf(" %f",motorSwitch.read());
rahulchoudhury2 10:db6a95d27be4 57 uLCD.locate(0,0);
rahulchoudhury2 10:db6a95d27be4 58 wait(0.01);
4180_1 7:7bd7397ab89f 59
4180_1 4:25a266a74a4c 60 }
rahulchoudhury2 10:db6a95d27be4 61 }