Flowcode

Introduction

Logo Flowcode

Flowcode est environnement de programmation graphique développé pour programmer des microcontrôleurs. Il permet à l’utilisateur de créer des systèmes électroniques et de les simuler grâce à un système de blocs fonctionnels.

 Il vous permettra de tester des circuits électriques en toute sécurité avant de les créer en réel une fois la maquette validée. De plus vous pourrez présenter vos projets de façon esthétique depuis Flowcode et les exporter en images pour présenter votre maquette.

plus

L'avantage de Flowcode

Flowcode permet de simuler les circuits pour voir si votre maquette est valide, ce qui est un atout dans votre création de circuit en toute sécurité.

moins

L'inconvénient de Flowcode

Les nouvelles librairies sur Flowcode sont payantes. De plus Flowcode est uniquement en anglais.

Installer Flowcode

Dans cet article, nous téléchargerons la version de Flowcode pour arduino. Pour cela vous devez aller sur le site de Flowcode : https://www.matrixtsl.com/flowcode/arduino/

Vous allez vous retrouver sur ce site :

 

Flwocode site

On va choisir la version gratuite de Flowcode, ce qui sera suffisant pour la découverte de ce logiciel.

On se laisse ensuite guider par l’installateur :

installation Flowcode

Une fois l’installation terminée on se retrouve sur le logiciel de Flowcode où on va devoir activer notre licence utilisateur :

flowcode-accueil

Pour cela il faut cliquer sur 30 day unlock puis se créer un compte sur flowcode :

creation compte

Après avoir créé votre compte et activé celui-ci, vous devez vous connecter sur votre compte depuis Flowcode :

On se retrouve maintenant sur Flowcode :

Présentation de Flowcode

 

Pour commencer à utiliser Flowcode, on va créer un nouveau projet avec comme microcontroleur une carte arduino uno. Pour cela on va créer un nouveau projet 

Quelle est la différence entre Embedded et Scada ?

La partie embedded « embarqué » concerne les projets embarqués sur des machines autonomes. Scada veut dire « Supervisory Control And Data Acquisition » et fait référence à des systèmes conçus pour permettre aux utilisateurs de contrôler et de surveiller à distance le matériel à l’aide d’interfaces simples et intuitives.

 

Puis dans la liste des microcontrôleurs, on choisit une des cartes arduino uno :

 

On arrive ensuite sur le projet :

Il y a deux fenêtres importantes : celle du code avec écrit begin et end et la fenêtre de droite qui sera pour créer le schéma. On va tout d’abord voir chaque bouton de la programmation puis on verra comment configurer la fenêtre de droite et des boutons qui sont dans la barre d’outils.

Sur la fenêtre de programmation, on peut voir différents boutons à gauche qui permettent de faire votre propre code.

Le premier bouton s’appelle input. Il permet de déclarer des variables et de leurs donner une valeur dans votre programme. Vous pouvez choisir le nom de la variable à la place d’input, la valeur de la variable entre 0 et 1.

 

Le deuxième bouton : output

L’icône Sortie permet d’envoyer la valeur ou le contenu d’une variable au port spécifié. Celui-ci permet par exemple d’allumer une led puis de l’éteindre une fois que la variable est à 0. Ici on peut changer le nom du composant, le port sur lequel il est rattaché, la valeur de la variable.

Le troisième bouton delay, permet de faire une pause dans le programme. On peut donc choisir le temps entre des secondes, millisecondes ou microseconde. Et on peut aussi changer le nom de la case Delay en pause par exemple :

 

Lorsque l’on appuie sur le bouton le courant passe, donc la led s’allume. Lorsqu’on le relâche le courant ne passe plus, donc la led s’éteint.

flowcode decision

Le bouton décision permet de mettre une condition dans l’exécution du circuit : si une variable vaut 1 ou 0 ou bien si une condition est vraie (avec true) alors on fait cette partie du programme sinon l’autre.

flowcode connection point

Le point de connexion permet de revenir à un endroit du programme précis si le programme passe sur un autre point de connexion relié à celui-ci. Le point de relais sera présenté juste en dessous.

Goto connection

Cet élément permet d’aller au point de connexion que l’on aura préalablement mis dans le programme. Ceci permet de revenir à un endroit précis du programme.

flowcode loop

La fonction boucle permet de répéter plusieurs opérations tant que la condition n’est pas remplie. Cela peut-être un compteur qui va s’arrêter au bout d’un certain temps, ou bien une boucle infinie si les opérations à l’intérieur de la boucle doivent constamment rester à jour.

flowcode call macro

La macro est un composant qui permet d’automatiser des tâches dans le programme. Par exemple pour allumer une led au lieu de faire une entrée avec une variable 1, puis l’affecter au port de la led pour qu’elle s’allume. Avec une macro, il suffit de cliquer sur la led puis dans le mettre dans un état haut pour l’allumer.

Voici un exemple de ce que l’on peut faire en mettant une led comme composant :

flowcode simulation

La simulation permet de simuler un composant en particulier.

flowcode interrupt

L’interrrupteur permet d’arrêter le programme à un certain endroit.

flowcode calculation

Le calculateur permet d’ajouter des calculs particuliers dans votre programme et de les mettre dans une variable.

Code in C

Le composant langage C permet d’ajouter du code dans le langage C à l’intérieur de votre programme pour contrôler vos composants.

Commentary

Le composant commentaire permet d’ajouter des commentaires dans le programme afin de mieux comprendre son fonctionnement.

Les Composants

Pour commencer à utiliser Flowcode, on va créer un nouveau projet avec comme microcontroleur une carte arduino uno. Pour cela on va créer un nouveau projet :

On va maintenant voir les composants que l’on a sur flowcode et que l’on peut utiliser pour faire notre circuit. Tous ces composants se trouve sur la première barre d’outils de Flowcode :

L’élément loupe permet de chercher un composant dont on a le nom. L’élément favori permet de trouver directement les composants que l’on utilise le plus.

Je vais maintenant vous présentez quelques composants contenus dans Flowcode :

Dans la première catégorie, entrée, nous avons toutes les entrées analogiques avec les potentiomètres. Nous avons aussi les keypads et les interrupteurs. Plusieurs types de potentiomètre, keypad vous sont proposé afin de trouver celui qui corresponds le plus à votre schéma.

Dans les composants sortis, on a plusieurs types de composants, les sorties analogique, les sorties audios, les led et les rubans de led et la mécatronique.

Dans la catégorie sortie audio, nous avons le buzzer qui est un petit haut-parleur que l’on peut connecter directement à l’arduino.

Le piezo sounder est un autre type de buzzer, mais qui sert aussi d’haut-parleur.

Enfin Speech est un Composant vocal qui permet l’utilisation de la parole basée sur des phénomènes sur une plateforme embarquée.

On a ensuite toute les leds que propose Flowcode.

On a d’abord deux tailles de led, celle de 3 mm et 5 mm puis un panneau de led 5 mm.

Enfin nous avons des leds multi couleur qui permet de changer de couleur dans le programme.

 

Ici se trouve tous les composants relatifs aux leds : les bandeaux de leds, les leds branchés en série ou en parallèle, un multiplexage à grande vitesse.

Les panneaux de leds permettent d’allumer une seule led à la fois, tandis que le multiplexage à grande vitesse permet à plusieurs leds de sembler allumées en même temps.

Dans les leds rgb il y a en plus un circuit intégré de contrôleur de LED RGB à chaîne simple permettant de contrôler plusieurs LED à l’aide de données série.

Les moteurs à courant continu qui peuvent être entraînés à une vitesse constante dans le sens avant ou arrière avec inertie. Le deuxième moteur est juste un moteur qui tourne que dans un sens et que l’on ne peut pas contrôler. Le servo moteur est standard, il faut juste lui envoyer un signal virtuel PWM pour le commander en sélectionnant le servo moteur dans une macro par exemple.

flowcode display

Dans la catégorie display, nous avons tous les écrans disponibles sur arduino, notamment les écrans lcd et les écrans 7 segments.

Ici, tous les écrans lcd sont présentés, développé par les différentes entreprises qui travaillent sur arduino.

Nous avons les plus connus, ceux d’adafruit en deux versions puis les écrans lcd des autres entreprises.

 

Les afficheurs sept segments permettent d’afficher des chiffres. Ces afficheurs sont souvent utilisés pour des calculatrices, et les montres à affichage numérique.

 

flowcode sensor

On va ensuite voir la catégorie des capteurs, avec la partie audio.

Le capteur Heelight est un capteur vocal intelligent qui peut reconnaître jusqu’à 500 commandes vocales numériques.

Voici les principaux composants que l’on peut retrouver sur flowcode. Je vous laisse découvrir les autres pour vos autres projets.

Première utilisation de Flowcode

On va maintenant faire un petit circuit sur flowcode pour voir comment cela fonctionne. On va brancher une led sur une carte arduino et on fera un programme avec une boucle qui allumera une led puis l’éteindra 3 secondes après.

Pour cela vous devez créer un nouveau projet et cliquer sur une des cartes arduino. Pour ce tutoriel, j’ai choisi une des cartes arduino uno.

C’est la carte arduino la plus répandue et la plus facile à utiliser. De plus c’est la carte la moins cher des arduino.

Si vous ne voyez pas la carte arduino apparaître c’est normal, elle est connectée en arrière-plan pour votre projet. Tous les composants que vous mettez dans votre projet seront connectés automatiquement à celle-ci.

On va maintenant brancher une led sur notre carte arduino. Pour cela vous devez aller la chercher dans les outputs puis la déposer dans le grand carré bleu. La led sera automatique connecté à la carte arduino.

On doit tout d’abord choisir une des led sur flowcode afin de pouvoir l’allumer. Pour ma part j’ai choisi une led de 5mm dans les outputs.

Pour cela vous devez appeler une macro qui va allumer la led. Après avoir ajouté la macro à votre programme, vous devez la configurer en allant dans components puis led 5 mm puis turn on.

On va ensuite ajouter une pause dans le programme afin que la led puisse rester allumée un certain temps. Pour cela on va faire une pause de 3 secondes en ajoutant le composant delay et en le configurant comme ceci :

Enfin on va éteindre la led avec un composant macro en la configurant comme ci-dessous :

On obtient ce résultat en simulant :

Allumer une led avec composant sortie

Je vais maintenant vous montrer comment allumer une led sans les macros, mais plutôt avec des composants sorties. Ceci est un peu moins intuitif que le dernier exemple mais c’est très utile pour bien comprendre comment fonctionne flowcode.

Nous revoici sur la page avec la led et le programme à faire :

Pour cela vous devez avoir déjà mis une led dans vos composants à programmer sur la droite.

On a besoin d’un composant sorti :

On doit maintenant configurer les composants sortis. Pour cela on doit choisir un port sur lequel on va allumer la led. Pour cela il faut aussi que la led soit reliée au même port que la sortie composant. J’ai choisi le port B. On vérifiera que la led est bien branchée à ce port tout à l’heure.

Dans la partie variable, on met 1 pour que la led soit à l’état haut.

On vérifie que la led est bien branchée sur le port B :

liste_composant flowcode

Si vous n’êtes pas sur le port B, vous pouvez changer en cliquant dessus. Vous allez arriver à cet écran. Vous pourrez ensuite cliquez sur le petit carré comme sur l’image.

On va ensuite mettre un composant delay de 3 secondes pour que la led s’allume pendant 3 secondes :

Maintenant on va mettre un nouveau composant sortie afin d’éteindre la led :

On met la variable à 0 afin que la led s’éteigne.

Les Templates

 

Dans Flowcode, il y a une rubrique template, qui permet de lancer des maquettes de développement déjà constituées afin de les contrôler. Ceci va vous permettre par exemple de faire des tests sur une maquette de développements et puis la tester sur votre vraie maquette juste après. Sinon si vous n’avez pas de maquette, cela peut vous servir à avoir des mini projets déjà faits, comme par exemple un écran lcd directement connecté à la carte arduino, ou bien des leds ou tout autre type de composants sans que vous ayez besoin de les brancher vous-même. Cela vous fait un circuit déjà prêt à l’emploi.

Voici la liste de toutes les maquettes de développements auquel vous avez accès :

On peut voir qu’il y a plusieurs maquettes développées avec différents composants. On voit tout d’abord la maquette de développement arduino, qui est la plus connue. Il y a ensuite d’autres maquettes qui ont des utilisations particulières, notamment un capteur d’humidité et de température avec une carte arduino embarquée :

Pour l’exemple j’ai pris une maquette de développement arduino :

carte developpement

On va maintenant faire un programme qui permet d’afficher un message sur l’écran lcd de la maquette :

code_debut

Dans ce programme, on affiche Arduino factory sur l’écran lcd. Pour cela vous aurez besoin de l’élément macro pour écrire le message sur l’écran. Il faudra paramétrer dans la macro la fonction PrintString qui se trouve dans Combo Board et dans la variable écrire votre texte entre guillemet. Je vous mets un exemple juste ici :

liste_composant flowcode

Voici le résultat que l’on obtient :

carte_developpment

Pour aller plus loin, vous pouvez d’autre articles sur notre site, notamment celui sur le logiciel fritzing, pour faire de beaux schémas sur arduino.