Reads the temperature on the MSOE CE Dev Board Rev 2. The mbed library likely needs to be updated annually.

Dependencies:   mbed

Fork of analogRead by Charles Tritt

Committer:
CSTritt
Date:
Thu Mar 28 17:47:36 2019 +0000
Revision:
7:a0da6751e601
Parent:
6:f05a4d991702
Updated library for 2019.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CSTritt 0:2254358fce87 1 /*
CSTritt 3:1cff703d6eb4 2 Project: CE_Temp_Read
CSTritt 0:2254358fce87 3 File: main.cpp
CSTritt 0:2254358fce87 4
CSTritt 0:2254358fce87 5 Reads from analog input, streams ASCII text to std serial using printf and
CSTritt 6:f05a4d991702 6 lights onboard LED.
CSTritt 0:2254358fce87 7
CSTritt 0:2254358fce87 8 Written by: Dr. C. S. Tritt
CSTritt 6:f05a4d991702 9 Created: 3/18/19 (v. 1.1)
CSTritt 0:2254358fce87 10 */
CSTritt 0:2254358fce87 11 #include "mbed.h"
CSTritt 0:2254358fce87 12
CSTritt 5:c58c75c5fe90 13 const int SIZE = 20; // Number of samples per average.
CSTritt 5:c58c75c5fe90 14 const float PAUSE = 0.05; // Seconds between samples.
CSTritt 5:c58c75c5fe90 15 const float INTERVAL = 1.0; // Seconds between averages.
CSTritt 3:1cff703d6eb4 16
CSTritt 3:1cff703d6eb4 17 AnalogIn analog_value(PB_0); // Same as A3
CSTritt 0:2254358fce87 18
CSTritt 0:2254358fce87 19 DigitalOut led(LED1);
CSTritt 0:2254358fce87 20
CSTritt 0:2254358fce87 21 int main() {
CSTritt 5:c58c75c5fe90 22 float value; // Value to be sent to serial port: 1 mV = 1 deg. C.
CSTritt 0:2254358fce87 23
CSTritt 3:1cff703d6eb4 24 printf("\nCE Dev Board Temperature Read\n");
CSTritt 6:f05a4d991702 25 led = 0; // Start with LED off.
CSTritt 0:2254358fce87 26
CSTritt 0:2254358fce87 27 while(true) {
CSTritt 6:f05a4d991702 28 int i = 0; // Initialize loop count.
CSTritt 6:f05a4d991702 29 float sum = 0.0; // Initialize sum.
CSTritt 6:f05a4d991702 30 while (i < (SIZE - 1)) { // Take SIZE readings and average them.
CSTritt 6:f05a4d991702 31 value = analog_value.read(); // Get analog value (between 0 and 1).
CSTritt 6:f05a4d991702 32 sum = sum + value; // Add it to running sum.
CSTritt 6:f05a4d991702 33 i++; // Increment loop count.
CSTritt 6:f05a4d991702 34 wait(PAUSE); // Wait PAUSE seconds between samples.
CSTritt 0:2254358fce87 35 }
CSTritt 6:f05a4d991702 36 value = (sum/(float) SIZE); // Calculate average.
CSTritt 5:c58c75c5fe90 37 printf("Value = %f\n", value); // Send value as text via serial port.
CSTritt 6:f05a4d991702 38 led = !led; // Toggle LED.
CSTritt 6:f05a4d991702 39 wait(INTERVAL); // Wait INTERVAL seconds between averages.
CSTritt 0:2254358fce87 40 }
CSTritt 5:c58c75c5fe90 41 }