Remarks
Tmp102 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The TMP102 is a temperature sensor capable of reading the current temperature with an accuracy of 0.5C over the range of -25C to 85C with a total range of -40C to 125C.
Code Example
Tmp102 tmp102;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
tmp102 = new Tmp102(Device.CreateI2cBus());
var consumer = Tmp102.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
tmp102.Subscribe(consumer);
tmp102.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await tmp102.Read();
Resolver.Log.Info($"Current temperature: {temp.Celsius} C");
tmp102.StartUpdating(TimeSpan.FromSeconds(1));
}
Sample project(s) available on GitHub
Wiring Example
TMP102 sensors can be connected to Meadow using only four connections:
Syntax
public class Tmp102 : ByteCommsSensorBase<Temperature>, IObservable<IChangeResult<Temperature>>, IDisposable, ITemperatureSensor, ISamplingSensor<Temperature>, ISensor<Temperature>, II2cPeripheral
Constructors
Tmp102(II2cBus, byte)
Create a new TMP102 object using the default configuration for the sensor
Declaration
public Tmp102(II2cBus i2cBus, byte address = 72)
Parameters
Type | Name | Description |
---|---|---|
II2cBus | i2cBus | The I2CBus |
byte | address | I2C address of the sensor |
Remarks
Tmp102 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The TMP102 is a temperature sensor capable of reading the current temperature with an accuracy of 0.5C over the range of -25C to 85C with a total range of -40C to 125C.
Code Example
Tmp102 tmp102;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
tmp102 = new Tmp102(Device.CreateI2cBus());
var consumer = Tmp102.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
tmp102.Subscribe(consumer);
tmp102.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await tmp102.Read();
Resolver.Log.Info($"Current temperature: {temp.Celsius} C");
tmp102.StartUpdating(TimeSpan.FromSeconds(1));
}
Sample project(s) available on GitHub
Wiring Example
TMP102 sensors can be connected to Meadow using only four connections:
Properties
DefaultI2cAddress
The default I2C address for the peripheral
Declaration
public byte DefaultI2cAddress { get; }
Property Value
Type | Description |
---|---|
byte |
Remarks
Tmp102 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The TMP102 is a temperature sensor capable of reading the current temperature with an accuracy of 0.5C over the range of -25C to 85C with a total range of -40C to 125C.
Code Example
Tmp102 tmp102;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
tmp102 = new Tmp102(Device.CreateI2cBus());
var consumer = Tmp102.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
tmp102.Subscribe(consumer);
tmp102.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await tmp102.Read();
Resolver.Log.Info($"Current temperature: {temp.Celsius} C");
tmp102.StartUpdating(TimeSpan.FromSeconds(1));
}
Sample project(s) available on GitHub
Wiring Example
TMP102 sensors can be connected to Meadow using only four connections:
SensorResolution
Get / set the resolution of the sensor
Declaration
public Tmp102.Resolution SensorResolution { get; set; }
Property Value
Type | Description |
---|---|
Tmp102.Resolution |
Remarks
Tmp102 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The TMP102 is a temperature sensor capable of reading the current temperature with an accuracy of 0.5C over the range of -25C to 85C with a total range of -40C to 125C.
Code Example
Tmp102 tmp102;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
tmp102 = new Tmp102(Device.CreateI2cBus());
var consumer = Tmp102.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
tmp102.Subscribe(consumer);
tmp102.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await tmp102.Read();
Resolver.Log.Info($"Current temperature: {temp.Celsius} C");
tmp102.StartUpdating(TimeSpan.FromSeconds(1));
}
Sample project(s) available on GitHub
Wiring Example
TMP102 sensors can be connected to Meadow using only four connections:
Temperature
The temperature from the last reading
Declaration
public Temperature? Temperature { get; protected set; }
Property Value
Type | Description |
---|---|
Temperature? |
Remarks
Tmp102 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The TMP102 is a temperature sensor capable of reading the current temperature with an accuracy of 0.5C over the range of -25C to 85C with a total range of -40C to 125C.
Code Example
Tmp102 tmp102;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
tmp102 = new Tmp102(Device.CreateI2cBus());
var consumer = Tmp102.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
tmp102.Subscribe(consumer);
tmp102.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await tmp102.Read();
Resolver.Log.Info($"Current temperature: {temp.Celsius} C");
tmp102.StartUpdating(TimeSpan.FromSeconds(1));
}
Sample project(s) available on GitHub
Wiring Example
TMP102 sensors can be connected to Meadow using only four connections:
Methods
RaiseChangedAndNotify(IChangeResult<Temperature>)
Raise change events for subscribers
Declaration
protected void RaiseChangedAndNotify(IChangeResult<Temperature> changeResult)
Parameters
Type | Name | Description |
---|---|---|
IChangeResult<Temperature> | changeResult | The change result with the current sensor data |
Remarks
Tmp102 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The TMP102 is a temperature sensor capable of reading the current temperature with an accuracy of 0.5C over the range of -25C to 85C with a total range of -40C to 125C.
Code Example
Tmp102 tmp102;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
tmp102 = new Tmp102(Device.CreateI2cBus());
var consumer = Tmp102.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
tmp102.Subscribe(consumer);
tmp102.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await tmp102.Read();
Resolver.Log.Info($"Current temperature: {temp.Celsius} C");
tmp102.StartUpdating(TimeSpan.FromSeconds(1));
}
Sample project(s) available on GitHub
Wiring Example
TMP102 sensors can be connected to Meadow using only four connections:
ReadSensor()
Update the Temperature property
Declaration
protected override Task<Temperature> ReadSensor()
Returns
Type | Description |
---|---|
Task<Temperature> |
Overrides
Remarks
Tmp102 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The TMP102 is a temperature sensor capable of reading the current temperature with an accuracy of 0.5C over the range of -25C to 85C with a total range of -40C to 125C.
Code Example
Tmp102 tmp102;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
tmp102 = new Tmp102(Device.CreateI2cBus());
var consumer = Tmp102.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
tmp102.Subscribe(consumer);
tmp102.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await tmp102.Read();
Resolver.Log.Info($"Current temperature: {temp.Celsius} C");
tmp102.StartUpdating(TimeSpan.FromSeconds(1));
}
Sample project(s) available on GitHub
Wiring Example
TMP102 sensors can be connected to Meadow using only four connections:
Events
TemperatureUpdated
Raised when the temperature value changes
Declaration
public event EventHandler<IChangeResult<Temperature>> TemperatureUpdated
Event Type
Type | Description |
---|---|
EventHandler<IChangeResult<Temperature>> |
Remarks
Tmp102 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The TMP102 is a temperature sensor capable of reading the current temperature with an accuracy of 0.5C over the range of -25C to 85C with a total range of -40C to 125C.
Code Example
Tmp102 tmp102;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
tmp102 = new Tmp102(Device.CreateI2cBus());
var consumer = Tmp102.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
tmp102.Subscribe(consumer);
tmp102.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await tmp102.Read();
Resolver.Log.Info($"Current temperature: {temp.Celsius} C");
tmp102.StartUpdating(TimeSpan.FromSeconds(1));
}
Sample project(s) available on GitHub
Wiring Example
TMP102 sensors can be connected to Meadow using only four connections: