Publishing for Biomimetics

Dependencies:   mbed

Committer:
abuchan
Date:
Tue May 31 22:56:35 2016 +0000
Revision:
0:27d9dfbfd60c
Publishing for Biomimetics.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
abuchan 0:27d9dfbfd60c 1 #include "mbed.h"
abuchan 0:27d9dfbfd60c 2
abuchan 0:27d9dfbfd60c 3 DigitalOut leds[] = {(LED1), (LED2), (LED3), (LED4) };
abuchan 0:27d9dfbfd60c 4 AnalogIn photo(p19);
abuchan 0:27d9dfbfd60c 5 DigitalIn button(p16);
abuchan 0:27d9dfbfd60c 6 Serial pc(USBTX, USBRX);
abuchan 0:27d9dfbfd60c 7 LocalFileSystem local("local");
abuchan 0:27d9dfbfd60c 8 Timer timer;
abuchan 0:27d9dfbfd60c 9
abuchan 0:27d9dfbfd60c 10 FILE* fp = NULL;
abuchan 0:27d9dfbfd60c 11 char filename[256];
abuchan 0:27d9dfbfd60c 12
abuchan 0:27d9dfbfd60c 13 int n_leds, i, saving, filecount = 0;
abuchan 0:27d9dfbfd60c 14 float voltage;
abuchan 0:27d9dfbfd60c 15
abuchan 0:27d9dfbfd60c 16 int main (void) {
abuchan 0:27d9dfbfd60c 17 timer.start();
abuchan 0:27d9dfbfd60c 18 while(true) {
abuchan 0:27d9dfbfd60c 19 voltage = 3.3*photo;
abuchan 0:27d9dfbfd60c 20 n_leds = (int)(4*(voltage - 2.0));
abuchan 0:27d9dfbfd60c 21
abuchan 0:27d9dfbfd60c 22 for (i=0; i<4; i++) {
abuchan 0:27d9dfbfd60c 23 leds[i] = (i < n_leds) ? 1 : 0;
abuchan 0:27d9dfbfd60c 24 }
abuchan 0:27d9dfbfd60c 25
abuchan 0:27d9dfbfd60c 26 saving = button ? 1 : 0;
abuchan 0:27d9dfbfd60c 27
abuchan 0:27d9dfbfd60c 28 printf("%f %d %d\r\n", voltage, n_leds, saving);
abuchan 0:27d9dfbfd60c 29
abuchan 0:27d9dfbfd60c 30 if (saving) {
abuchan 0:27d9dfbfd60c 31 if (fp == NULL) {
abuchan 0:27d9dfbfd60c 32 sprintf(filename,"/local/%d.txt",timer.read_ms());
abuchan 0:27d9dfbfd60c 33 fp = fopen(filename,"w");
abuchan 0:27d9dfbfd60c 34 } else {
abuchan 0:27d9dfbfd60c 35 fprintf(fp, "%f\r\n", voltage);
abuchan 0:27d9dfbfd60c 36 }
abuchan 0:27d9dfbfd60c 37 } else {
abuchan 0:27d9dfbfd60c 38 if (fp != NULL) {
abuchan 0:27d9dfbfd60c 39 fclose(fp);
abuchan 0:27d9dfbfd60c 40 fp = NULL;
abuchan 0:27d9dfbfd60c 41 filecount++;
abuchan 0:27d9dfbfd60c 42 }
abuchan 0:27d9dfbfd60c 43 }
abuchan 0:27d9dfbfd60c 44
abuchan 0:27d9dfbfd60c 45 if (filecount >= 3) {
abuchan 0:27d9dfbfd60c 46 exit(0);
abuchan 0:27d9dfbfd60c 47 }
abuchan 0:27d9dfbfd60c 48 wait(0.1);
abuchan 0:27d9dfbfd60c 49 }
abuchan 0:27d9dfbfd60c 50 }