Witam ostatnio zacząłem zabawę z Arduino podpiąłem termometr DS18B20.
Działa ok, lecz nie znam do końca języka C, w którym jest programowane Arduino.
Chciałbym zapytać się tylko o linię
OneWire onewire(2);
DS18B20 sensors(&onewire);
W pierwszej linijce chodzi o stworzenie obiektu onewire, do którego jako argument do konstruktora podajemy numer pinu, na którym jest podpięty nasz termometr na magistrali 1-wire.
A druga linijka tworzy kolejny obiekt sensors, do którego jako argument wywołania konstruktora przekazujemy referencję do obiektu onewire ?
A to cały kod.
#include <OneWire.h>
#include <DS18B20.h>
byte sensorAddress[8] = {40,199,251,170,0,0,0,96};
OneWire onewire(2);
DS18B20 sensors(&onewire);
void setup() {
Serial.begin(9600);
sensors.begin();
}
void loop() {
sensors.request(sensorAddress);
while(!sensors.available());
float temperature = sensors.readTemperature(sensorAddress);
Serial.print(temperature);
Serial.println(F(" 'C"));
}