Difference between revisions of "Component: Temperature (DS18B20) (Environmental)"
From Flowcode Help
Jump to navigationJump to searchLine 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
− | Please click here | + | 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 38: | Line 40: | ||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
Line 62: | Line 66: | ||
==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 15:17, 20 January 2023
Author | MatrixTSL |
Version | 1.0 |
Category | Environmental |
Contents
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 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 |