Push Bip Push Flash avec le .NET Micro Framework
Voici un troisième post d’une série qui décrit, semaine après semaine (ou du moins week end après week end), mon exploration du Micro Framework.
Après la configuration de ma carte et mon premier Hello World d’affiché sur son LCD, me voici lancé dans une quête effroyablement fun pour interagir avec les différentes interfaces et interactions homme / machine disponibles sur la carte. A savoir dans un premier temps des boutons, un buzzer et une led.
Avant de commencer, un petit retour sur le Hello World, il existe une manière beaucoup plus simple de le faire: plutôt que de créer un projet Micro Framework de type “Micro FX console application”, il suffit d’en créer un de type “ Micro FX Windows Application”.
L’intérêt est qu’un squelette de code conséquent est généré et que celui-ci contient déjà tout ce qu’il faut pour afficher du texte (et même le message “Hello World” en fichier de ressources… :))
Ce qui donne sur la carte, sans aucun autre effort qu’une petite compilation:
L’avantage de ce squelette de code est qu’il contient également tout le code requis pour interagir avec les événements de sélection des boutons (via un système de mapping, à modifier en fonction du type de carte utilisé).
Me voici donc capable d’ajouter des événements lorsque quelqu’un appui sur un des boutons de la carte…
…et de faire un switch / case pour interagir en fonction du type de bouton pressé, par exemple ci-dessous, après la pression du bouton “select”, l’exécution de l’application prend fin:

La led avec laquelle je souhaite interagir étant spécifique à ma carte, sa manipulation s’effectue via un objet .NET la représentant dans la librairie (DLL) fournie par le constructeur de mon kit de développement (EmbeddedMasterLibrary_MFW3.0 de GHI Electronics dans le cas présent), un ajout de référence s’impose donc avant de pouvoir la manipuler via un objet de type PWM.
Ce qui donne pour un clignotement (passe progressivement et 10 fois de suite d’un état éteint à un état allumé):
Pour ce qui est de l’utilisation du buzzer, c’est directement le .NET Micro Framework, via le namespace Microsoft.SPOT.Hardware.Utility qui fournit le nécessaire grâce à la méthode statique Utility.Piezo(…)
Avec “note” ayant par exemple comme valeur pour jouer l’hymne à la joie de Beethoven (exemple du SDK, je n’ai ni l’œil, ni l’oreille musicaux… j’avais promis la carioca dans un précédent message, mais la je le sent moyen):
Et voila, le résultat en vidéo (désolé pour la qualité, juste un vieux téléphone portable sous la main la):
Prochaine étape: jouer avec la carte réseau :)