обработка информации по блютузу -андройд тупит (помогите с кодом)
- Войдите на сайт для отправки комментариев
Не большая предистория.
Начитался готовых проектов ардуина+андройд
решил для автомобиля сделать датчик температуры и вольтметр
ВСЁ работает -как и в проектах.
Но во всех (других не нашел) проектах -просто кидается информация на андройд и отображается.А андройд посылает на ардуину в зависимости на нажатие кнопок -1,2,3 итд итпПроцес работает безупречно.
Решил модернизировать проект.Что бы когда вольтов стало =0 андройд проиграл мелодию (включился или смс послал итд итп).
Так вот в чем проблема. Когда посылаем переменную в 76 строчке -УСЛОВИЕ на стороне андройда не срабатывает.
Когда посылаем 80 строчку -то все окей.
В низу два кода один для ардуинки.Другой для андройда.Написанный в этом приложении.
Помогите пожалуйста.
#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; } }