Difference between revisions of "Examples and Tutorials"
Line 6: | Line 6: | ||
It’s a comprehensive resource for Flowcode users across multiple platforms. | It’s a comprehensive resource for Flowcode users across multiple platforms. | ||
+ | |||
+ | =Beginner Examples= | ||
+ | ==ESP32== | ||
+ | {{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}<br> | ||
+ | {{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}<br> | ||
+ | {{Fcfile|LCDs ESP.fcfx|LCDs ESP}}<br> | ||
+ | {{Fcfile|Macros ESP.fcfx|Macros ESP}}<br> | ||
+ | {{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}<br> | ||
+ | {{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}<br> | ||
+ | {{Fcfile|Counter - ESP.fcfx|Counter - ESP}}<br> | ||
+ | {{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}<br> | ||
+ | |||
+ | ==PIC== | ||
+ | ==Arduino== | ||
==Introduction to Microcontrollers Course== | ==Introduction to Microcontrollers Course== |
Revision as of 08:04, 9 October 2024
This page provides resources for users to get started with Flowcode. It includes guides for microcontrollers, web development, PC applications, and using APIs to control Arduino and ESP32.
There are examples for Raspberry Pi, Sysblocks for signal processing, and embedded systems like heat control and power monitoring. Tutorials for touch and graphical displays are also available.
The page includes App Developer projects, such as web-based communication and MQTT integration, along with real-world scenarios like traffic lights and CNC machines.
It’s a comprehensive resource for Flowcode users across multiple platforms.
Contents
- 1 Beginner Examples
- 1.1 ESP32
- 1.2 PIC
- 1.3 Arduino
- 1.4 Introduction to Microcontrollers Course
- 1.5 Embedded Getting Started Guide
- 1.6 Web Developer getting started
- 1.7 PC Developer Getting Started Guide
- 1.8 Using PC_Developer APIs to Control an Arduino
- 1.9 Raspberry Pi_Getting Started Guide
- 1.10 Sysblocks Getting Started Guide
- 1.11 Embedded
- 1.12 App Developer
- 1.13 Scenarios
Beginner Examples
ESP32
Grove I2C quad 7-seg ESP
Grove I2C temp and hum ESP
LCDs ESP
Macros ESP
motor test - ESP32
Potentiometer ESP
Counter - ESP
Flasher - ESP
PIC
Arduino
Introduction to Microcontrollers Course
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.
Embedded Getting Started Guide
The Embedded Getting Started Guide introduces you to the Flowcode environment and take you though to programming a microcontroller.
Web Developer getting started
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.
The Web Developer Getting Started Guide takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.
PC Developer Getting Started Guide
The PC Developer Getting Started Guide takes you through the various stages of creating PC developer code that includes switches, timer and graph logging.
Using PC_Developer APIs to Control an Arduino
The Using PC Developer APIs to Control an Arduino Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.
Raspberry Pi_Getting Started Guide
The Raspberry Pi Getting Started Guide shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.
Sysblocks Getting Started Guide
The Sysblocks Getting Started Guide take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.
Sysblocks is an exciting piece of hardware for use with education in mind.
Examples
There are loads of examples available. To find an example of a component you are interested in. Search for the component by selecting the magnifying glass on the left Components Libraries ribbon. Right-click on the component you would like to look at an example for, then select help. If there are no examples available then you can request an example on the forums.
Embedded
Heat Control - Coarse
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached.
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.
Heat Control - Fine
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.
Multi-function AC Power Monitor
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.
It can measure Voltage, Current, Frequency Power, Power Factor & Energy used (Resettable).
The power level threshold can be set to give OVERPOWER warning.
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values. Therefore you will require a TTL to USB converter or an analyser that can decode UART.
Arduino Uno AC Multi-function Monitor v1.2
Current Sensor (ACS7xx) component
ACS7XX range of unidirectional and bidirectional 5, 20, 30, 50, 100, 150 & 200A current sensors
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A. The component type can be changed within its properties.
Circular Buffer - Reliable Communications Data
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection.
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.
UART to USB Serial Data Bridge
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.
BME280 Barometer plus Altitude v1.0
This example reads and displays the pressure, temperature & humidity.
If the pressure is increasing then Rise will be displayed.
Alternatively if the pressure is falling, then Fall will be displayed.
The altitude displayed is calculated based on the current pressure reading.
What makes the altitude useful is the ability to tare it, then after going up or downstairs for example the feet & meters are displayed.
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height, the height displayed can be different each day.
Programming Touch and Graphical Displays
These programs are used in the Youtube video Touch and graphical displays parts 1 and 2
gLCD Demo for SPI HGY 480 x 320 Display
gLCD Demo for Cap Touch Display on Rowland Technology PCB
Image for Test_card_6_for_Rowland
Images for Test_card_7_for_HGY_480_320
Menu system example for a gLCD
Images for Menu system example
Place the bitmap files in the same folder as the project file for the simulation to work.
M5stack dial
M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode
M5stack demo shows you how you can make an electronic safe project for the M5stack Dial
Place the bitmap file in the same folder as the project file for the simulation to work.
App Developer
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.
HTTP Comms Worked Example - Web Developer
A worked example showing how to create an embedded project that communicates with a PC via the serial port.
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.
Serial Comms Worked Example - PC Developer
A worked example showing how to develop Flowcode MQTT apps.
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.
MQTT Worked Example - Web & PC Developer
Scenarios
This page contains a list of the scenarios included with Flowcode.
The corresponding components can be found in the Runtime section of the component toolbar.