Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| archives:netmf43:4c_netmfbrainpadv1pap [2021/08/10 14:45] – phil | archives:netmf43:4c_netmfbrainpadv1pap [2025/06/19 19:29] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | [[archives: | ||
| + | ===== [ARCHIVES] Premiers programmes en C# " | ||
| + | {{ : | ||
| + | [Mise à jour le : 11/07/2018] | ||
| + | |||
| + | ===== 1. Préambule ===== | ||
| + | Pour mener à bien ce tutoriel vous devez disposer d’une carte **[[netmf43: | ||
| + | |||
| + | Les vidéos du cours sur les fondamentaux du langage C#, accessibles sur le site [[http:// | ||
| + | |||
| + | On trouvera également des tutoriels en anglais sur le site de la société [[http:// | ||
| + | |||
| + | ===== 2. Premier programme : Blink ===== | ||
| + | |||
| + | ---- | ||
| + | **Cahier des charges** | ||
| + | |||
| + | Faire clignoter la LED RVB de la carte BrainPad et afficher le texte " | ||
| + | |||
| + | ---- | ||
| + | ==== 2a. Créer un projet avec le template BrainPad .NET Application ==== | ||
| + | * Ouvrez l’**IDE Microsoft Visual Studio 2015** en cliquant sur l’icône suivante : {{: | ||
| + | * Dans la boîte de dialogue " | ||
| + | {{ : | ||
| + | * Donnez le nom " | ||
| + | {{ : | ||
| + | |||
| + | __Remarque__: | ||
| + | |||
| + | L’IDE est alors configuré comme sur la copie d’écran ci-dessous (ou un équivalent selon sa version) : | ||
| + | {{ : | ||
| + | |||
| + | Le projet **// | ||
| + | |||
| + | ==== 2b. Organisation d'un programme créé avec le template " | ||
| + | |||
| + | Comme pour un projet **Arduino**, | ||
| + | |||
| + | * Le **Setup**, nommé ici **BrainPadSetup**, | ||
| + | * La boucle **Loop**, nommée ici **BrainPadLoop**, | ||
| + | |||
| + | ==== 2c. Téléchargement et exécution du programme Blink ==== | ||
| + | La carte étant connectée au PC avec le câble USB, le programme est compilé puis transféré en cliquant sur le bouton {{: | ||
| + | La LED RVB **Light Bulb** clignote et le texte **" | ||
| + | {{ : | ||
| + | |||
| + | **Étude du fonctionnement de l' | ||
| + | |||
| + | L' | ||
| + | {{ : | ||
| + | La méthode **DrawText()** de l' | ||
| + | |||
| + | Puis, le code placé entre les accolades de la méthode BrainPadLoop() s' | ||
| + | {{ : | ||
| + | |||
| + | La Led Bulb est éclairée puis éteinte successivement pendant 0,5s. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | **Exercice 1** : Modifiez le programme pour que la LED émette un flash de 100ms toutes les 1s et que votre nom (prémom) apparaissent en jaune sur l' | ||
| + | |||
| + | __Remarque__ : l' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 3. L' | ||
| + | Dans le monde " | ||
| + | |||
| + | Dans le monde " | ||
| + | |||
| + | La carte BrainPad réelle est contrôlée par l' | ||
| + | |||
| + | L' | ||
| + | {{ : | ||
| + | |||
| + | Tous ces " | ||
| + | |||
| + | Par exemple, en sélectionnant Display on obtient la liste ci-dessous : | ||
| + | {{ : | ||
| + | |||
| + | L'IDE Visual Studio simplifie la programmation en proposant automatiquement la liste des fonctionnalités d'un objet. Vous allez utiliser cette aide pour écrire le prochain programme. | ||
| + | |||
| + | ===== 4. Second programme : TrafficLight ===== | ||
| + | **Cahier des charges** : Faire clignoter la Led verte de la zone TrafficLight. | ||
| + | |||
| + | __Remarque__ : Vous allez écrire une partie du code et simuler un problème de programmation. Sa résolution vous permettra de découvrir le mode de fonctionnement pas à pas. | ||
| + | |||
| + | **Etape 1**. **Créez** un nouveau projet BrainPad et nommez-le TrafficLight | ||
| + | |||
| + | **Etape 2**. **Supprimez** le code produit automatiquement. Votre programme doit ressembler à la copie d' | ||
| + | {{ : | ||
| + | |||
| + | **Etape 3**. **Copiez** l' | ||
| + | {{ : | ||
| + | |||
| + | **Etape 4**. **Téléchargez** et exécutez le code en cliquant sur {{: | ||
| + | |||
| + | ---- | ||
| + | **Problème** : la Led reste constamment éclairée au lieu de clignoter. Ceci vient du fait que le programme fonctionne très rapidement. Il est nécessaire de le ralentir. | ||
| + | ---- | ||
| + | |||
| + | Pour visualiser ce que fait le programme lorsqu' | ||
| + | |||
| + | **Etape 5** : **Test** du programme en mode pas-à-pas | ||
| + | Ce mode de fonctionnement permet de mettre un programme "au point" (déboguer). Dans ce mode, vous pouvez l' | ||
| + | {{ : | ||
| + | 1. **Cliquez** sur l' | ||
| + | | ||
| + | 2. **Placez** un __**point d’arrêt**__ en cliquant dans la marge à gauche de la première ligne comme ci-dessous. | ||
| + | {{ : | ||
| + | |||
| + | 3. **Relancez** le programme (touche F5 ou {{: | ||
| + | |||
| + | ---- | ||
| + | **Exercice 2** : Modifiez le programme pour que la Led jaune clignote 2 fois par seconde. Par précaution, | ||
| + | |||
| + | ---- | ||
| + | |||
| + | **Exercice 3** : Créez un programme de simulation de feu de carrefour à partir de l' | ||
| + | {{ : | ||
| + | ---- | ||
| + | |||
| + | ===== 5. Button : un troisième programme pour se familiariser avec la structure si... alors ... sinon... fin si ===== | ||
| + | |||
| + | **Algorithme** | ||
| + | |||
| + | < | ||
| + | si (condition) alors Action1 sinon Action2 fin si | ||
| + | </ | ||
| + | |||
| + | L' | ||
| + | L' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | **Cahier des charges du programme à réaliser** | ||
| + | Si le boutton Down est appuyé la led verte s' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | **1. Créez** un nouveau projet BrainPad et nommez-le Button. | ||
| + | |||
| + | **2. Copiez** le code ci-dessous et exécutez-le : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Il semble qu'il y ait un problème : la Led ne s’éteint pas lorsqu' | ||
| + | |||
| + | **3. Modifiez** votre programme comme ci-dessous. | ||
| + | {{ : | ||
| + | |||
| + | ===== 6. Synthèse : "Jouer une partition avec le buzzer" | ||
| + | |||
| + | Les méthodes décrites dans le tableau ci-dessous permettent de contrôler le buzzer. | ||
| + | ^ ^Synthaxe^Description^ | ||
| + | |{{: | ||
| + | |{{: | ||
| + | |||
| + | // | ||
| + | |||
| + | //Exemple// : BrainPad.Buzzer.PlayFrequency(523); | ||
| + | |||
| + | Vous allez utiliser ces méthodes pour écrire le programme **AuClairDeLaLune** dont la partition est donnée ci-dessous (ou une autre de votre choix) . | ||
| + | |||
| + | **Partition** | ||
| + | {{ : | ||
| + | |||
| + | Les fréquences correspondant aux notes et le rythme à attribuer à une note sont précisés dans les ressources ci-dessous. | ||
| + | |||
| + | **Ressources** | ||
| + | Fréquence des notes : [[http:// | ||
| + | Le rythme des notes de musique (ronde, blanche, noire...): [[http:// | ||
| + | |||
| + | ---- | ||
| + | **Exercice 4** | ||
| + | |||
| + | **Version 1a** : La carte joue seule la partition (une fois). (Nom du projet : **ClairLuneV1a**) | ||
| + | |||
| + | **Version 1b** : La carte joue seule la partition (une fois) et le texte de la chanson s' | ||
| + | |||
| + | __Remarques__ : Une noire dure 0,5s | ||
| + | ---- | ||
| + | |||
| + | **pour aller plus loin...** | ||
| + | |||
| + | **Version 2** : L' | ||
| + | |||
| + | ---- | ||
| + | __Indications__ : Utiliser des évènements pour gérer les boutons-poussoir (**voir prof**) | ||
| + | |||
| + | |||
| + | **Events** | ||
| + | |||
| + | Many modules generate useful events. Type +=< | ||
| + | button.ButtonPressed +=< | ||
| + | |||
| + | ---- | ||
| + | |||
| + | **Sources** | ||
| + | |||
| + | Les sources des exemples et des exercices (compilés avec **Visual Studio 2015 Community**) sont téléchargeables [[https:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 7. Les classes de la bibliothèque Brainpad ===== | ||
| + | Accessibles à partir de ce [[netmf43: | ||