Difference between revisions of "Exercise - Creating a Flowchart"

From Flowcode Help
Jump to navigationJump to search
(Replaced content with "For an excellent introduction guide, we recommend [https://www.flowcode.co.uk/education/ Introduction to microcontroller programming]")
Tag: Replaced
 
(83 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
+
For an excellent introduction guide, we recommend [https://www.flowcode.co.uk/education/ Introduction to microcontroller programming]
The task is to produce a Flowcode flowchart that lights a lamp for ten seconds when a switch is pressed.<br />
 
Although it may not be realistic to use a microcontroller in such a straight-forward application, it illustrates the technique of producing a Flowcode program.<br />
 
The program itself may form part of a bigger program.
 
 
 
 
 
__TOC__
 
 
 
==Formulate the sequence==
 
The flowchart sequence will be:
 
: Check if the switch is pressed.
 
:: If it isn't, go back to the beginning.
 
:: If it is:
 
::: switch on the lamp;
 
::: wait for 10 seconds;
 
::: switch off the lamp;
 
::: go back to the beginning.
 
[[File:Gen_Running_Flowcode_Startup_Selection.png||250px|right]]
 
It takes such a short time for the microcontroller to carry this out, that we don't need to worry whether the switch latches on or not.
 
 
 
 
 
==Set up the flowchart==
 
* Open Flowcode.
 
* On the Startup screen, click on 'New embedded project'. (See [[Opening Flowcode]])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
[[File:Project_Options_Target_16F1937.png|right|250px]]
 
: The [[Project Options]] dialogue box opens.  
 
: (Click on the link for a full explanation of all the options available.)
 
 
 
* Accept the default settings by clicking on 'OK'.
 
: An empty flowchart window opens, which may contain other items such as a [[System Panel]], [[Dashboard Panel]], [[Properties Panel]] etc.
 
: These can be revealed or hidden using the [[View]] menu.
 
 
 
 
 
* Set up the flowchart window so that you can see the System Panel and the Properties Panel.
 
: The flowchart window should resemble the one shown below (depending on the configuration.)
 
 
 
[[File:gen_exerciseFirstFlowchart_startscreen_01.png|500px|center]]
 
 
 
: The System Panel and Properties Panel can be moved by 'clicking and dragging the title bar at the top of each panel.
 
 
 
 
 
==Set up the input==
 
: More information about the icons used in this flowchart can be found in [[Icon Properties]].
 
* Drag and drop a 'Loop' icon between the Begin and End icons.
 
: The 'Loop' icon makes the microcontroller repeatedly run through the program, (though the icon can be configured to limit the number of times this happens.)
 
[[File:Gen exerciseFirstFlowchart newvar 01.png|250px|right]]
 
 
 
* Inside the loop, drag and drop an 'Input' icon from the Icons toolbar,. (See [[Tools and Views]].)
 
:* Double click on the icon.
 
:: This opens the 'Properties: Input' dialogue box, allowing you to configure the way the program treats information from the switch.
 
:: This information will be contained in a variable called 'switch'.
 
::* Click on the down arrow at the right-hand end of the 'Variable:' box to open the variables dialogue box.
 
 
 
 
 
::* Hover to the left of the 'Variables' label and click on the down arrow that appears.
 
::* Click on the 'Add new' option to open the 'Create a New Variable' dialogue box.
 
::* Create a new variable named "switch" with initial value "0" and description "Copies the state of the switch"
 
 
 
::* Leave the 'Variable type:' as 'Byte'.
 
::: (For more information about variables, see [[Creating Variables]] and [[Variable Types]].
 
::: (The resulting dialogue box is shown opposite.)
 
[[File:gen_exerciseFirstFlowchart_inputprops_01.png|250px|right]]
 
 
 
:* Finish configuring the input properties as follows:
 
::* Change the 'Display name:' to "Read the switch".
 
::* In the 'Variable:' box, type the name of the variable you created "switch".
 
::* Leave the 'Port:' as PORT A.
 
::* Select to 'Input from:'Single Bit' and choose bit 0.
 
::: (The resulting dialogue box is shown opposite.)
 
 
 
 
 
: Set up like this, the program monitors the state of the switch.
 
: When the program looks at the input switch if it is pressed, the variable 'switch' contains logic 1. If unpressed, it contains logic 0.
 
 
 
 
 
==Check the switch==
 
[[File:gen_exerciseFirstFlowchart_deciconprop_01.png|250px|right]]
 
* Drag and drop a 'Decision' icon after the 'Input' icon.
 
:* Double click on it to open the configuration dialogue box, and then:
 
::* Rename it "Switch pressed?".
 
::* In the 'If:' box, type "switch=1".
 
::* Leave the 'Swap Yes and No' box unchecked.
 
::* Click on 'OK'.
 
 
 
: This icon makes the program perform what is known as a conditional branch.
 
: The subsequent course of the program depends on the outcome of the condition specified in the 'Decision' icon.
 
: In this case, it depends on whether or not the variable 'switch' = 1.
 
: If it is, the program follows the 'Yes' route. If not, it follows the 'No' route.
 
 
 
==Control the lamp==
 

Latest revision as of 13:10, 25 April 2023

For an excellent introduction guide, we recommend Introduction to microcontroller programming