Jump to content

Component: Switch Array (Push) (Switches): Difference between revisions

From Flowcode Help
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;"" to "width="10%" align="center" class="mtx-class-macrohead""
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead""
Line 114: Line 114:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadAll'''
| width="90%" class="mtx-class-macrohead" | '''ReadAll'''
|-
|-
| colspan="2" | Reads all of the switches at once, returning a byte containing one bit per switch. 
| colspan="2" | Reads all of the switches at once, returning a byte containing one bit per switch. 
Line 128: Line 128:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadState'''
| width="90%" class="mtx-class-macrohead" | '''ReadState'''
|-
|-
| colspan="2" | Read the state of the switch at the given index. 
| colspan="2" | Read the state of the switch at the given index. 
Line 147: Line 147:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WaitUntilHigh'''
| width="90%" class="mtx-class-macrohead" | '''WaitUntilHigh'''
|-
|-
| colspan="2" | Pause the program until the switch at the given index is turned on. 
| colspan="2" | Pause the program until the switch at the given index is turned on. 
Line 166: Line 166:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WaitUntilLow'''
| width="90%" class="mtx-class-macrohead" | '''WaitUntilLow'''
|-
|-
| colspan="2" | Pause the program until the switch at the given index is turned on. 
| colspan="2" | Pause the program until the switch at the given index is turned on. 
Line 186: Line 186:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-

Revision as of 14:23, 13 July 2026

Author MatrixTSL
Version 14.0
Category Switches


Switch Array (Push) component

An array of up to eight push switches. In embedded mode each switch is connected to a single pin of the specified port.

Version information

Library Version, Component Version, Date, Author, Info
12, 11.0, 26-06-24, MW, Removed [2D] from the component name
13, 13.0, 16-04-25, MW, Corrected bug when sim stopped Switch changed from on to off, but pin remained at VCC
13, 13.0, 16-04-25, MW, Fixed bug so individual customisation now works
 13, 13.0, 16-04-25, MW, Created a new component icon
14, 14.0, 10-03-26, ST, Type, Label On/Off and Colour now transferred correctly


Detailed description

No detailed description exists yet for this component

Examples

Here is an example Flowcode program to read the values of a switch array. Switch Array


Here is a schematic of how to connect a basic switch to a microcontroller pin.

The active high circuit will pass a logical 0 to the input pin when the switch is not pressed and a logical 1 when the switch is pressed.

The active low circuit will pass a logical 1 to the input pin when the switch is not pressed and a logical 0 when the switch is pressed.


There are some differences depending on the type of switch you have, the above states assume a generic push to make type switch, however a push to break type switch would have reversed logic and a toggle switch can work well with either setup.


The resistors are required for correct operation because when a microcontroller's input pin is essentially connected to nothing it will pick up noise in the environment and provide inconsistent readings. This state is referred to as floating i.e. the pin is floating. To test this remove the resistors (if possible) and touch the unconnected pin with your finger the output LED from the example file above will toggle on and off at high speed.


Any values of resistor can be used but it is important to keep the smaller resistor at least 10X smaller then the larger resistor to ensure that the pressed state provides at least 0.91% of the required pressed state voltage. For example a active high switch circuit using 1K and 10K resistors should pull up to about 4.54V when the switch is pressed.

(5V / 11K) * 10K = 4.54545V







Macro reference

ReadAll

ReadAll
Reads all of the switches at once, returning a byte containing one bit per switch. 
- BYTE Return


ReadState

ReadState
Read the state of the switch at the given index. 
- BYTE Index
The switch to read the status of. 
- BOOL Return


WaitUntilHigh

WaitUntilHigh
Pause the program until the switch at the given index is turned on. 
- BYTE Index
Index of the switch to wait for. 
- VOID Return


WaitUntilLow

WaitUntilLow
Pause the program until the switch at the given index is turned on. 
- BYTE Index
Index of the switch to wait for. 
- VOID Return


Property reference

Properties
Count
The number of LEDs in the array from 1 to 8. 
Function
Simulation Only
 
Switch Settings
Input Mode
Choose a single port for all LEDs - pins are allocated in sequence from pin 0 - 7 ...or choose 'Custom pins' to assign each switch individually. 
Port
 
Polarity
Active High = LEDs light when the chosen chip pin is ON Active Low = LEDs light when the chosen chip pin is OFF 
Debounce
Time in milliseconds allowed for the pin to settle following a change of state. 
Operation
Sets whether switches toggle or are press/release. NB) This option can only be set when the original target includes this option. 
Appearance
Component Label
Allows you to add your own label to each switch. If Same as Handle is selected then all custom text will be erased. 
Switch layout
 
Distance between switches
Set distance betwwn each switch. Default = 55 
Style
 
Type
 
On Label
 
Off Label
 
Label Colour
 
Show Connection Label
 
Show Pin Value
 

Component Source Code

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

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