Jump to content

Component: Ultrasonic (EBM019) (EBM Modules): Difference between revisions

From Flowcode Help
XML import - Pre 8.0 release
 
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead""
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{| style="width:50%"
 
{| width="50%"
|-
|-
| width="20%" style="color: gray;" | Author
| width="20%" style="color:gray;" | Author
| Matrix TSL
| Matrix TSL
|-
|-
| width="20%" style="color: gray;" | Version
| width="20%" style="color:gray;" | Version
| 1.0 (Release)
| 1.0
|-
|-
| width="20%" style="color: gray;" | Category
| width="20%" style="color:gray;" | Category
| EBM Modules
| EBM Modules
|}
|}




==Ultrasonic component==
This  board  has  both  an  ultrasonic  transmitter  and receiver. The transmitter is driven by an on-board 40KHz  oscillator which is enabled by the host microprocessor.  The receiving sensor signal is amplified and provided as an analogue signal to be processed by a single channel  ADC of the microprocessor. By measuring the time delay between  enabling  a  transmit  pulse  and  receiving  an  echo the distance of objects in a range of around 3cm to 3m can be determined.


==[[File:Component Icon feb064a2_e087_45e1_a7f9_c9fa0edfdace.png|Image]] Ultrasonic (EBM019) component==
==Component Source Code==
This  board  has  both  an  ultrasonic  transmitter  and receiver. The transmitter is driven by an on-board 40KHz
oscillator which is enabled by the host microprocessor.
The receiving sensor signal is amplified and provided as an analogue signal to be processed by a single channel
ADC of the microprocessor. By measuring the time delay between  enabling  a  transmit  pulse  and  receiving  an
echo the distance of objects in a range of around 3cm to 3m can be determined.


==Examples==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EBM019v1.fcfx FC_Comp_Source_EBM019v1.fcfx]
''<span style="color:red;">No additional examples</span>''


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EBM019v1.fcfx FC_Comp_Source_EBM019v1.fcfx]


==Downloadable macro reference==
==Detailed description==


===<span style="font-weight: normal;"><u><tt>GetDistance</tt></u></span>===
Sends a pulse and processes the echo.


Returns a object distance in cm


'''Parameters'''


:''This macro has no parameters''




'''Return value'''


:[[Variable Types|UINT]]




===<span style="font-weight: normal;"><u><tt>SetDelayTime</tt></u></span>===
Set the delay time before sampling for the echo, in microseconds


'''Parameters'''


:[[Variable Types|UINT]] ''delay''
::delay time in microseconds




'''Return value'''


:''This call does not return a value''


''No detailed description exists yet for this component''


===<span style="font-weight: normal;"><u><tt>SetDetectionValue</tt></u></span>===
==Examples==
Set the delta value for echo detection


'''Parameters'''


:[[Variable Types|BYTE]] ''value''
::trigger point for echo detection




'''Return value'''


:''This call does not return a value''




===<span style="font-weight: normal;"><u><tt>SetPulseWidth</tt></u></span>===
Set the output pulse width, in microsecond (0-255uS)


'''Parameters'''


:[[Variable Types|BYTE]] ''pulse''
::width of pulse in microseconds




'''Return value'''


:''This call does not return a value''




===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
Setup the device.


This sets the control output to logic 0


'''Parameters'''


:''This macro has no parameters''
Sample program using the EBM019 - Ultrasonic sensor.


Sends out a pulse and determines distance from time taken to receive reflection.


'''Return value'''
{{Fcfile|EBM019 - Test Program.fcfx|EBM019 Example}}


:''This call does not return a value''






==Simulation macro reference==


''This component does not contain any simulation macros''




==Property reference==
<span style="font-weight: normal;"><u>Output Pulse Pin</u></span>


This property is of type ''Single digital pin'' and can be referenced with the variable name ''OPP''.


Pin used for controlling the output pulse


<span style="font-weight: normal;"><u>Echo ADC channel</u></span>


This property is of type ''Single analog pin'' and can be referenced with the variable name ''ECHO''.


ADC channel used to monitor the echo
==Macro reference==


<span style="font-weight: normal;"><u>Pulse Width (uS)</u></span>
===GetDistance===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''GetDistance'''
|-
| colspan="2" | Sends a pulse and processes the echo. Returns a object distance in cm&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===Initialise===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Initialise'''
|-
| colspan="2" | Setup the device. This sets the control output to logic 0&nbsp;
|-
|-
| 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''
|}


This property is of type ''Unsigned integer'' and can be referenced with the variable name ''PULSE''.


Output ultrasonic pulse width in microseconds
===SetDelayTime===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SetDelayTime'''
|-
| colspan="2" | Set the delay time before sampling for the echo, in microseconds&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | delay
|-
| colspan="2" | delay time in microseconds&nbsp;
|-
| 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''
|}


<span style="font-weight: normal;"><u>Read Delay (uS)</u></span>


This property is of type ''Unsigned integer'' and can be referenced with the variable name ''DELAY''.
===SetDetectionValue===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SetDetectionValue'''
|-
| colspan="2" | Set the delta value for echo detection&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | value
|-
| colspan="2" | trigger point for echo detection&nbsp;
|-
| 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''
|}


Time delay in microseconds before sampling for echo


<span style="font-weight: normal;"><u>Pulse Detection Value</u></span>
===SetPulseWidth===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SetPulseWidth'''
|-
| colspan="2" | Set the output pulse width, in microsecond (0-255uS)&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | pulse
|-
| colspan="2" | width of pulse in microseconds&nbsp;
|-
| 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''
|}


This property is of type ''Unsigned integer'' and can be referenced with the variable name ''THRESHOLD''.


Detection ADC delta trigger value
==Property reference==


A lower value is more sensitive
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" class="mtx-class-macrohead" | '''Properties'''
|-
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Output Pulse Pin
|-
| colspan="2" | Pin used for controlling the output pulse&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-6-icon.png]]
| width="90%" | Echo ADC channel
|-
| colspan="2" | ADC channel used to monitor the echo&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Pulse Width (uS)
|-
| colspan="2" | Output ultrasonic pulse width in microseconds&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Read Delay (uS)
|-
| colspan="2" | Time delay in microseconds before sampling for echo&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Pulse Detection Value
|-
| colspan="2" | Detection ADC delta trigger value A lower value is more sensitive&nbsp;
|}

Latest revision as of 14:23, 13 July 2026

Author Matrix TSL
Version 1.0
Category EBM Modules


Ultrasonic component

This board has both an ultrasonic transmitter and receiver. The transmitter is driven by an on-board 40KHz oscillator which is enabled by the host microprocessor. The receiving sensor signal is amplified and provided as an analogue signal to be processed by a single channel ADC of the microprocessor. By measuring the time delay between enabling a transmit pulse and receiving an echo the distance of objects in a range of around 3cm to 3m can be determined.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_EBM019v1.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_EBM019v1.fcfx

Detailed description

No detailed description exists yet for this component

Examples

Sample program using the EBM019 - Ultrasonic sensor.

Sends out a pulse and determines distance from time taken to receive reflection.

EBM019 Example







Macro reference

GetDistance

GetDistance
Sends a pulse and processes the echo. Returns a object distance in cm 
- UINT Return


Initialise

Initialise
Setup the device. This sets the control output to logic 0 
- VOID Return


SetDelayTime

SetDelayTime
Set the delay time before sampling for the echo, in microseconds 
- UINT delay
delay time in microseconds 
- VOID Return


SetDetectionValue

SetDetectionValue
Set the delta value for echo detection 
- BYTE value
trigger point for echo detection 
- VOID Return


SetPulseWidth

SetPulseWidth
Set the output pulse width, in microsecond (0-255uS) 
- BYTE pulse
width of pulse in microseconds 
- VOID Return


Property reference

Properties
Output Pulse Pin
Pin used for controlling the output pulse 
Echo ADC channel
ADC channel used to monitor the echo 
Pulse Width (uS)
Output ultrasonic pulse width in microseconds 
Read Delay (uS)
Time delay in microseconds before sampling for echo 
Pulse Detection Value
Detection ADC delta trigger value A lower value is more sensitive