Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
archives:netmf43:4c_netmfbrainpadv1pap [2021/03/02 19:44] – modification externe 127.0.0.1 | archives:netmf43:4c_netmfbrainpadv1pap [2024/07/28 10:32] (Version actuelle) – phil | ||
---|---|---|---|
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: |