Mahandra Raditya / Mbed 2 deprecated NewLCDCalibrator

Dependencies:   TextLCD mbed

Committer:
Sunastra
Date:
Thu Nov 02 10:18:58 2017 +0000
Revision:
0:d3b2fef75f9c
NEWLCD

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sunastra 0:d3b2fef75f9c 1 // https://www.youtube.com/watch?v=yScO_v7NUYQ
Sunastra 0:d3b2fef75f9c 2 // LEITURA DE BOTÕES
Sunastra 0:d3b2fef75f9c 3
Sunastra 0:d3b2fef75f9c 4 #include "mbed.h"
Sunastra 0:d3b2fef75f9c 5 #include "TextLCD.h"
Sunastra 0:d3b2fef75f9c 6
Sunastra 0:d3b2fef75f9c 7
Sunastra 0:d3b2fef75f9c 8 //FRDM-K64F
Sunastra 0:d3b2fef75f9c 9 //TextLCD lcd(PTA0,PTC4,PTB23,PTA2,PTC2,PTC3); // rs, e, d4-d7
Sunastra 0:d3b2fef75f9c 10 TextLCD lcd(D8, D9, D4, D5, D6, D7); // rs, e, d4-d7
Sunastra 0:d3b2fef75f9c 11
Sunastra 0:d3b2fef75f9c 12 DigitalIn digi1 (D1);
Sunastra 0:d3b2fef75f9c 13 DigitalIn digi2 (D2);
Sunastra 0:d3b2fef75f9c 14 DigitalIn digi3 (D3);
Sunastra 0:d3b2fef75f9c 15
Sunastra 0:d3b2fef75f9c 16 enum States {calib1, calib2, homing, emgcontrol, demo}; //calib1=0, calib2=1, ..., demo=4
Sunastra 0:d3b2fef75f9c 17 int state;
Sunastra 0:d3b2fef75f9c 18 Ticker main_loop;
Sunastra 0:d3b2fef75f9c 19
Sunastra 0:d3b2fef75f9c 20 float looptime = 0.001f;
Sunastra 0:d3b2fef75f9c 21
Sunastra 0:d3b2fef75f9c 22 //Timer time;
Sunastra 0:d3b2fef75f9c 23
Sunastra 0:d3b2fef75f9c 24
Sunastra 0:d3b2fef75f9c 25
Sunastra 0:d3b2fef75f9c 26 AnalogIn Sensor(PTB2); //ESPECIFICA O PINO DE LEITURA ANALOGICA PARA FRDM-K64F
Sunastra 0:d3b2fef75f9c 27 void loopfunction(){
Sunastra 0:d3b2fef75f9c 28 switch (state){
Sunastra 0:d3b2fef75f9c 29 case calib1:
Sunastra 0:d3b2fef75f9c 30 lcd.printf(" * Calibrating... /n motor 1 * "); //while in calib 1 print
Sunastra 0:d3b2fef75f9c 31 lcd.cls();
Sunastra 0:d3b2fef75f9c 32 break;
Sunastra 0:d3b2fef75f9c 33
Sunastra 0:d3b2fef75f9c 34 case calib2:
Sunastra 0:d3b2fef75f9c 35 lcd.printf(" * Calibrating... /n motor 2 * "); //while in calib 2 print
Sunastra 0:d3b2fef75f9c 36 lcd.cls();
Sunastra 0:d3b2fef75f9c 37 break;
Sunastra 0:d3b2fef75f9c 38
Sunastra 0:d3b2fef75f9c 39 case homing:
Sunastra 0:d3b2fef75f9c 40 lcd.printf(" * Homing... * "); //while in homing print
Sunastra 0:d3b2fef75f9c 41 lcd.cls();
Sunastra 0:d3b2fef75f9c 42 break;
Sunastra 0:d3b2fef75f9c 43
Sunastra 0:d3b2fef75f9c 44 case emgcontrol:
Sunastra 0:d3b2fef75f9c 45 lcd.printf(" * Calibrating EMG... * "); //while calibrating EMG print
Sunastra 0:d3b2fef75f9c 46 lcd.cls();
Sunastra 0:d3b2fef75f9c 47 break;
Sunastra 0:d3b2fef75f9c 48
Sunastra 0:d3b2fef75f9c 49 case demo:
Sunastra 0:d3b2fef75f9c 50 lcd.printf(" * demo... * "); //while in demo print
Sunastra 0:d3b2fef75f9c 51 lcd.cls();
Sunastra 0:d3b2fef75f9c 52 break;
Sunastra 0:d3b2fef75f9c 53 }
Sunastra 0:d3b2fef75f9c 54 }
Sunastra 0:d3b2fef75f9c 55
Sunastra 0:d3b2fef75f9c 56
Sunastra 0:d3b2fef75f9c 57
Sunastra 0:d3b2fef75f9c 58
Sunastra 0:d3b2fef75f9c 59 int main() {
Sunastra 0:d3b2fef75f9c 60
Sunastra 0:d3b2fef75f9c 61 lcd.printf(" Calibration \n FRDM-K64F");
Sunastra 0:d3b2fef75f9c 62 wait(3);
Sunastra 0:d3b2fef75f9c 63 lcd.cls();
Sunastra 0:d3b2fef75f9c 64 main_loop.attach(&loopfunction, looptime); //1000 Hz main loop
Sunastra 0:d3b2fef75f9c 65 while(1){ // Clean the display
Sunastra 0:d3b2fef75f9c 66 if(Sensor.read_u16()>12000 && Sensor.read_u16()< 15000){
Sunastra 0:d3b2fef75f9c 67 state = calib1;
Sunastra 0:d3b2fef75f9c 68 }
Sunastra 0:d3b2fef75f9c 69
Sunastra 0:d3b2fef75f9c 70 if(Sensor.read_u16()>46000 && Sensor.read_u16()< 48000){
Sunastra 0:d3b2fef75f9c 71 state = calib2;
Sunastra 0:d3b2fef75f9c 72 }
Sunastra 0:d3b2fef75f9c 73
Sunastra 0:d3b2fef75f9c 74 if(Sensor.read_u16()>30000 && Sensor.read_u16()< 32000){
Sunastra 0:d3b2fef75f9c 75 state = homing;
Sunastra 0:d3b2fef75f9c 76 }
Sunastra 0:d3b2fef75f9c 77
Sunastra 0:d3b2fef75f9c 78 if(Sensor.read_u16()>0 && Sensor.read_u16()< 10000){
Sunastra 0:d3b2fef75f9c 79 lcd.printf("right", Sensor.read_u16());
Sunastra 0:d3b2fef75f9c 80 wait(1);
Sunastra 0:d3b2fef75f9c 81 lcd.cls();
Sunastra 0:d3b2fef75f9c 82 }
Sunastra 0:d3b2fef75f9c 83
Sunastra 0:d3b2fef75f9c 84 else {
Sunastra 0:d3b2fef75f9c 85 lcd.printf("Press to start", Sensor.read_u16());
Sunastra 0:d3b2fef75f9c 86 wait(1);
Sunastra 0:d3b2fef75f9c 87 lcd.cls();
Sunastra 0:d3b2fef75f9c 88 }
Sunastra 0:d3b2fef75f9c 89 }
Sunastra 0:d3b2fef75f9c 90 /*
Sunastra 0:d3b2fef75f9c 91 if(Sensor.read_u16()>12000 && Sensor.read_u16()< 15000){
Sunastra 0:d3b2fef75f9c 92 lcd.printf("Procedure \n will start");
Sunastra 0:d3b2fef75f9c 93 tick.attach(&ticker, 2.0);
Sunastra 0:d3b2fef75f9c 94 }
Sunastra 0:d3b2fef75f9c 95
Sunastra 0:d3b2fef75f9c 96 if(Sensor.read_u16()>46000 && Sensor.read_u16()< 48000){
Sunastra 0:d3b2fef75f9c 97 lcd.printf(" * left * ");
Sunastra 0:d3b2fef75f9c 98 wait(1);
Sunastra 0:d3b2fef75f9c 99 lcd.cls();
Sunastra 0:d3b2fef75f9c 100 }
Sunastra 0:d3b2fef75f9c 101
Sunastra 0:d3b2fef75f9c 102 if(Sensor.read_u16()>30000 && Sensor.read_u16()< 32000){
Sunastra 0:d3b2fef75f9c 103 lcd.printf(" * down * ");
Sunastra 0:d3b2fef75f9c 104 wait(1);
Sunastra 0:d3b2fef75f9c 105 lcd.cls();
Sunastra 0:d3b2fef75f9c 106 }
Sunastra 0:d3b2fef75f9c 107
Sunastra 0:d3b2fef75f9c 108 if(Sensor.read_u16()>0 && Sensor.read_u16()< 10000){
Sunastra 0:d3b2fef75f9c 109 lcd.printf(" * right * ");
Sunastra 0:d3b2fef75f9c 110 wait(1);
Sunastra 0:d3b2fef75f9c 111 lcd.cls();
Sunastra 0:d3b2fef75f9c 112 }
Sunastra 0:d3b2fef75f9c 113
Sunastra 0:d3b2fef75f9c 114 else {
Sunastra 0:d3b2fef75f9c 115 lcd.printf("Press to start", Sensor.read_u16());
Sunastra 0:d3b2fef75f9c 116 wait(1);
Sunastra 0:d3b2fef75f9c 117 lcd.cls();
Sunastra 0:d3b2fef75f9c 118 }*/
Sunastra 0:d3b2fef75f9c 119
Sunastra 0:d3b2fef75f9c 120
Sunastra 0:d3b2fef75f9c 121 }
Sunastra 0:d3b2fef75f9c 122
Sunastra 0:d3b2fef75f9c 123
Sunastra 0:d3b2fef75f9c 124