обработка информации по блютузу -андройд тупит (помогите с кодом)
- Войдите на сайт для отправки комментариев
Не большая предистория.
Начитался готовых проектов ардуина+андройд
решил для автомобиля сделать датчик температуры и вольтметр
ВСЁ работает -как и в проектах.
Но во всех (других не нашел) проектах -просто кидается информация на андройд и отображается.А андройд посылает на ардуину в зависимости на нажатие кнопок -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;
}
}