Categorii




   Comanda Direct Furnizor
   Consultanta Tehnica
   Ticket Garantie
   Problema Livrare
   Retur Produse
   Feedback
   Verifica Status


Senzor Temperatura Inlantuibil Brick (DS18B20) - Motherboard

Senzor Temperatura Inlantuibil Brick (DS18B20) - Motherboard
Cod Produs: SEN-VRM-23 63
Stoc :13 buc
Pret: 27 RON (TVA inclus)
Cantitate:  

Senzor Temperatura Inlantuibil Brick (DS18B20).

Precizie : 0.5 grade Celsius.

Gama : –55°C to +125°C .

Este o componenta bazata pe senzorul de temperatura Dallas DS18B20

Spre deosebire de alti senzori de temperatura, aceasta componenta permite conectarea simultana a unui numar foarte mare de senzori de temperatura (fiecare senzor dispune de o adresa unica pe 64 de biti), iar lungimea firelor poate atinge fara probleme cateva sute de metri.

Componenta motherboard dispune de un conector cu surub cu trei pini, precum si de un senzor Dallas DS18B20 deja lipit pe placa.

Asadar, daca vrei sa masori temperatura intr-o singura locatie, ai nevoie nevoie doar de componenta motherboard.

Daca vrei sa masori temperatura in doua locatii, ai nevoie de componenta motherboard si de un senzor de temperatura Dallas DS18B20. Un senzor este deja lipit pe motherboard, iar pe celalalt il conectezi cu fire in pinii cu surub. Fire de conectare potrivite sunt acestea - https://www.robofun.ro/index.php?route=product/search&search=fir%20conexiune%20multifilar%200.35

Daca vrei sa masori temperatura in N  locatii, ai nevoie de componenta motherboard si de N-1 senzori de temperatura Dallas DS18B20

 

Librarie Arduino Senzor Temperatura: - http://www.milesburton.com/?title=Dallas_Temperature_Control_Library

Librarie Arduino OneWire (va trebui sa o instalezi si pe aceasta) - http://www.pjrc.com/teensy/td_libs_OneWire.html

 

 

 

 

Cod sursa:

#include "onewire.h"
#include "dallastemperature.h"

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2
#define TEMPERATURE_PRECISION 9

// Setup a oneWire instance to communicate
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);

// arrays to hold device addresses
DeviceAddress insideThermometer, outsideThermometer, outsideThermometer1;

void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // Start up the library
  sensors.begin();

  // locate devices on the bus
  Serial.print("Locating devices...");
  Serial.print("Found ");
  Serial.print(sensors.getDeviceCount(), DEC);
  Serial.println(" devices.");

  // report parasite power requirements
  Serial.print("Parasite power is: "); 
  if (sensors.isParasitePowerMode()) Serial.println("ON");
  else Serial.println("OFF");

  // assign address manually.  the addresses below will beed to be changed
  // to valid device addresses on your bus.  device address can be retrieved
  // by using either oneWire.search(deviceAddress) or individually via
  // sensors.getAddress(deviceAddress, index)
  //insideThermometer = { 0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0 };
  //outsideThermometer   = { 0x28, 0x3F, 0x1C, 0x31, 0x2, 0x0, 0x0, 0x2 };

  // search for devices on the bus and assign based on an index.  ideally,
  // you would do this to initially discover addresses on the bus and then 
  // use those addresses and manually assign them (see above) once you know 
  // the devices on your bus (and assuming they don't change).
  // 
  // method 1: by index
  if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Unable to find address"); 
  if (!sensors.getAddress(outsideThermometer, 1)) Serial.println("Unable to find address"); 
    if (!sensors.getAddress(outsideThermometer1, 2)) Serial.println("Unable to find address"); 

  // method 2: search()
  // search() looks for the next device. Returns 1 if a new address has been
  // returned. A zero might mean that the bus is shorted, there are no devices, 
  // or you have already retrieved all of them.  It might be a good idea to 
  // check the CRC to make sure you didn't get garbage.  The order is 
  // deterministic. You will always get the same devices in the same order
  //
  // Must be called before search()
  //oneWire.reset_search();
  // assigns the first address found to insideThermometer
  //if (!oneWire.search(insideThermometer)) Serial.println("Unable to find address for insideThermometer");
  // assigns the seconds address found to outsideThermometer
  //if (!oneWire.search(outsideThermometer)) Serial.println("Unable to find address for outsideThermometer");

  // show the addresses we found on the bus
  Serial.print("Device 0 Address: ");
  printAddress(insideThermometer);
  Serial.println();

  Serial.print("Device 1 Address: ");
  printAddress(outsideThermometer);
  Serial.println();

  Serial.print("Device 2 Address: ");
  printAddress(outsideThermometer1);
  Serial.println();

  // set the resolution to 9 bit
  sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);
  sensors.setResolution(outsideThermometer, TEMPERATURE_PRECISION);
    sensors.setResolution(outsideThermometer1, TEMPERATURE_PRECISION);

  Serial.print("Device 0 Resolution: ");
  Serial.print(sensors.getResolution(insideThermometer), DEC); 
  Serial.println();

  Serial.print("Device 1 Resolution: ");
  Serial.print(sensors.getResolution(outsideThermometer), DEC); 
  Serial.println();
  
    Serial.print("Device 2 Resolution: ");
  Serial.print(sensors.getResolution(outsideThermometer1), DEC); 
  Serial.println();
  delay(1000);
}

// function to print a device address
void printAddress(DeviceAddress deviceAddress)
{
  for (uint8_t i = 0; i < 8; i++)
  {
    // zero pad the address if necessary
    if (deviceAddress[i] < 16) Serial.print("0");
    Serial.print(deviceAddress[i], HEX);
  }
}

// function to print the temperature for a device
void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  Serial.print("Temp C: ");
  Serial.print(tempC);
  Serial.print(" Temp F: ");
  Serial.print(DallasTemperature::toFahrenheit(tempC));
}

// function to print a device's resolution
void printResolution(DeviceAddress deviceAddress)
{
  Serial.print("Resolution: ");
  Serial.print(sensors.getResolution(deviceAddress));
  Serial.println();    
}

// main function to print information about a device
void printData(DeviceAddress deviceAddress)
{
  Serial.print("Device Address: ");
  printAddress(deviceAddress);
  Serial.print(" ");
  printTemperature(deviceAddress);
  Serial.println();
}

void loop(void)
{ 
  // call sensors.requestTemperatures() to issue a global temperature 
  // request to all devices on the bus
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures();
  Serial.println("DONE");

  // print the device information
  printData(insideThermometer);
  printData(outsideThermometer);
    printData(outsideThermometer1);
    delay(1000);
}

 

 

Proiect rețea de senzori de temperatura de tip MySensors

Proiect Hunting the Heat

Scrie un review / pune o intrebare in zona de mai jos.

Intrebarea / review-ul tau va fi publicata pe site in cel mai scurt timp posibil (pe langa intrebarile scrise de clienti, cu acest formular mai interactioneaza si unii boti si servicii de spam automate care incearca sa ne vanda Viagra, postari pe care este necesar sa le filtram manual :)
.

Numele tau


Adresa ta de email (nu o vom face publica, nu va fi publicata nicaieri pe site)


Intrebarea / review-ul tau

Rating: Bad           Good


Introdu codul in caseta de mai jos:



Robofun © 2017