wklejto.pl

Dodane przez: ~Anonim (2019-04-14 18:25) -> c
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
// moduł BT
// TX do D10
// RX do D11
// Vcc do 3.3V
// GND do GND
 
// sonda temperatury
// czarny GND
// zółty do D3
// czerwony do 5V
// zółty i czerwony połączone opornikiem
// 0x28, 0xFF, 0xB7, 0x7E, 0x52, 0x15, 0x02, 0x70 - czarna aliexpress dolot 
// 0x28, 0xFF, 0x4A, 0x7F, 0x52, 0x15, 0x01, 0x57 - czarna aliexpress IC
// D13 - wyjscie na przekaźnik/diode
 
// przekaźnik
// Vcc do 5V
// GND do GND
// IN1 do D13
 
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11); 
 
#define ONE_WIRE_BUS 3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress adresSondyDolot = { 0x28, 0xFF, 0xB7, 0x7E, 0x52, 0x15, 0x02, 0x70 };
char a; 
 
void setup()  
{
  pinMode(13, OUTPUT);
  BT.begin(9600);
  sensors.begin();
  sensors.setResolution(adresSondyDolot, 10);
}
 
void czytajTempDolot(DeviceAddress adresSondyDolot)
{
  sensors.requestTemperatures(); 
  int tempDolot = sensors.getTempC(adresSondyDolot);
  BT.print(tempDolot); 
  BT.print("\n\r");
}
 
 
void manualON()
{
  digitalWrite(13, HIGH);
}
void manualOFF()
{
  digitalWrite(13, LOW);
}
void auto3ON()
{
  digitalWrite(13, HIGH);
  delay(3000);
  digitalWrite(13, LOW);
  delay(3000);
}
void auto10ON()
{
  digitalWrite(13, HIGH);
  delay(10000);
  digitalWrite(13, LOW);
  delay(10000);
}
void loop() 
{   
        
  czytajTempDolot(adresSondyDolot);
  delay(250);   
    
  if (BT.available())
  {
    sensors.requestTemperatures(); 
    int tempDolot = sensors.getTempC(adresSondyDolot);
    a=(BT.read());
    
    if (a=='0')
    {
      manualON();
    }
    if (a=='1')
    {
      manualOFF();
    }
    if (a=='2' || tempDolot > 40) 
    {
      auto3ON();
    }
    if (a=='4' || tempDolot > 70) 
    {
      auto10ON();
    }   
  }  
}
 
Wygenerowano w 0.009s, przy pomocy GeSHi 1.0.8
'
Podziel się na Facebook Podziel się na BLIP Podziel się na Twitter Podziel się na Buzz Podziel się na Flaker Dodaj zakładkę Google Podziel się na Delicious Wykop to!

Nowy Komentarz:

Komentarze:

Brak Komentarzy!