2014-12-10 5:41 1 second pulse (serial)

Dependencies:   MODSERIALhacked Convert SLCD mbed-src

Committer:
resolutedreamer
Date:
Thu Dec 11 04:07:33 2014 +0000
Revision:
6:3fbe44c7c26a
Parent:
5:112df51d4815
Child:
7:c81c6968f013
Cleaned up the code a lot. Added capability to collect data from the analog pin (which goes through ADC).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
resolutedreamer 0:68d1c7f2dbc7 1 #include "mbed.h"
jhaugen 2:a4db8ee941d2 2 #include "convert.h"
resolutedreamer 0:68d1c7f2dbc7 3
resolutedreamer 6:3fbe44c7c26a 4 Serial pc(USBTX, USBRX);
jhaugen 5:112df51d4815 5
resolutedreamer 6:3fbe44c7c26a 6 AnalogIn my_light_sensor(PTE22);
resolutedreamer 6:3fbe44c7c26a 7 AnalogIn my_analog_pin(PTB0);
jhaugen 5:112df51d4815 8 // false == on; true == off for the leds
resolutedreamer 0:68d1c7f2dbc7 9 DigitalOut myled(LED_GREEN);
jhaugen 5:112df51d4815 10 DigitalOut redled(LED_RED);
resolutedreamer 0:68d1c7f2dbc7 11
jhaugen 5:112df51d4815 12 Ticker ticker;
resolutedreamer 6:3fbe44c7c26a 13 char my_time[31];
jhaugen 5:112df51d4815 14 int tick_count = 0;
resolutedreamer 4:9930547c1cfa 15
jhaugen 5:112df51d4815 16 void systick() {
jhaugen 5:112df51d4815 17 if (tick_count % 10 == 0) {
jhaugen 5:112df51d4815 18 redled = true;
jhaugen 5:112df51d4815 19 }
jhaugen 5:112df51d4815 20 else {
jhaugen 5:112df51d4815 21 redled = false;
jhaugen 5:112df51d4815 22 }
jhaugen 5:112df51d4815 23 tick_count++;
jhaugen 5:112df51d4815 24 }
resolutedreamer 1:ca5c2809eec1 25
resolutedreamer 0:68d1c7f2dbc7 26 int main()
resolutedreamer 6:3fbe44c7c26a 27 {
resolutedreamer 6:3fbe44c7c26a 28 //initialize hardware
jhaugen 5:112df51d4815 29 ticker.attach_us(&systick, 100000);
resolutedreamer 1:ca5c2809eec1 30 pc.baud(115200);
resolutedreamer 6:3fbe44c7c26a 31 Convert lcd;
resolutedreamer 6:3fbe44c7c26a 32
resolutedreamer 6:3fbe44c7c26a 33 //initialize variables
resolutedreamer 0:68d1c7f2dbc7 34 int i = 0;
resolutedreamer 1:ca5c2809eec1 35 bool pulse_value = false;
resolutedreamer 6:3fbe44c7c26a 36 float let_there_be_light = 0.0;
resolutedreamer 6:3fbe44c7c26a 37 float my_analog_value = 0.0;
resolutedreamer 6:3fbe44c7c26a 38 my_time[30] = '\0';
resolutedreamer 6:3fbe44c7c26a 39
resolutedreamer 6:3fbe44c7c26a 40 //we start the program
resolutedreamer 0:68d1c7f2dbc7 41 pc.printf("Hello World!\n");
resolutedreamer 6:3fbe44c7c26a 42
resolutedreamer 6:3fbe44c7c26a 43 while (true)
resolutedreamer 6:3fbe44c7c26a 44 {
resolutedreamer 6:3fbe44c7c26a 45 // Beginning of a second
resolutedreamer 6:3fbe44c7c26a 46 // set the pulse high for 100ms, .1 s
resolutedreamer 6:3fbe44c7c26a 47 // toggle a led
resolutedreamer 6:3fbe44c7c26a 48 pulse_value = true;
resolutedreamer 6:3fbe44c7c26a 49 myled = pulse_value;
resolutedreamer 6:3fbe44c7c26a 50
resolutedreamer 6:3fbe44c7c26a 51 // get data from the (2) light sensor (3) analog pin
resolutedreamer 6:3fbe44c7c26a 52 let_there_be_light = my_light_sensor.read();
resolutedreamer 6:3fbe44c7c26a 53 my_analog_value = my_analog_pin.read();
resolutedreamer 6:3fbe44c7c26a 54
resolutedreamer 6:3fbe44c7c26a 55 // print the analog values to uart
resolutedreamer 6:3fbe44c7c26a 56 pc.printf("%f,%f\r\n", let_there_be_light, my_analog_value);
resolutedreamer 6:3fbe44c7c26a 57
resolutedreamer 6:3fbe44c7c26a 58 // display 1
resolutedreamer 6:3fbe44c7c26a 59 lcd.display(1);
resolutedreamer 6:3fbe44c7c26a 60 wait_ms(100.0f);
resolutedreamer 6:3fbe44c7c26a 61
resolutedreamer 6:3fbe44c7c26a 62 // set the pulse low for 900 ms, .9 s
resolutedreamer 6:3fbe44c7c26a 63 // toggle a led
resolutedreamer 6:3fbe44c7c26a 64 pulse_value = false;
resolutedreamer 6:3fbe44c7c26a 65 myled = pulse_value; // toggle a led
resolutedreamer 6:3fbe44c7c26a 66
resolutedreamer 6:3fbe44c7c26a 67 // get data from the (2) light sensor (3) analog pin
resolutedreamer 6:3fbe44c7c26a 68 let_there_be_light = my_light_sensor.read();
resolutedreamer 6:3fbe44c7c26a 69 my_analog_value = my_analog_pin.read();
resolutedreamer 6:3fbe44c7c26a 70
resolutedreamer 6:3fbe44c7c26a 71 // print the analog values to uart
resolutedreamer 6:3fbe44c7c26a 72 pc.printf("%f,%f\r\n", let_there_be_light, my_analog_value);
resolutedreamer 6:3fbe44c7c26a 73
resolutedreamer 6:3fbe44c7c26a 74 // display 0
resolutedreamer 6:3fbe44c7c26a 75 lcd.display(0);
resolutedreamer 6:3fbe44c7c26a 76 wait_ms(900.0f);
resolutedreamer 6:3fbe44c7c26a 77
resolutedreamer 6:3fbe44c7c26a 78 // End of a second
resolutedreamer 1:ca5c2809eec1 79
resolutedreamer 1:ca5c2809eec1 80 /*
resolutedreamer 1:ca5c2809eec1 81
resolutedreamer 6:3fbe44c7c26a 82 //on hold for a moment
resolutedreamer 6:3fbe44c7c26a 83 my_time[i] = pc.getc();
resolutedreamer 6:3fbe44c7c26a 84 if (i == 29)
resolutedreamer 6:3fbe44c7c26a 85 {
resolutedreamer 6:3fbe44c7c26a 86 i = 0;
resolutedreamer 6:3fbe44c7c26a 87 }
resolutedreamer 1:ca5c2809eec1 88 */
resolutedreamer 0:68d1c7f2dbc7 89 }
resolutedreamer 0:68d1c7f2dbc7 90 }