Question by
KnightRiderGuy · Jan 09, 2016 at 05:31 PM ·
c#if-statementsvaluesarduinocase
Get Temperature Value and Prompt an Action
I'm working with this case statement but am having difficulty getting the correct method of how to provoke a response based on the temperature data values. At the top I have defined a value
float coldLimitTemperature = 10.0f;
I thought perhaps I would be able to follow along similar to how the LDR data was being processed.
void MessageReceived(string message)
{
char type = message[0];
string value = message.Substring(1);
switch (type)
{
case 'T':
//temperature sensor reading
TemperatureText.text = TempSensorData.ToString ();
TempSensorData = value;
//Do Something If Temperature Falls Below 0 Degrees C
// parse the input to a float and normalize it (range 0..1) (we could do this already in the Arduino)
float TempInput = 1 - float.Parse (LDRdata) / 100f;
if (coldLimitTemperature < 15.0f) {
print ("It's Chilly In Here");
}
//Do Something If Temperature Rises Above 90 Degrees C
break;
case 'L':
//light sensor reading
LDRdata = value;
if(LDRdata == "") return; //if its empty stop right here
// parse the input to a float and normalize it (range 0..1) (we could do this already in the Arduino)
float input = 1 - float.Parse (LDRdata) / 100f;
// set the slider to the value
float oldValue = slider.value;
slider.value = input;
// after the slider is updated, we can check for the other things for example play sounds:
if (source.isPlaying) return; // if we are playing a sound stop here
// else check if we need to play a sound and do it
if //(slider.value > 0.9f && oldValue <= 0.9f) //This will call the voice no matter what time of day or night it is
(slider.value > 0.9f && oldValue <= 0.9f && (sysHour >= 18 || sysHour <= 06)) //Voice Will Only Activate between 6PM & 6AM
StartCoroutine(BrightnessResponse());
else if (slider.value < 0.10f && oldValue >= 0.10f) //At These Values activate a "Darkness Detected" response
StartCoroutine(DarknessResponse());
break;
Comment