From cfbc3325e4308f9611368025504207d5094898a1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sun, 7 Feb 2021 09:40:51 -0500 Subject: [PATCH] Update STEM_Payload_Test.ino --- arduino/STEM_Payload_Test.ino | 37 ++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/arduino/STEM_Payload_Test.ino b/arduino/STEM_Payload_Test.ino index b9705f02..e0dbec94 100644 --- a/arduino/STEM_Payload_Test.ino +++ b/arduino/STEM_Payload_Test.ino @@ -31,6 +31,14 @@ void setup() { // initialize digital pin PB1 as an output. pinMode(PB9, OUTPUT); pinMode(PB8, OUTPUT); + pinMode(PA0, INPUT_ANALOG); + pinMode(PA1, INPUT_ANALOG); + pinMode(PA2, INPUT_ANALOG); + + T2 = 25; // Temperature data point 1 + R2 = 2111; // Reading data point 1 + T1 = 23; // Temperature data point 2 + R1 = 2097; // Reading data point 2 #endif #if defined __AVR_ATmega32U4__ @@ -44,22 +52,22 @@ void setup() { // the loop function runs over and over again forever void loop() { ledWrite(greenLED, HIGH); // turn the LED on (HIGH is the voltage level) - ledSet(blueLED, LOW); // turn the LED on (HIGH is the voltage level) + ledWrite(blueLED, LOW); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second ledWrite(greenLED, LOW); // turn the LED off by making the voltage LOW - ledlWrite(blueLED, HIGH); // turn the LED on (HIGH is the voltage level) + ledWrite(blueLED, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second - sensorValue = analogRead(A0); + sensorValue = readAnalog(0); // Serial.println(sensorValue); - sensorValue = analogRead(A1); + sensorValue = readAnalog(1); float temp = T1 + (sensorValue - R1) *(T2 - T1)/(R2 - R1); Serial.print("Temperature: "); Serial.print(temp); Serial.println(" C"); - sensorValue = analogRead(A2); + sensorValue = readAnalog(2); // Serial.println(sensorValue); } @@ -76,3 +84,22 @@ void ledWrite(int ledPin, bool state) digitalWrite(ledPin, state); #endif } + +int readAnalog(int pin) +{ + int value = 0; +#if defined(ARDUINO_ARCH_STM32F0) || defined(ARDUINO_ARCH_STM32F1) || defined(ARDUINO_ARCH_STM32F3) || defined(ARDUINO_ARCH_STM32F4) || defined(ARDUINO_ARCH_STM32L4) + if (pin == 0) + value = analogRead(PA0); + else if (pin == 1) + value = analogRead(PA1); + else if (pin == 2) + value = analogRead(PA2); +#endif + +#if defined __AVR_ATmega32U4__ + value = analogRead(pin); +#endif + + return(value); +}