обработка информации по блютузу -андройд тупит (помогите с кодом)

Нет ответов
Gagarin74
Offline
Зарегистрирован: 24.08.2013

Не большая предистория.

Начитался готовых проектов ардуина+андройд

решил для автомобиля сделать датчик температуры и вольтметр

ВСЁ работает -как и в проектах.

Но во всех (других не нашел) проектах -просто кидается информация на андройд и отображается.А андройд посылает на ардуину в зависимости на нажатие кнопок -1,2,3 итд итпПроцес работает безупречно.

Решил модернизировать проект.Что бы когда вольтов стало =0 андройд проиграл мелодию (включился или смс послал итд итп).

Так вот в чем проблема. Когда посылаем переменную в 76 строчке -УСЛОВИЕ на стороне андройда не срабатывает.

Когда посылаем 80 строчку -то все окей.

В низу два кода один для ардуинки.Другой для андройда.Написанный в этом приложении.

Исходник для андройда

Готовый APK для андройда

Помогите пожалуйста.

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
 

#define ONE_WIRE_BUS 8

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

DeviceAddress Thermometer3 = { 
  0x28, 0x40, 0x28, 0x3B, 0x05, 0x00, 0x00, 0x44 };  
DeviceAddress Thermometer1 = { 
  0x28, 0x83, 0x90, 0x3B, 0x05, 0x00, 0x00, 0xF3 }; 


  long Temperature = 0, Pressure = 0, Altitude = 0;

float volt=0;
float tempC1;
float tempC2;
  char incomingByte; 
float t;
 int x=0; 
 

void setup()   {

  sensors.begin();
  sensors.setResolution(Thermometer1, 10);
  sensors.setResolution(Thermometer3, 10);

  Wire.begin();



  Serial.begin(38400);
}

void printTemperature(DeviceAddress deviceAddress) {
  float tempC = sensors.getTempC(deviceAddress);
 // Serial.println(tempC,1);
}

void loop(){

  sensors.requestTemperatures();

int sensorValue = analogRead(A0);
float tempC1=sensors.getTempC(Thermometer3);
float tempC2=sensors.getTempC(Thermometer1);
float voltage = sensorValue * (25.0 / 1023.0);
char bytes;

    if (Serial.available() > 0) {  
    incomingByte = Serial.read(); 
    if(incomingByte == '1') {
      x=2;
    }
    if(incomingByte == '2') { 
      x=1; 
    }
    if(incomingByte == '3') {
      x=3; 
    }
     if(incomingByte == '4') {
      x=4;
    }
  }
  delay(100);
  switch (x) {
    case 1:
    //  printTemperature(Thermometer3);
    delay(1000);
    Serial.println(tempC1,2);
    
       if (tempC1 > 30) {
         delay(1000);
    Serial.println("ЖАРКО");
  } 
  
     if (tempC1 < -2) {
       delay(1000);
    Serial.println("ХОЛОДНО");
  } 
  

      break;
    case 2:
    delay(1000);
    
 
    
    
      Serial.println(tempC2,2);
      break;
    case 3:
    delay(1000);
      Serial.println(voltage,2);
      if (voltage < 10) {
       delay(1000);
    Serial.println("999");
  } 
   if (voltage > 15) {
       delay(1000);
    Serial.println("ПИТАНИЕ");
  }   
 
  
      
      break;
    case 4:
    
    
   

Serial.print(tempC2,2);
Serial.print("  ");
Serial.print(tempC1,2);
Serial.print("  ");
Serial.println(voltage,2);
Serial.print("  ");
Serial.println();

delay(6000);
//Serial.println(tempC2,2);
//delay(6000);
//Serial.println(voltage,2);
//delay(6000);
      break;
  }
}