Jump to content

Component: Car Seat (Scenarios): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead""
 
(16 intermediate revisions by 2 users not shown)
Line 15: Line 15:
An electric car seat chassis with a series of motors and sensors. Students should work through exercises to learn the principles of electric car seats including how to save and load memory positions.
An electric car seat chassis with a series of motors and sensors. Students should work through exercises to learn the principles of electric car seats including how to save and load memory positions.


==Component Pack==
==Component Source Code==


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


==Detailed description==
==Detailed description==


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


==Examples==
==Examples==




Line 30: Line 68:
[[Car_Seat|Car Seat Scenario]]
[[Car_Seat|Car Seat Scenario]]


==Downloadable macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
 
 
 
 
 
 
 
==Macro reference==
 
===CurrentSenseMotor1===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[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;" | '''Save'''
| width="90%" class="mtx-class-macrohead" | '''CurrentSenseMotor1'''
|-
|-
| colspan="2" | Saves the current position of the seat into the allocated save slot. 
| colspan="2" | This macro is used to sense the current draw from DC motor 1. When it is not being used, it will draw no current. In normal operating conditions it will draw 3A, and under stall conditions (when the motor hits the end stops) it will draw 20A.  
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | SavePos
|-
| colspan="2" | 0 = pos A, 1 = pos B 
|-
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===CurrentSenseMotor2===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[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;" | '''Load'''
| width="90%" class="mtx-class-macrohead" | '''CurrentSenseMotor2'''
|-
|-
| colspan="2" | Moves the seat back into the last saved position stored in the allocated save slot. 
| colspan="2" | This macro is used to sense the current draw from DC motor 2. When it is not being used, it will draw no current. In normal operating conditions it will draw 3A, and under stall conditions (when the motor hits the end stops) it will draw 20A.  
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Location
|-
| colspan="2" | 0 = A, 1 = B 
|-
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===CurrentSenseMotor3===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[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;" | '''Encoder3'''
| width="90%" class="mtx-class-macrohead" | '''CurrentSenseMotor3'''
|-
|-
| colspan="2" | Returns value is equal to Rear Z Axis current value. 
| colspan="2" | This macro is used to sense the current draw from DC motor 3. When it is not being used, it will draw no current. In normal operating conditions it will draw 3A, and under stall conditions (when the motor hits the end stops) it will draw 20A.  
|-
|-
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Encoder1===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[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;" | '''Encoder2'''
| width="90%" class="mtx-class-macrohead" | '''Encoder1'''
|-
|-
| colspan="2" | Returns value is equal to Front Z Axis current value. 
| colspan="2" | Returns value is equal to X Axis current value (forward/ backwards movement). 
|-
|-
|-
|-
Line 94: Line 136:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Encoder2===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[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;" | '''Encoder1'''
| width="90%" class="mtx-class-macrohead" | '''Encoder2'''
|-
|-
| colspan="2" | Returns value is equal to X Axis current value (forward/ backwards movement). 
| colspan="2" | Returns value is equal to Front Z Axis current value. 
|-
|-
|-
|-
Line 107: Line 150:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Encoder3===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[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;" | '''CurrentSenseMotor3'''
| width="90%" class="mtx-class-macrohead" | '''Encoder3'''
|-
|-
| colspan="2" | This macro is used to sense the current draw from DC motor 3. When it is not being used, it will draw no current. In normal operating conditions it will draw 3A, and under stall conditions (when the motor hits the end stops) it will draw 20A.  
| colspan="2" | Returns value is equal to Rear Z Axis current value. 
|-
|-
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Load===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[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;" | '''Motor3'''
| width="90%" class="mtx-class-macrohead" | '''Load'''
|-
|-
| colspan="2" | Controls the Movement of the seat going up and down by the back  
| colspan="2" | Moves the seat back into the last saved position stored in the allocated save slot. 
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Direction
| width="90%" | Location
|-
|-
| colspan="2" | 0 = Stop, 1 = Up, 2 = Down 
| colspan="2" | 0 = A, 1 = B 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 138: Line 183:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Motor1===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Motor1'''
|-
| colspan="2" | Moves the Car Seat Forwards and Backwards  
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CurrentSenseMotor2'''
|-
|-
| colspan="2" | This macro is used to sense the current draw from DC motor 2. When it is not being used, it will draw no current. In normal operating conditions it will draw 3A, and under stall conditions (when the motor hits the end stops) it will draw 20A.  
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Direction
|-
|-
| colspan="2" | 0 = Stop, 1 = Forward, 2 = Backward 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Motor2===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[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;" | '''Motor2'''
| width="90%" class="mtx-class-macrohead" | '''Motor2'''
|-
|-
| colspan="2" | Controls the Movement of the seat going up and down by the front 
| colspan="2" | Controls the Movement of the seat going up and down by the front 
Line 169: Line 221:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Motor3===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Motor3'''
|-
| colspan="2" | Controls the Movement of the seat going up and down by the back  
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CurrentSenseMotor1'''
|-
|-
| colspan="2" | This macro is used to sense the current draw from DC motor 1. When it is not being used, it will draw no current. In normal operating conditions it will draw 3A, and under stall conditions (when the motor hits the end stops) it will draw 20A.  
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Direction
|-
|-
| colspan="2" | 0 = Stop, 1 = Up, 2 = Down 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Save===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[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;" | '''Motor1'''
| width="90%" class="mtx-class-macrohead" | '''Save'''
|-
|-
| colspan="2" | Moves the Car Seat Forwards and Backwards  
| colspan="2" | Saves the current position of the seat into the allocated save slot. 
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Direction
| width="90%" | SavePos
|-
|-
| colspan="2" | 0 = Stop, 1 = Forward, 2 = Backward 
| colspan="2" | 0 = pos A, 1 = pos B 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[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'''  
|-
|-
|-
|-
Line 214: Line 271:
|-
|-
| colspan="2" | Controls if the base of the car seat is shown on the simulation panel. 
| colspan="2" | Controls if the base of the car seat is shown on the simulation panel. 
|-
| 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'''
|-
|}
|}

Latest revision as of 14:23, 13 July 2026

Author Matrix TSL
Version 1.0
Category Scenarios


Car Seat component

An electric car seat chassis with a series of motors and sensors. Students should work through exercises to learn the principles of electric car seats including how to save and load memory positions.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

There is a detailed walk through of the scenario detailed at the link below to go with this component.

Car Seat Scenario






Macro reference

CurrentSenseMotor1

CurrentSenseMotor1
This macro is used to sense the current draw from DC motor 1. When it is not being used, it will draw no current. In normal operating conditions it will draw 3A, and under stall conditions (when the motor hits the end stops) it will draw 20A.  
- BYTE Return


CurrentSenseMotor2

CurrentSenseMotor2
This macro is used to sense the current draw from DC motor 2. When it is not being used, it will draw no current. In normal operating conditions it will draw 3A, and under stall conditions (when the motor hits the end stops) it will draw 20A.  
- BYTE Return


CurrentSenseMotor3

CurrentSenseMotor3
This macro is used to sense the current draw from DC motor 3. When it is not being used, it will draw no current. In normal operating conditions it will draw 3A, and under stall conditions (when the motor hits the end stops) it will draw 20A.  
- BYTE Return


Encoder1

Encoder1
Returns value is equal to X Axis current value (forward/ backwards movement). 
- INT Return


Encoder2

Encoder2
Returns value is equal to Front Z Axis current value. 
- INT Return


Encoder3

Encoder3
Returns value is equal to Rear Z Axis current value. 
- INT Return


Load

Load
Moves the seat back into the last saved position stored in the allocated save slot. 
- BYTE Location
0 = A, 1 = B 
- VOID Return


Motor1

Motor1
Moves the Car Seat Forwards and Backwards  
- BYTE Direction
0 = Stop, 1 = Forward, 2 = Backward 
- VOID Return


Motor2

Motor2
Controls the Movement of the seat going up and down by the front 
- BYTE Direction
0 = Stop, 1 = Up, 2 = Down 
- VOID Return


Motor3

Motor3
Controls the Movement of the seat going up and down by the back  
- BYTE Direction
0 = Stop, 1 = Up, 2 = Down 
- VOID Return


Save

Save
Saves the current position of the seat into the allocated save slot. 
- BYTE SavePos
0 = pos A, 1 = pos B 
- VOID Return


Property reference

Properties
Show seat base?
Controls if the base of the car seat is shown on the simulation panel.