Difference between revisions of "Component: Temperature (DS18S20) (Environmental)"
From Flowcode Help
Jump to navigationJump to searchLine 1: | Line 1: | ||
− | + | {| style="width:50%" | |
− | |||
− | {| | ||
|- | |- | ||
− | | width="20%" style="color: gray;" | Author | + | | width="20%" style="color:gray;" | Author |
| MatrixTSL | | MatrixTSL | ||
|- | |- | ||
− | | width="20%" style="color: gray;" | Version | + | | width="20%" style="color:gray;" | Version |
− | | 1.0 | + | | 1.0 |
|- | |- | ||
− | | width="20%" style="color: gray;" | Category | + | | width="20%" style="color:gray;" | Category |
| Environmental | | Environmental | ||
|} | |} | ||
+ | ==Temperature (DS18S20) 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. | ||
− | == | + | ==Detailed description== |
− | + | ||
− | + | ''No detailed description exists yet for this component'' | |
− | |||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
This example shows how to connect the DS18S20 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. | This example shows how to connect the DS18S20 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. | ||
Line 30: | Line 31: | ||
==Downloadable macro reference== | ==Downloadable macro reference== | ||
− | === | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
− | Performs a temperature conversion on all compatible devices. | + | |- |
+ | | 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:]] - | ||
+ | | 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'' | ||
+ | |} | ||
− | '''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:]] - | ||
+ | | 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:]] - | ||
+ | | 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'' | ||
+ | |} | ||
− | + | {| 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;" | '''WriteRegister''' | |
− | + | |- | |
− | = | + | | colspan="2" | A simple example showing a generic way to write a register using I2C. |
− | + | |- | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |
− | + | | width="90%" | Address | |
− | + | |- | |
− | + | | colspan="2" | | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |
− | + | | width="90%" | Data | |
− | + | |- | |
− | + | | colspan="2" | | |
− | + | |- | |
− | + | | 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" | | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] - | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | |||
==Property reference== | ==Property reference== | ||
− | |||
− | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |
− | + | |- | |
− | Link to the one wire component to host the bus. | + | | 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 | |
− | The high byte of the alarm range | + | |- |
− | + | | colspan="2" | Link to the one wire component to host the bus. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |
− | + | | width="90%" | Alarm High | |
− | + | |- | |
− | The Low byte of the Alarm range | + | | 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 | |
− | The number of bits used to perform a temperature sample. | + | |- |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | Controls the conversion time and the resolution. | + | | 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 | |
− | The maximum amount of time in milliseconds it will take for a sample to complete. | + | |- |
− | + | | 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 | |
− | + | |- | |
− | The maximum resolution steps that the temperature can be read in. | + | | colspan="2" | The maximum resolution steps that the temperature can be read in. |
− | + | |- | |
− | + | | 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 | |
− | + | |- | |
− | + | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]] | |
− | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections''' | |
− | + | |- | |
− | + | |- | |
− | + | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]] | |
− | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations''' | |
− | + | |- | |
− | + | |- | |
− | + | | 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. | ||
+ | |} |
Revision as of 20:47, 16 November 2021
Author | MatrixTSL |
Version | 1.0 |
Category | Environmental |
Contents
Temperature (DS18S20) 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.
Detailed description
No detailed description exists yet for this component
Examples
This example shows how to connect the DS18S20 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.
Downloadable 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. | |
[[File:]] - | Return |
![]() |
Initialise |
Configures each matching sensor on the bus with the specified conversion bits. | |
![]() |
Return |
![]() |
WriteRegister |
A simple example showing a generic way to write a register using I2C. | |
![]() |
Address |
![]() |
Data |
![]() |
Return |
![]() |
Initialise |
[[File:]] - | Return |