• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Raspberry pi
      • Raspberry pi server
      • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
    • Другие контроллеры
  • ЧПУ
  • 3d печать
  • Умный дом
    • Home Assistant
  • Об авторе

Самое простое добавление датчиков в сервис Народный мониторинг в программе FLProg.

Февраль 16, 2017

В данной статье подключим датчик DS18B20 к Arduino и выведем значения с датчика на сервис Народного мониторинга.

Для этого нам понадобится:

DS18b20 : http://ali.pub/kusf0

Arduino uno : http://ali.ski/gC_mOa

EthernetShield: http://ali.ski/tLocoy

Вот так выглядит самый распространенный вид датчика DS18B20

Датчик DS18B20 работает по шине 1-Wire и у него есть несколько вариантов подключения вот несколько из них:

По схеме подключения видно что датчик подключен к 6 пину ардуино.

В программе FLProg настраивается все очень просто.

Вот схема устройств в программе FLProg:

 

Ссылка на готовую схему FLProg  : https://yadi.sk/d/8OS4x6QN3E9cWt

 

Если не хотите пользоваться программой FLProg то необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.

 

#include <OneWire.h>
#include <SPI.h>
#include <EthernetUdp.h>
#include <Ethernet.h>
byte _d18x2x1Addr[8]={0x28, 0xFF, 0xCC, 0x27, 0x64, 0x16, 0x4, 0xA1};

OneWire  _ow6(6);
byte ethernet_mac [] = {0x78, 0xAC, 0xC0, 0xC6, 0x02, 0x96};
bool _isCorrectLocalIp = 0;
EthernetUDP Udp;
IPAddress _NMC1SIp(94, 142, 140, 101);
unsigned long _d18x2x1Tti = 0UL;
float _d18x2x1O = 0.00;
unsigned long _NMC1SendTime = 0UL;
void setup()
{
if (!   Ethernet.begin(ethernet_mac)== 0) {_isCorrectLocalIp  = 1; } 
delay(1000);
Udp.begin(8888);
}
void loop()
{



if (1) { if ( _isTimer(_NMC1SendTime, 330000)) {
Udp.beginPacket(_NMC1SIp, 8283);
 Udp.print ("#78ACC0C6028A\n");
 Udp.print ("#78ACCOC60284#");
 Udp.print ((_d18x2x1O));
 Udp.print ("\n");
 Udp.print ("##\n");
Udp.endPacket();
_NMC1SendTime = millis();
}}if(_isTimer(_d18x2x1Tti, 1000)) {
_d18x2x1Tti = millis(); 
_d18x2x1O=  _readDS18_ow6(_d18x2x1Addr, 0);}




}
bool _isTimer(unsigned long startTime, unsigned long period )
  {
  unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
  }
float _convertDS18x2xData(byte type_s, byte data[12])
{
  int16_t raw = (data[1] << 8) | data[0];
  if (type_s) 
  {
  raw = raw << 3; 
  if (data[7] == 0x10) { raw = (raw & 0xFFF0) + 12 - data[6]; }
  }
else 
  {
   byte cfg = (data[4] & 0x60);
   if (cfg == 0x00) raw = raw & ~7;   else if (cfg == 0x20) raw = raw & ~3;  else if (cfg == 0x40) raw = raw & ~1;
  }
return  (float)raw / 16.0;
}
float _readDS18_ow6(byte addr[8], byte type_s)
{  byte data[12];
byte i;
_ow6.reset();
_ow6.select(addr);
_ow6.write(0xBE);
for ( i = 0; i < 9; i++) {
 data[i] = _ow6.read();}
_ow6.reset();
_ow6.select(addr);
_ow6.write(0x44, 1);
return _convertDS18x2xData(type_s, data);}

Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.

Подробности в видео

Primary Sidebar

Поиск

Новые записи

  • Вывод картинки на oled дисплей и контроллер Arduino, Esp8266, ESP32
  • Получаем доступ по ssh к серверу Home Assistant на HassOS
  • Включение компьютера удаленно с помощью смартфона и esp8266
  • Глушилка wi-fi сигнала на esp8266 или как-же достали соседи шуметь по ночам
  • Отправка сообщений по Email на ESP32

Подписаться на YouTube!


Secondary Sidebar

Свежие записи

  • Вывод картинки на oled дисплей и контроллер Arduino, Esp8266, ESP32
  • Получаем доступ по ssh к серверу Home Assistant на HassOS
  • Включение компьютера удаленно с помощью смартфона и esp8266
  • Глушилка wi-fi сигнала на esp8266 или как-же достали соседи шуметь по ночам
  • Отправка сообщений по Email на ESP32




Copyright_У Павла! © 2021 ·