Component: Temperature (DS18B20) (Environmental): Difference between revisions
No edit summary |
No edit summary |
||
| Line 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/ | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Temperature_DS18B20.fcfx FC_Comp_Source_Temperature_DS18B20.fcfx] | ||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Temperature_DS18B20.fcfx FC_Comp_Source_Temperature_DS18B20.fcfx] | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Temperature_DS18B20.fcfx FC_Comp_Source_Temperature_DS18B20.fcfx] | ||
==Detailed description== | ==Detailed description== | ||
| Line 44: | Line 46: | ||
==Examples== | ==Examples== | ||
| Line 72: | Line 76: | ||
==Macro reference== | ==Macro reference== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleAllDevices''' | |||
|- | |||
| colspan="2" | Performs a temperature conversion on all compatible devices. The temperature can be read using the ReadTemperature macro. Brefore calling ReadTemperature you need to use one of the Address macros. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | |||
| width="90%" | WaitForCompletion | |||
|- | |||
| colspan="2" | 0=Dont Wait, 1=Block and Wait To Complete | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AddressSpecificDevice''' | |||
|- | |||
| colspan="2" | Starts a temperature conversion on a specific device using a hex string identifier. SerialNumber parameter should be 12 characters and contain the 48-bit Serial. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | |||
| width="90%" | SerialNumber | |||
|- | |||
| colspan="2" | 48-bit Serial Number e.g. "32DF4A3C1901" | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetSerialString''' | |||
|- | |||
| colspan="2" | Gets the Serial String for the current addressed device. | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AddressNextDevice''' | |||
|- | |||
| colspan="2" | Scans for the next connected device with a matching family code. Goes through the device list generated by the ScanBus macro. | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetTemperature''' | |||
|- | |||
| colspan="2" | Reads the temperature from the last sample on the selected device. The selected device is set using the AddressNext or AddressSpecific macros. | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleAddressedDevice''' | |||
|- | |||
| colspan="2" | Performs a temperature conversion on the current addressed device. Requires one of the Address component macros to be called. The temperature can be read using the ReadTemperature macro. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | |||
| width="90%" | WaitForCompletion | |||
|- | |||
| colspan="2" | 0=Dont Wait, 1=Block and Wait To Complete | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | |||
|- | |||
| colspan="2" | Configures each matching sensor on the bus with the specified conversion bits. | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
==Property reference== | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | One Wire Component | |||
|- | |||
| colspan="2" | Link to the one wire component to host the bus. | |||
|- | |||
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Sensor Settings | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |||
| width="90%" | CRC Checking | |||
|- | |||
| colspan="2" | Allows the data to be checked before being returned. Useful if the comunication with the sensor cannot be guarenteed. GetTemperature will return 999.9 if the CRC is not a match. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | Alarm High | |||
|- | |||
| colspan="2" | The high byte of the alarm range | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | Alarm Low | |||
|- | |||
| colspan="2" | The Low byte of the Alarm range | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Conversion Bits | |||
|- | |||
| colspan="2" | The number of bits used to perform a temperature sample. Controls the conversion time and the resolution. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | Max Conversion Time | |||
|- | |||
| colspan="2" | The maximum amount of time in milliseconds it will take for a sample to complete. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |||
| width="90%" | Temperature Resolution | |||
|- | |||
| colspan="2" | The maximum resolution steps that the temperature can be read in. | |||
|- | |||
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |||
| width="90%" | Simulate Comms | |||
|- | |||
| colspan="2" | No - We use the panel GUI to perform the simulation. Yes - We use OneWire comms via an API to communicate with real hardware. | |||
|- | |||
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Panel Simulation | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Number Sensors | |||
|- | |||
| colspan="2" | Sens the number of sensors we can communicate with during simulation | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]] | |||
| width="90%" | Serial 0 | |||
|- | |||
| colspan="2" | Serial number for simulated one wire device | |||
|}==Macro reference== | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
Revision as of 10:00, 27 January 2023
| Author | MatrixTSL |
| Version | 1.0 |
| Category | Environmental |
Temperature (DS18B20) component
A rugged temperature sensor allowing one or more sensors to be addressed and read. Capable of reading temperatures from -55 to +125 degrees C. Requires a One Wire component to perform the bus operations.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_Temperature_DS18B20.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_Temperature_DS18B20.fcfx
Detailed description
No detailed description exists yet for this component
Examples
This example shows how to connect the DS18B20 component to the OneWire component and either select a specific device on the bus or scan through the devices on the bus collecting the temperature readings.
The temperature and serial number is output using a UART connection as is onboard a Arduino or ESP32 device.
Macro reference
| GetSerialString | |
| Gets the Serial String for the current addressed device. | |
| Return | |
| AddressNextDevice | |
| Scans for the next connected device with a matching family code. Goes through the device list generated by the ScanBus macro. | |
| Return | |
| GetTemperature | |
| Reads the temperature from the last sample on the selected device. The selected device is set using the AddressNext or AddressSpecific macros. | |
| Return | |
| Initialise | |
| Configures each matching sensor on the bus with the specified conversion bits. | |
| Return | |
Property reference
==Macro reference==
| GetSerialString | |
| Gets the Serial String for the current addressed device. | |
| Return | |
| AddressNextDevice | |
| Scans for the next connected device with a matching family code. Goes through the device list generated by the ScanBus macro. | |
| Return | |
| GetTemperature | |
| Reads the temperature from the last sample on the selected device. The selected device is set using the AddressNext or AddressSpecific macros. | |
| Return | |
| Initialise | |
| Configures each matching sensor on the bus with the specified conversion bits. | |
| Return | |
Property reference
==Macro reference==
| GetSerialString | |
| Gets the Serial String for the current addressed device. | |
| Return | |
| AddressNextDevice | |
| Scans for the next connected device with a matching family code. Goes through the device list generated by the ScanBus macro. | |
| Return | |
| GetTemperature | |
| Reads the temperature from the last sample on the selected device. The selected device is set using the AddressNext or AddressSpecific macros. | |
| Return | |
| Initialise | |
| Configures each matching sensor on the bus with the specified conversion bits. | |
| Return | |
Property reference
==Macro reference==
| GetSerialString | |
| Gets the Serial String for the current addressed device. | |
| Return | |
| AddressNextDevice | |
| Scans for the next connected device with a matching family code. Goes through the device list generated by the ScanBus macro. | |
| Return | |
| GetTemperature | |
| Reads the temperature from the last sample on the selected device. The selected device is set using the AddressNext or AddressSpecific macros. | |
| Return | |
| Initialise | |
| Configures each matching sensor on the bus with the specified conversion bits. | |
| Return | |