Jump to content

Component: Formula Flowcode (Robotics): 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 90: Line 90:
|-
|-
| 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;" | '''CheckIR'''
| width="90%" class="mtx-class-macrohead" | '''CheckIR'''
|-
|-
| colspan="2" | Checks to see if a IR sensor is within the master threshold distance. 
| colspan="2" | Checks to see if a IR sensor is within the master threshold distance. 
Line 109: Line 109:
|-
|-
| 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;" | '''Forward'''
| width="90%" class="mtx-class-macrohead" | '''Forward'''
|-
|-
| colspan="2" | Drives both motors of the formula flowcode forwards with the power specified. 
| colspan="2" | Drives both motors of the formula flowcode forwards with the power specified. 
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;" | '''Initialise'''
| width="90%" class="mtx-class-macrohead" | '''Initialise'''
|-
|-
| colspan="2" | Starts up the formula flowcode PWM for motor control and performs the wait for button press 
| colspan="2" | Starts up the formula flowcode PWM for motor control and performs the wait for button press 
Line 142: Line 142:
|-
|-
| 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;" | '''LEDOff'''
| width="90%" class="mtx-class-macrohead" | '''LEDOff'''
|-
|-
| colspan="2" | Switches off a single LED on the front of the Formula Flowcode. 
| colspan="2" | Switches off a single LED on the front of the Formula Flowcode. 
Line 161: Line 161:
|-
|-
| 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;" | '''LEDOn'''
| width="90%" class="mtx-class-macrohead" | '''LEDOn'''
|-
|-
| colspan="2" | Switches on a single LED on the front of the Formula Flowcode. 
| colspan="2" | Switches on a single LED on the front of the Formula Flowcode. 
Line 180: Line 180:
|-
|-
| 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;" | '''PlayNote'''
| width="90%" class="mtx-class-macrohead" | '''PlayNote'''
|-
|-
| colspan="2" | Outputs a single tone from the onboard speaker for the period specified 
| colspan="2" | Outputs a single tone from the onboard speaker for the period specified 
Line 204: Line 204:
|-
|-
| 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;" | '''ReadIRSensor'''
| width="90%" class="mtx-class-macrohead" | '''ReadIRSensor'''
|-
|-
| colspan="2" | Reads the analogue value from the specified IR distance sensor. 
| colspan="2" | Reads the analogue value from the specified IR distance sensor. 
Line 223: Line 223:
|-
|-
| 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;" | '''ReadLDR'''
| width="90%" class="mtx-class-macrohead" | '''ReadLDR'''
|-
|-
| colspan="2" | Reads the current audio signal level from the on-board light sensor. 
| colspan="2" | Reads the current audio signal level from the on-board light sensor. 
Line 237: Line 237:
|-
|-
| 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;" | '''ReadLineSensor'''
| width="90%" class="mtx-class-macrohead" | '''ReadLineSensor'''
|-
|-
| colspan="2" | Returns the digital value from the line sensor specified. 
| colspan="2" | Returns the digital value from the line sensor specified. 
Line 256: Line 256:
|-
|-
| 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;" | '''ReadMic'''
| width="90%" class="mtx-class-macrohead" | '''ReadMic'''
|-
|-
| colspan="2" | Reads the current audio signal level from the on-board microphone. 
| colspan="2" | Reads the current audio signal level from the on-board microphone. 
Line 270: Line 270:
|-
|-
| 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;" | '''ReadSwitch'''
| width="90%" class="mtx-class-macrohead" | '''ReadSwitch'''
|-
|-
| colspan="2" | Reads the value of one of the switches from the front of the Formula Flowcode. 
| colspan="2" | Reads the value of one of the switches from the front of the Formula Flowcode. 
Line 289: Line 289:
|-
|-
| 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;" | '''Reverse'''
| width="90%" class="mtx-class-macrohead" | '''Reverse'''
|-
|-
| colspan="2" | Drives both motors of the formula flowcode backwards with the power specified. 
| colspan="2" | Drives both motors of the formula flowcode backwards with the power specified. 
Line 308: Line 308:
|-
|-
| 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;" | '''SetMotors'''
| width="90%" class="mtx-class-macrohead" | '''SetMotors'''
|-
|-
| colspan="2" | Sets the speed and direction of the Formula Flowcode motors. 
| colspan="2" | Sets the speed and direction of the Formula Flowcode motors. 
Line 332: Line 332:
|-
|-
| 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;" | '''SpinLeft'''
| width="90%" class="mtx-class-macrohead" | '''SpinLeft'''
|-
|-
| colspan="2" | Spins the formula flowcode on the spot in an anticlockwise direction as seen from above. 
| colspan="2" | Spins the formula flowcode on the spot in an anticlockwise direction as seen from above. 
Line 351: Line 351:
|-
|-
| 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;" | '''SpinRight'''
| width="90%" class="mtx-class-macrohead" | '''SpinRight'''
|-
|-
| colspan="2" | Spins the formula flowcode on the spot in a clockwise direction as seen from above. 
| colspan="2" | Spins the formula flowcode on the spot in a clockwise direction as seen from above. 
Line 370: Line 370:
|-
|-
| 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;" | '''Stop'''
| width="90%" class="mtx-class-macrohead" | '''Stop'''
|-
|-
| colspan="2" | Stops both motors 
| colspan="2" | Stops both motors 
Line 384: Line 384:
|-
|-
| 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;" | '''WaitForSwitch'''
| width="90%" class="mtx-class-macrohead" | '''WaitForSwitch'''
|-
|-
| colspan="2" | Waits for the specified switch to be pressed. 
| colspan="2" | Waits for the specified switch to be pressed. 
Line 403: Line 403:
|-
|-
| 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;" | '''WriteLEDs'''
| width="90%" class="mtx-class-macrohead" | '''WriteLEDs'''
|-
|-
| colspan="2" | Allows control of all 8-LEDs on the front of the Formula Flowcode. 
| colspan="2" | Allows control of all 8-LEDs on the front of the Formula Flowcode. 
Line 423: Line 423:
|-
|-
| 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:22, 13 July 2026

Author Matrix Ltd
Version 2.0
Category Robotics


Formula Flowcode component

A component to allow all the features of the Formula Flowcode robot to be investigated. Fully simulated component which can interact with simulated objects on the panel as well as control the real hardware.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

Importing from v5

The Formula Flowcode component in Flowcode v6 has a new Initialise macro which will need to be added to your program before any other calls to the component are made.


Line Following

Line following example using the Formula Flowcode, works with objects on the simulation panel and on the real hardware. FF-Line


Maze Solving

Wall following example using the Formula Flowcode, works with a randomly generated maze on the simulation panel and on the real hardware. FF-Maze






Macro reference

CheckIR

CheckIR
Checks to see if a IR sensor is within the master threshold distance. 
- BYTE Sensor
 
- BYTE Return


Forward

Forward
Drives both motors of the formula flowcode forwards with the power specified. 
- BYTE Power
 
- VOID Return


Initialise

Initialise
Starts up the formula flowcode PWM for motor control and performs the wait for button press 
- VOID Return


LEDOff

LEDOff
Switches off a single LED on the front of the Formula Flowcode. 
- BYTE LED
 
- VOID Return


LEDOn

LEDOn
Switches on a single LED on the front of the Formula Flowcode. 
- BYTE LED
 
- VOID Return


PlayNote

PlayNote
Outputs a single tone from the onboard speaker for the period specified 
- BYTE Note
 
- UINT Delay_ms
 
- VOID Return


ReadIRSensor

ReadIRSensor
Reads the analogue value from the specified IR distance sensor. 
- BYTE Sensor
 
- UINT Return


ReadLDR

ReadLDR
Reads the current audio signal level from the on-board light sensor. 
- INT Return


ReadLineSensor

ReadLineSensor
Returns the digital value from the line sensor specified. 
- BYTE Sensor
 
- BYTE Return


ReadMic

ReadMic
Reads the current audio signal level from the on-board microphone. 
- INT Return


ReadSwitch

ReadSwitch
Reads the value of one of the switches from the front of the Formula Flowcode. 
- BYTE Switch
 
- BYTE Return


Reverse

Reverse
Drives both motors of the formula flowcode backwards with the power specified. 
- BYTE Power
 
- VOID Return


SetMotors

SetMotors
Sets the speed and direction of the Formula Flowcode motors. 
- INT Left_Power
Valid Range = -255 to 255 
- INT Right_Power
Valid Range = -255 to 255 
- VOID Return


SpinLeft

SpinLeft
Spins the formula flowcode on the spot in an anticlockwise direction as seen from above. 
- BYTE Power
 
- VOID Return


SpinRight

SpinRight
Spins the formula flowcode on the spot in a clockwise direction as seen from above. 
- BYTE Power
 
- VOID Return


Stop

Stop
Stops both motors 
- VOID Return


WaitForSwitch

WaitForSwitch
Waits for the specified switch to be pressed. 
- BYTE Switch
 
- VOID Return


WriteLEDs

WriteLEDs
Allows control of all 8-LEDs on the front of the Formula Flowcode. 
- BYTE LED_Byte
 
- VOID Return


Property reference

Properties
Wait For Button
Determines if the program will automatically wait for one of the front switches to be pressed before executing the program.  
IR Sensitivity
InfraRed read mode - 8-bit or 10-bit 
Motor Balance (-100 - 100)
Motor balance, way of modifying the relative speeds of the motors to allow mismatched motors to work together better. 
IR Thresholds (CheckIR macro)
Left
IR Threshold used with the CheckIR macro 
Front
IR Threshold used with the CheckIR macro 
Right
IR Threshold used with the CheckIR macro 
Simulation Parameters
Sim Speed (1 - 100)
Sets the simulated amount of movement relative to the speed of the formula flowcode 
Smooth Animation
Selects if the simulation has additional smoothing going on in between iterations 
Manual Redraw
Sets if the animation forces it's own redraws or waits for the system to perform a redraw 
Timer Interval (ms)
Interval in ms between each iteration of the formula flowcode simulated movement 
IR Sensor Iterations
Number of times to repeat the IR sensor tests and therefore how far the simulated IR sensors can sense.  
IR Sensor Resolution
The amount of distance to travel for each iteration of the IR sensor 
Collision Method
Sets whether the sensors on the formula flowcode interact with everything on the panel or just a specific group.