Comment créer Une bibliothèque ? Le jour viendra ou vos connaissances vous perm

Comment créer Une bibliothèque ? Le jour viendra ou vos connaissances vous permettront de réaliser des idées à vous, que d'autres n'auront peut-être pas encore eues. Mais peut-être souhaiterez-vous aussi améliorer un projet existant parce que votre solution est plus élégante et moins compliquée à transposer. D’innombrables développeurs de logiciels se sont penchés avant vous sur les questions Les plus diverses et ont programme des bibliothèques pour épargner du travail et du temps aux autres développeurs. A travers ce projet, nous allons découvrir les grands principes de ces bibliothèques et leur création. Si le langage de programmation C++ - Programmation orientée objet incluse - vous a toujours intéresse, VOUS allez être Servi ! Les bibliothèques Une fois l'environnement de développement Arduino installe ou plutôt décompresse, vous disposez de quelques bibliothèques maison prêtes a J'emploi, appelées également librairies (libraires en anglais). Elles traitent de thèmes intéressants, tels que commander : • un servomoteur ; • un moteur pas-a-pas ; • un écran LCD ; • une EEPROM externe pour stocker des données . Ces bibliothèques sont stockées dans le répertoire libraires du répertoire d'installation d' Ardino. Vous pouvez utiliser Windows Explorer ou passer par 1' environnement de développement Arduino pour savoir quelles sont les bibliothèques disponibles. Qu'est-ce qu'une bibliothèque exactement ? Avant de passer a un exemple concret, vous devez savoir ce qu'est une bibliothèque. J'ai dit déjà qu'elle servait quasiment a empaqueter et réunir des taches de programmation plus ou moins complexes en un paquet de programme. La figure 9-2 montre la coopération entre Une bibliothèque Arduino et I' API Arduino. En quoi les bibliotheques sont-elles utiles ? Question idiote a laquelle j 'ai déjà répondu plusieurs fois. Aussi me contenterai- je ici de vous en rappeler les avantages. • Pour ne pas avoir a « réinventer la roue » chaque fois, les développeurs ont trouvé un moyen de stocker le code de programme dans une bibliothèque. Beaucoup de programmeurs dans le monde profitent de ces structures logicielles, qu’ils peuvent utiliser sans problème dans leurs propres projets. Le mot-clé est ici réutilisation. • Une fois testée et débarrassée de ces erreurs, une bibliothèque peut etre utilisee sans en connaitre les déroulements internes. Sa fonctionnalité est encapsulée et cachée du monde extérieur. Il suffit au programmeur de savoir utiliser son interface. • Son code propre en est d'autant plus clair et plus stable. Que signifie programmation Orientée objet ? La programmation orientée objet (ou POO) est du chinois pour la plupart des débutants, et peut même réserver maux de tête et nuits blanches a certains. Mais ce n’est pas obligé et j'espère pouvoir y contribuer, je veux dire à votre compréhension et non à vos maux de tête ! Dans le langage de programmation C++, tout est considère comme objet et ce style - ou paradigme - de programmation s'oriente vers la réalité qui nous entoure. Nous sommes cernes d'innombrables objets qui sont plus ou moins réels et que nous pouvons toucher et observer. Si vous regardez un objet banal de plus près, vous pourrez constater certaines propriétés. Prenons par exemple un dé pour ne pas sortir du sujet. Vous savez déjà comment programmer et construire un d’électronique. Vous avez surement, dans l’un de vos jeux de société, un de quelconque que vous pouvez regarder de plus près. Que pourriez- vous en dire, si vous deviez le décrire le plus précisément possible à un extra-terrestre ? • A quoi ressemble-t-il ? • Quelle taille a -t-il ? • Est-il Iégé ou lourd ? • De quelle couleur est-il ? • A -t-il des points ou des symboles? • Quel nombre ou symbole est sorti ? • Que peut-on faire avec ? (question idiote, non ?) Les éléments de cette liste peuvent être répartis en deux catégories. Propriétés Mais quel élément fait partie de quelle catégorie ? Jetons un coup d'œil au tableau 9-1 puisqu'il s'agit de courant et de tension. Proprietes Comportement Taille Poids Couleurs Points ou symboles Nombre ou symbole sorti Lancer le de Seuls deux éléments de la liste sont pertinents pour la programmation prévue. Les autres sont certes intéressants, mais sans objet pour un dé électronique. Ces deux éléments sont : • le nombre de points sorti (état) ; • lancer le de (action). Je n’ai pas la moindre idée de la manière dont on charge des propriétés Proprietes Variables Fonctions Les proprietes sont consignees dans des variables et le comportement est gere par des fo ncti o ns. Mai s dans le contexte de la programmation orient ee obj et, variables et fonctions ont une autre designation. Pas de quo i pan iquer cependant puisque c'est en definitive la meme chose. Programmatio n procedurale POO Les variables deviennent des variables membres (en a ng lais,.fie/ds) et les fonctions des methodes (en anglais, methods). Quelle avancée formidable ! il suffit de rebaptiser deux elemenls d ' un programme pour avoir un nouveau - comme vous di1es - paradigme de programmation. Le progrès Lien l a peu de choses. Non ? Allons Ardus, ne soyez pas sarcastique. C'est que je n'ai pas fini. Dans la programmation procédurale que nous connaissons à travers les langages C ou Pascal, des instructions ayant un rapport logique, qui sont nécessaires pour résoudre un problème, sont rassemblées dans ce qu'on appelle des procédures semblables à nos fonctions. Les fonctions opèrent en principe au mieux avec les variables qui leur ont été transmises comme arguments ou, dans le cas défavorable, avec des variables globales qui ont été déclarées au début d'un programme. Celles-ci sont visibles dans tout le programme et chacun peut les modifier a sa convenance. Toutefois, cela comporte certains risques et c'est actuellement, tout bien pesé, la plus mauvaise variante pour traiter des variables ou des données. Variables et fonctions ne forment aucune unité logique et vivent quasiment Les unes a cote des autres dans le code, sans avoir aucun rapport direct entre elles. Venons-en maintenant a la programmation orientée objet. Elle comporte une structure appelée classe. On peut dire pour simplifier que Les servent de containers pour des variables membres ou des méthodes. La classe enveloppe ses membres, appelés members dans la POO, à la manière d'un grand manteau. On ne peut en principe accéder aux membres qu'en passant par la classe. Construction d'une classe Mais qu'est-ce qu'une classe? Si vous n'avez jamais eu affaire aux langages de programmation C++, Java et même C# pour ne citer que ceux-là, le terme ne vous en dira pas plus qu'un caractère chinois pour moi. Mais la chose est en fait assez facile à comprendre. Si vous regardez encore une fois le dernier graphique, vous verrez qu'une classe a vocation d'entourer et ressemble en quelque sorte à un container. Une classe est définie par le mot-clé class, suivi du nom qu'on lui donne. Suit une paire d'accolades, que vous avez pu voir dans d'autres structures comme une boucle for et qui amène la formation d'un bloc. L'accolade finale est suivie d'un point-virgule. Comme je vous l'ai déjà dit, la classe est composée de différents membres sous forme de variables membres et de méthodes, qui se fondent, selon la définition de cette classe, en une unité. La POO offre diverses possibilités de réglementer l'accès aux membres. Oui, mais à quoi bon cette réglementation ? Quand je définis une variable ou plutôt une variable membre dans une classe, je veux pouvoir y accéder n'importe quand. A quoi sert cela sert-il si je ne peux plus ensuite accéder à la classe ? Ou peut-etre ai-je mal compris le principe ? Vous avez bien compris le principe, appelé d'ailleurs encapsulation. On peut protéger certains membres contre le monde extérieur, de telle sorte qu'ils ne soient pas directement accessibles depuis l'extérieur de la classe. Le mot directement est ici important. II existe bien sur des possibilités d'y accéder. Ce sont les méthodes qui, par exemple, s'en chargent. Mais vous devez vous demander quel est le sens de tout cela. Exact! On peut donc toujours influer directement sur les variables membres, n'est-ce pas ? Accès a une variable membre de la classe Acces possible depuis I' exterieur L' acces a la variable membre de la classe depuis I' extérieur est ici autorise, car elle a reçu une certaine étiquette appelée modificateur d'accès. Elle a pour nom ici public et signifie à peu près ceci : l'accès est autorisé au public et tout un chacun peut s'en servir à sa guise. Imaginez maintenant le scenario suivant : une variable membre doit piloter un moteur pas-a-pas, la valeur indiquant l'angle. Seuls des angles compris entre 0° et 359° sont cependant admis. Toute valeur inférieure ou supérieure peut compromettre l’exécution du sketch, si bien que le servo n'est plus commande correctement. Quand vous donnez libre accès a une variable membre au moyen du modificateur public, aucune validation ne peut avoir lieu. Ce qui a été enregistré une fois produit immanquablement une réaction qui n'est pas forcement correcte. La solution du problème consiste à isoler les variables nombres grâce a un modificateur d' accès private uploads/Ingenierie_Lourd/ poo-amp-creation-de-bibliotheque-arduino.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager