Ebook Arduino !

couverture ebook

Vous avez une question ? Une remarque ? N'hésitez pas à venir en parler dans le chat si je suis en cours de diffusion !

En attendant que vous achetiez votre matériel, je vais vous présenter les bases de l’électronique et de la programmation. Cela vous demandera tout de même une bonne concentration pour essayer de comprendre des concepts pas évidents en soi.

La première partie de ce chapitre ne fait que reprendre quelques éléments du cours sur l’électronique , que vous pouvez consulter pour de plus amples explications. ;)

Sommaire

Le courant, la tension et la masse

Pour faire de l’électronique, il est indispensable de connaître sur le bout des doigts ce que sont les grandeurs physiques. Alors, avant de commencer à voir lesquelles on va manipuler, voyons un peu ce qu’est une grandeur physique. Une grandeur physique est quelque chose qui se mesure. Plus précisément, il s’agit d’un élément mesurable, grâce à un appareil ou dispositif de mesure, régit par les lois de la physique. Par exemple, la pression atmosphérique est une grandeur physique, ou bien la vitesse à laquelle circule une voiture. En électronique cependant, nous ne mesurons pas ces grandeurs-là, nous avons nos propres grandeurs, qui sont : le courant et la tension .

La source d’énergie

L’énergie que l’on va manipuler (courant et tension) provient d’un générateur . Par exemple, on peut citer : la pile électrique, la batterie électrique, le secteur électrique. Cette énergie qui est fournie par le générateur est restituée à un ou plusieurs récepteurs . Le récepteur, d’après son nom, reçoit de l’énergie. On dit qu’il la consomme . On peut citer pour exemples : un chauffage d’appoint, un sèche-cheveux, une perceuse.

Le courant électrique

Charges électriques

Les charges électriques sont des grandeurs physiques mesurables. Elles constituent la matière en elle-même. Dans un atome, qui est élément primaire de la matière, il y a trois charges électriques différentes : les charges positives , négatives et neutres , appelées respectivement protons , électrons et neutrons . Bien, maintenant nous pouvons définir le courant : il s’agit d’un déplacement ordonné de charges électriques .

Conductibilité des matériaux

La notion de conductibilité est importante à connaître car elle permet de comprendre pas mal de phénomènes. On peut définir la conductibilité comme étant la capacité d’un matériau à se laisser traverser par un courant électrique. De ces matériaux, on peut distinguer quatre grandes familles :

  • les isolants : leurs propriétés empêchent le passage d’un courant électrique (plastique, bois, verre)
  • les semi-conducteurs : ce sont des isolants, mais qui laissent passer le courant dès lors que l’on modifie légèrement leur structure interne (diode, transistor, LED)
  • les conducteurs : pour eux, le courant peut passer librement à travers tout en opposant une faible résistance selon le matériau utilisé (or, cuivre, métal en général)
  • les supraconducteurs : ce sont des types bien particuliers qui, à une température extrêmement basse, n’opposent quasiment aucune résistance au passage d’un courant électrique
Sens du courant

Le courant électrique se déplace selon un sens de circulation. Un générateur électrique, par exemple une pile, produit un courant. Et bien ce courant va circuler du pôle positif vers le pôle négatif de la pile si, et seulement si, ces deux pôles sont reliés entre eux par un fil métallique ou un autre conducteur. C’est que l’on appelle le sens conventionnel du courant. On note le courant par une flèche qui indique le sens conventionnel de circulation du courant :

Indication du sens du courant
Indication du sens du courant
Intensité du courant

L’intensité du courant est la vitesse à laquelle circule ce courant. Tandis que le courant est un déplacement ordonné de charges électriques. Voilà un point à ne pas confondre.
On mesure la vitesse du courant, appelée intensité , en Ampères (noté A ) avec un Ampèremètre . En général, en électronique de faible puissance, on utilise principalement le milli-Ampère ( mA ) et le micro-Ampère ( µA ), mais jamais bien au-delà. C’est tout ce qu’il faut savoir sur le courant, pour l’instant.

Tension

Autant le courant se déplace, ou du moins est un déplacement de charges électriques, autant la tension est quelque chose de statique . Pour bien définir ce qu’est la tension, sachez qu’on la compare à la pression d’un fluide. Par exemple, lorsque vous arrosez votre jardin (ou une plante, comme vous préférez) avec un tuyau d’arrosage, eh bien dans ce tuyau, il y a une certaine pression exercée par l’eau fournie par le robinet. Cette pression permet le déplacement de l’eau dans le tuyau, donc crée un courant. Mais si la pression n’est pas assez forte, le courant ne sera lui non plus pas assez fort. Pour preuve, vous n’avez qu’à pincer le tuyau pour constater que le courant ne circule plus. On appelle ce "phénomène de pression" : la tension . Je n’en dis pas plus car ce serait vous embrouiller. ;)

Notation et unité

La tension est mesurée en Volts (notée V ) par un Voltmètre . On utilise principalement le Volt, mais aussi son sous-multiple qui est le milli-Volt ( mV ). On représente la tension, d’une pile par exemple, grâce à une flèche toujours orientée dans le sens du courant aux bornes d’un générateur et toujours opposée au courant, aux bornes d’un récepteur :

Fléchage de la tension
Fléchage de la tension
La différence de potentiel

Sur le schéma précédent, on a au point M une tension de 0V et au point P, une tension de 5V. Prenons notre Voltmètre et mesurons la tension aux bornes du générateur. La borne COM du Voltmètre doit être reliée au point M et la borne "+" au point P. Le potentiel au point P, soustrait par le potentiel au point M vaut : U P U M = 5 0 = 5 V U_P - U_M = 5 - 0 = 5V . On dit que la différence de potentiel entre ces deux points est de 5V. Cette mesure se note donc : U P M U_{P_M} . Si on inverse le sens de branchement du Voltmètre, la borne "+" est reliée au point M et la borne COM au point P. La mesure que l’on prend est la différence de tension (= potentiel) entre le point M et le point P : U M U P = 0 5 = 5 V U_M - U_P = 0 - 5 = -5V Cette démonstration un peu surprenante vient du fait que la masse est arbitraire.

La masse

Justement, parlons-en ! La masse est, en électronique, un point de référence.

Notion de référentiel

Quand on prend une mesure, en général, on la prend entre deux points bien définis. Par exemple, si vous vous mesurez, vous prenez la mesure de la plante de vos pieds jusqu’au sommet de votre tête. Si vous prenez la plante de vos pieds pour référence (c’est-à-dire le chiffre zéro inscrit sur le mètre), vous lirez 1m70 (par exemple). Si vous inversez, non pas la tête, mais le mètre et que le chiffre zéro de celui-ci se retrouve donc au sommet de votre tête, vous serez obligé de lire la mesure à -1m70. Eh bien, ce chiffre zéro est la référence qui vous permet de vous mesurer. En électronique, cette référence existe, on l’appelle la masse .

Qu’est ce que c’est ?

La masse, c’est un référentiel. En électronique, on voit la masse d’un montage comme étant le zéro Volt (0V). C’est le point qui permet de mesurer une bonne partie des tensions présentes dans un montage.

Représentation et notation

Elle se représente par ce symbole, sur un schéma électronique :

Symbole de la masse
Symbole de la masse

Vous ne le verrez pas souvent dans les schémas de ce cours, pour la simple raison qu’elle est présente sur la carte que l’on va utiliser sous un autre nom : GND . GND est une abréviation du terme anglais " Ground " qui veut dire terre/sol. Donc, pour nous et tous les montages que l’on réalisera, ce sera le point de référence pour la mesure des tensions présentes sur nos circuits et le zéro Volt de tous nos circuits.

Une référence arbitraire

Pour votre culture, sachez que la masse est quelque chose d’arbitraire. Je l’ai bien montré dans l’exemple au début de ce paragraphe. On peut changer l’emplacement de cette référence et, par exemple, très bien dire que le 5V est la masse. Ce qui aura pour conséquence de modifier l’ancienne masse en -5V.

La résistance et sa loi !

En électronique, il existe plein de composants qui ont chacun une ou plusieurs fonctions. Nous allons voir quels sont ces composants dans le cours, mais pas tout de suite. Car, maintenant, on va aborder la résistance qui est LE composant de base en électronique.

Présentation

C’est le composant le plus utilisé en électronique. Sa principale fonction est de réduire l’intensité du courant (mais pas uniquement). Ce composant se présente sous la forme d’un petit boitier fait de divers matériaux et repéré par des anneaux de couleur indiquant la valeur de la résistance.

Photo de résistance
Photo de résistance
Symbole

Le symbole de la résistance ressemble étrangement à la forme de son boitier :

Symbole de la résistance
Symbole de la résistance
Loi d’ohm

Le courant traversant une résistance est régi par une formule assez simple qui se nomme la loi d’Ohm :

I = U R I = \frac{U}{R}

  • I : intensité qui traverse la résistance en Ampères, notée A A
  • U : tension aux bornes de la résistance en Volts, notée V V
  • R : valeur de la résistance en Ohms, notée Ω \Omega

En général, on retient mieux la formule sous cette forme : U = R × I U = R \times I

Unité

L’unité de la résistance est l' ohm . On le note avec le symbole grec oméga majuscule : Ω \Omega .

Le code couleur

La résistance possède une suite d’anneaux de couleurs différentes sur son boitier. Ces couleurs servent à expliciter la valeur de la résistance sans avoir besoin d’écrire en chiffre dessus (car vous avez déjà essayé d’écrire sur un cylindre :P ?) Le premier anneau représente le chiffre des centaines, le second celui des dizaines et le troisième celui des unités. Enfin, après un petit espace vient celui du coefficient multiplicateur. Avec ces quatre anneaux et un peu d’entrainement vous pouvez alors deviner la valeur de la résistance en un clin d’oeil ;) . Ce tableau vous permettra de lire ce code qui correspond à la valeur de la résistance :

Couleur Chiffre Coefficient multiplicateur Puissance Tolérance
Noir 0 1 1 0 0 10^{0} -
Brun 1 10 1 0 1 10^{1} ± \pm 1 %
Rouge 2 100 1 0 2 10^{2} ± \pm 2 %
Orange 3 1000 1 0 3 10^{3} -
Jaune 4 10 000 1 0 4 10^{4} -
Vert 5 100 000 1 0 5 10^{5} ± \pm 0.5 %
Bleu 6 1 000 000 1 0 6 10^{6} ± \pm 0.25 %
Violet 7 10 000 000 1 0 7 10^{7} ± \pm 0.10 %
Gris 8 100 000 000 1 0 8 10^{8} ± \pm 0.05 %
Blanc 9 1 000 000 000 1 0 9 10^{9} -
- - - - -
Or 0.1 0.1 1 0 1 10^{-1} ± \pm 5 %
Argent 0.01 0.01 1 0 2 10^{-2} ± \pm 10 %
(absent) - - - ± \pm 20 %
Tableau du code couleurs des résistances

Le microcontrôleur

Nous avons déjà un peu abordé le sujet dans la présentation du cours. Je vous ai expliqué "brièvement" comment fonctionnait un programme et surtout ce que c’était ! ^^ Bon, dès à présent, je vais rentrer un petit peu plus dans le détail en vous introduisant des notions basées sur le matériel étroitement lié à la programmation. Nous allons en effet aborder le microcontrôleur dans un niveau de complexité supérieur à ce que je vous avais introduit tout à l’heure. Oh, rien de bien insurmontable, soyez sans craintes. ;)

La programmation en électronique

Aujourd’hui, l’électronique est de plus en plus composée de composants numériques programmables. Leur utilisation permet de simplifier les schémas électroniques et par conséquent, réduire le coût de fabrication d’un produit. Il en résulte des systèmes plus complexes et performants pour un espace réduit.

Comment programmer de l’électronique ?

Pour faire de l’électronique programmée, il faut un ordinateur et un composant programmable . Il existe tout plein de variétés différentes de composants programmables, à noter : les microcontrôleurs, les circuits logiques programmables, … Nous, nous allons programmer des microcontrôleurs. Mais, à ce propos, vous ai-je dit qu’est ce que c’était qu’un microcontrôleur ?

Qu’est ce que c’est ?

Je l’ai dit à l’instant, le microcontrôleur est un composant électronique programmable. On le programme par le biais d’un ordinateur grâce à un langage informatique, souvent propre au type de microcontrôleur utilisé. Je n’entrerai pas dans l’utilisation poussée de ces derniers car le niveau est rudement élevé et la compréhension difficile.

Des microcontrôleurs de différentes tailles
Des microcontrôleurs de différentes tailles (licence CC-0)

C’est donc le microcontrôleur qui va être le cerveau de la carte Arduino, pour en revenir à nos moutons. C’est lui que nous allons programmer. On aura le temps d’en rediscuter, pour l’instant je veux uniquement vous présenter les éléments principaux qui le composent.

Composition des éléments internes d’un micro-contrôleur

Un microcontrôleur est constitué par un ensemble d’éléments qui ont chacun une fonction bien déterminée. Il est en fait composé des mêmes éléments que sur la carte mère d’un ordinateur. Si l’on veut, c’est un ordinateur (sans écran, sans disque dur, sans lecteur de disque) dans un espace très restreint. Parmi les différents éléments d’un microcontrôleur typique, je vais vous présenter ceux qui vont nous être utiles.

La mémoire

La mémoire du microcontrôleur sert à plusieurs choses. On peut aisément citer le stockage du programme et de données autres que le programme. Il existe cinq types de mémoire :

  • La mémoire Flash : c’est celle qui contiendra le programme à exécuter (celui que vous allez créer !). Cette mémoire est effaçable et ré-inscriptible (c’est la même que celle d’une clé USB par exemple).
  • RAM : c’est la mémoire dite "vive", elle va contenir les variables de votre programme. Elle est dite "volatile" car elle s’efface si on coupe l’alimentation du micro-contrôleur (comme sur un ordinateur).
  • EEPROM : c’est le "disque dur" du microcontrôleur. Vous pourrez y enregistrer des infos qui ont besoin de survivre dans le temps, même si la carte doit être arrêtée et coupée de son alimentation. Cette mémoire ne s’efface pas lorsque l’on éteint le microcontrôleur ou lorsqu’on le reprogramme.
  • Les registres : c’est un type particulier de mémoire utilisé par le processeur. Nous n’en parlerons pas tout de suite.
  • La mémoire cache : c’est une mémoire qui fait la liaison entre les registres et la RAM . Nous n’en parlerons également pas tout de suite.

Une annexe au tutoriel vous fournit plus de détails concernant les mémoires utilisables dans vos programmes.

Le processeur

C’est le composant principal du microcontrôleur. C’est lui qui va exécuter le programme que nous lui donnerons à traiter. On le nomme souvent le CPU .

Diverses choses

Nous verrons plus en détail l’intérieur d’un microcontrôleur, mais pas tout de suite, c’est bien trop compliqué. Je ne voudrais pas perdre la moitié des visiteurs en un instant ! :P

Fonctionnement

Avant tout, pour que le microcontrôleur fonctionne, il lui faut une alimentation ! Cette alimentation se fait en générale par du +5V. D’autres ont besoin d’une tension plus faible, du +3,3V (c’est le cas de la Arduino Due par exemple). En plus d’une alimentation, il a besoin d’un signal d’horloge. C’est en fait une succession de 0 et de 1 ou plutôt une succession de tensions 0V et 5V. Elle permet en outre de cadencer le fonctionnement du microcontrôleur à un rythme régulier. Grâce à elle, il peut introduire la notion de temps en programmation. Nous le verrons plus loin. Bon, pour le moment, vous n’avez pas besoin d’en savoir plus. Passons à autre chose.

Les bases de comptage (2,10 et 16)

Les bases du de comptage

On va apprendre à compter ? o_O

Non, je vais simplement vous expliquer ce que sont les bases de comptage . C’est en fait un système de numération qui permet de compter en utilisant des caractères de numérations, on appelle ça des chiffres .

Cas simple, la base 10

La base 10, vous la connaissez bien, c’est celle que l’on utilise tous les jours pour compter. Elle regroupe un ensemble de 10 chiffres : 0,1,2,3,4,5,6,7,8,9. Avec ces chiffres, on peut créer une infinité de nombres (ex : 42, 89, 12872, 14.56, 9.3, etc…). Cependant, voyons cela d’un autre œil…

  • L' unité sera représenté par un chiffre multiplié par 10 à la puissance 0.
  • La dizaine sera représenté par un chiffre multiplié par 10 à la puissance 1.
  • La centaine sera représenté par un chiffre multiplié par 10 à la puissance 2.
  • […]
  • Le million sera représenté par un chiffre multiplié par 10 à la puissance 6.
  • etc…

En généralisant, on peut donc dire qu’un nombre (composé de chiffres) est la somme des chiffres multipliés par 10 à une certaine puissance. Par exemple, si on veut écrire 1024, on peut l’écrire : 1 × 1 0 0 0 + 0 × 1 0 0 + 2 × 1 0 + 4 × 1 = 1 0 2 4 1\times 1000 + 0\times 100 + 2\times 10 + 4\times 1 = 1024 ce qui est équivalent à écrire : 1 × 1 0 3 + 0 × 1 0 2 + 2 × 1 0 1 + 4 × 1 0 0 = 1 0 2 4 1\times 10^3 + 0\times 10^2 + 2\times 10^1 + 4\times 10^0 = 1024 . Eh bien c’est ça, compter en base 10 ! Vous allez mieux comprendre avec la partie suivante.

Cas informatique, la base 2 et la base 16

En informatique, on utilise beaucoup les bases 2 et 16. Elles sont composées des chiffres suivants :

  • pour la base 2 : les chiffres 0 et 1.
  • pour la base 16 : on retrouve les chiffres de la base 10, plus quelques lettres : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

On appelle la base 2, la base binaire . Elle représente des états logiques 0 ou 1. Dans un signal numérique, ces états correspondent à des niveaux de tension. En électronique numérique, très souvent il s’agira d’une tension de 0V pour un état logique 0 ; d’une tension de 5V pour un état logique 1. On parle aussi de niveau HAUT ou BAS (in english : HIGH or LOW). Elle existe à cause de la conception physique des ordinateurs. En effet, ces derniers utilisent des millions de transistors, utilisés pour traiter des données binaires, donc deux états distincts uniquement (0 ou 1). Pour compter en base 2, ce n’est pas très difficile si vous avez saisi ce qu’est une base. Dans le cas de la base 10, chaque chiffre était multiplié par 10 à une certaine puissance en partant de la puissance 0. Eh bien en base 2, plutôt que d’utiliser 10, on utilise 2. Par exemple, pour obtenir 11 en base 2 on écrira : 1011… En effet, cela équivaut à faire : 1 × 2 3 + 0 × 2 2 + 1 × 2 1 + 1 × 2 0 1\times 2^3 + 0\times 2^2 + 1\times 2^1 + 1\times 2^0 soit : 1 × 8 + 0 × 4 + 1 × 2 + 1 × 1 1\times 8 + 0\times 4 + 1\times 2 + 1\times 1

Un chiffre en base 2 s’appelle un bit . Un regroupement de 8 bits s’appelle un octet . Ce vocabulaire est très important donc retenez-le !

La base 16, ou base hexadécimale est utilisée en programmation, notamment pour représenter des octets facilement. Reprenons nos bits. Si on en utilise quatre, on peut représenter des nombres de 0 (0000) à 15 (1111). Ça tombe bien, c’est justement la portée d’un nombre hexadécimale ! En effet, comme dit plus haut il va de 0 (0000 ou 0) à F (1111 ou 15), ce qui représente 16 "chiffres" en hexadécimal. Grâce à cela, on peut représenter "simplement" des octets, en utilisant juste deux chiffres hexadécimaux.

Les notations

Ici, rien de très compliqué, je vais simplement vous montrer comment on peut noter un nombre en disant à quelle base il appartient.

  • Base binaire : (10100010) 2
  • Base décimale : (162) 10
  • Base hexadécimale : (A2) 16

À présent, voyons les différentes méthodes pour passer d’une base à l’autre grâce aux conversions .

Conversions

Souvent, on a besoin de convertir les nombres dans des bases différentes. On retrouvera deux méthodes, bonnes à savoir l’une comme l’autre. La première vous apprendra à faire les conversions "à la main", vous permettant de bien comprendre les choses. La seconde, celle de la calculatrice, vous permettra de faire des conversions sans vous fatiguer.

Décimale - Binaire

Pour convertir un nombre décimal (en base 10) vers un nombre binaire (en base 2, vous suivez c’est bien !), il suffit de savoir diviser par … 2 ! Ça ira ? Prenez votre nombre, puis divisez le par 2. Divisez ensuite le quotient obtenu par 2… puis ainsi de suite jusqu’à avoir un quotient nul. Il vous suffit alors de lire les restes de bas en haut pour obtenir votre nombre binaire… Par exemple le nombre 42 s’écrira 101010 en binaire. Voilà un schéma de démonstration de cette méthode :

Conversion décimale binaire Figure : On garde les restes (en rouge) et on lit le résultat de bas en haut.

Binaire - Hexadécimal

La conversion de binaire à l’hexadécimal est la plus simple à réaliser. Tout d’abord, commencez à regrouper les bits par blocs de quatre en commençant par la droite. S’il n’y a pas assez de bits à gauche pour faire le dernier groupe de quatre, on rajoute des zéros. Prenons le nombre 42, qui s’écrit en binaire, on l’a vu, 101010 , on obtiendra deux groupes de 4 bits qui seront 0010 1010 . Ensuite, il suffit de calculer bloc par bloc pour obtenir un chiffre hexadécimal en prenant en compte la valeur de chaque bit. Le premier bit, de poids faible (tout à droite), vaudra par exemple A ( 1 × 8 + 0 × 4 + 1 × 2 + 0 × 1 = 1 0 1\times8 + 0\times4 + 1\times2 + 0\times1 = 10 : A en hexadécimal). Ensuite, l’autre bloc vaudra simplement 2 ( 0 × 8 + 0 × 4 + 1 × 2 + 0 × 1 = 2 0\times8 + 0\times4 + 1\times2 + 0\times1 = 2 ). Donc 42 en base décimale vaut 2A en base hexadécimale, ce qui s’écrit aussi ( 4 2 ) 1 0 = ( 2 A ) 1 6 (42)_{10} = (2A)_{16} Pour passer de hexadécimal à binaire, il suffit de faire le fonctionnement inverse en s’aidant de la base décimale de temps en temps. La démarche à suivre est la suivante :

  • Je sépare les chiffres un par un (on obtient 2 et A)
  • Je "convertis" leurs valeurs en décimal (ce qui nous fait 2 et 10)
  • Je met ces valeurs en binaire (et on a donc 0010 1010)
Décimal - Hexadécimal

Ce cas est plus délicat à traiter, car il nécessite de bien connaître la table de multiplication par 16. :euh: Comme vous avez bien suivi les explications précédentes, vous comprenez comment faire ici… Mais comme je suis nul en math, je vous conseillerais de faire un passage par la base binaire pour faire les conversions !

Méthode rapide

Pour cela, je vais dans Démarrer / Tous les programmes / Accessoires / Calculatrice (ou en faisant une petite recherche dans le menu Démarrer ou directement depuis l’écran d’accueil de Windows 8). Qui a dit que j’étais fainéant ? :colere2:

Utilisation de la calculatrice Windows
Utilisation de la calculatrice Windows

Pour obtenir cet affichage, il vous faudra peut-être utiliser le menu Affichage puis sélectionner Programmeur .

Sur le côté gauche, il y a des options à cocher pour afficher le nombre entré dans la base que l’on veut. Présentement, je suis en base 10 (décimale - bouton Déc ). Si je clique sur Hex :

Sélection de Hex
Sélection de Hex

Je vois que mon nombre 42 a été converti en : 2A . Et maintenant, si je clique sur Bin :

Sélection de Bin
Sélection de Bin

Notre nombre a été converti en : 00101010 !


Licence CC BY-NC-SA

Vous avez une question ? Vous souhaitez partager votre experience ? Venez nous rejoindre sur Discord !