Тема: HC-06 терморегулятор DS18B20
Приложение:
Данный контент доступен только зарегистрированным пользователям.
Исходники для Android Studio:
Данный контент доступен только зарегистрированным пользователям. 
#include <OneWire.h>
#include <DallasTemperature.h>
#include <EEPROM.h>
OneWire oneWire(A0);// вход датчика 18b20
DallasTemperature temp(&oneWire);
int buff[2],i,dig,arr[2],w=1,w1,reg;
int k;
int gis=1; // гистерезис 1 градус
unsigned long times;
 
void setup(){ Serial.begin(9600);Serial.setTimeout(50);
   pinMode(13, OUTPUT);// P1
   temp.begin(); 
   temp.setResolution(9);//12 бит 
   reg = EEPROM.read(0);
   pinMode(13, OUTPUT); // выход реле
}
 
void loop() {
  /////// ПРИЕМ ДАННЫХ С SERIAL PORT /////////////////////////
  while (Serial.available()>0){ 
   for (i=0;i<1;i++) { 
     buff[0] = Serial.parseInt(); 
     buff[1] = Serial.parseInt();}    
     w=1;w1=1;times=millis();}
 
 ///////////// обработка команд /////////////////// 
 if(buff[0]>10&&w==1){ w=0; 
     if(buff[0]==102){reg++;if(reg>125){reg=125;}}
     if(buff[0]==101){reg--;if(reg<0){reg=0;}}}
    /// EEPROM   
 if(w1==1&&millis()-times>10000){w1=0;EEPROM.update(0,reg);}
   /// измирение температуры
   temp.requestTemperatures();
   k = temp.getTempCByIndex(0);
   /// отправка днный в android
   Serial.print(k*10);
   Serial.println(reg);
   if(reg >= k + gis){digitalWrite(13,HIGH);}
   if(reg <= k - gis){digitalWrite(13,LOW);}   
}

