Différences entre versions de « Technologies numériques/Arduino/Arduino- Débutant »
Ligne 45 : | Ligne 45 : | ||
Un signal numérique est un signal qui représente l'information sous la forme d'une série de valeurs binaires discrètes. Les signaux numériques sont utilisés dans toutes les applications électroniques modernes, y compris les dispositifs de communication et de réseau. Lorsqu'il est représenté sur un graphique tension-temps, le signal est discret et va de 0 V à VCC (généralement 1,8 V, 3,3 V ou 5 V). | Un signal numérique est un signal qui représente l'information sous la forme d'une série de valeurs binaires discrètes. Les signaux numériques sont utilisés dans toutes les applications électroniques modernes, y compris les dispositifs de communication et de réseau. Lorsqu'il est représenté sur un graphique tension-temps, le signal est discret et va de 0 V à VCC (généralement 1,8 V, 3,3 V ou 5 V). | ||
− | === <u>[[ | + | === <u>[[Connecxion à un arduino|Connexion à un Arduino]]</u>=== |
* Il y a plusieurs façons d'endommager ou de brûler votre Arduino, consultez [[Technologies numériques/Arduino/Cinq façons simples de tuer un Arduino|ce guide]] avant de commencer pour plus d'informations. | * Il y a plusieurs façons d'endommager ou de brûler votre Arduino, consultez [[Technologies numériques/Arduino/Cinq façons simples de tuer un Arduino|ce guide]] avant de commencer pour plus d'informations. | ||
− | * Si vous utilisez un ordinateur de laboratoire de la Faculté d'ingénierie, consultez [[Digital technologies/Arduino/How to connect to lab computers|ce guide]] pour les étapes supplémentaires de connexion de l'Arduino. | + | *Si vous utilisez un ordinateur de laboratoire de la Faculté d'ingénierie, consultez [[Digital technologies/Arduino/How to connect to lab computers|ce guide]] pour les étapes supplémentaires de connexion de l'Arduino. |
Étape 1 : Téléchargez l'IDE Arduino à partir de https://www.arduino.cc/en/software<nowiki/>.Veillez à choisir la version qui convient à votre système d'exploitation. | Étape 1 : Téléchargez l'IDE Arduino à partir de https://www.arduino.cc/en/software<nowiki/>.Veillez à choisir la version qui convient à votre système d'exploitation. | ||
Ligne 66 : | Ligne 66 : | ||
<youtube>64oEr1zTlOg</youtube> | <youtube>64oEr1zTlOg</youtube> | ||
− | == [[ | + | ==[[IDE et outils Arduino]]== |
− | === Arduino IDE: === | + | ===Arduino IDE:=== |
Le processus de programmation comprend la conception et l'exécution du code dans un environnement de développement intégré, également appelé IDE. De nombreux IDE différents existent et sont adoptés pour différents usages, et permettent aux programmes d'éditer, de déboguer et d'exécuter (ou de compiler) leur code. Pour programmer un Arduino (quel que soit le type de microcontrôleur utilisé), il faut avoir téléchargé l'IDE Arduino (voir [[Digital technologies/Arduino/Arduino- Beginner/Connecting to an Arduino|Connexion d'un Arduino]]). | Le processus de programmation comprend la conception et l'exécution du code dans un environnement de développement intégré, également appelé IDE. De nombreux IDE différents existent et sont adoptés pour différents usages, et permettent aux programmes d'éditer, de déboguer et d'exécuter (ou de compiler) leur code. Pour programmer un Arduino (quel que soit le type de microcontrôleur utilisé), il faut avoir téléchargé l'IDE Arduino (voir [[Digital technologies/Arduino/Arduino- Beginner/Connecting to an Arduino|Connexion d'un Arduino]]). | ||
Ligne 75 : | Ligne 75 : | ||
[[Fichier:Arduino ide.png|néant|vignette|730x730px|Interface de Arduino IDE]] | [[Fichier:Arduino ide.png|néant|vignette|730x730px|Interface de Arduino IDE]] | ||
− | === Bibliothèques internes === | + | ===Bibliothèques internes=== |
− | ==== Qu'est-ce qu'une bibliothèque ? ==== | + | ====Qu'est-ce qu'une bibliothèque ?==== |
Une bibliothèque est un fichier qui contient du code pré-écrit auquel on peut se référer pour utiliser certains capteurs et fonctions. Souvent, pour accomplir une tâche comme se connecter à un serveur pour faire tourner un moteur, de nombreuses lignes de code doivent être écrites et exécutées. Les bibliothèques sont des morceaux de code auxquels les utilisateurs peuvent se référer pour accomplir ces tâches sans avoir à taper chaque ligne de code, ce qui simplifie le processus de programmation et nous permet d'accomplir des tâches relativement complexes avec facilité. | Une bibliothèque est un fichier qui contient du code pré-écrit auquel on peut se référer pour utiliser certains capteurs et fonctions. Souvent, pour accomplir une tâche comme se connecter à un serveur pour faire tourner un moteur, de nombreuses lignes de code doivent être écrites et exécutées. Les bibliothèques sont des morceaux de code auxquels les utilisateurs peuvent se référer pour accomplir ces tâches sans avoir à taper chaque ligne de code, ce qui simplifie le processus de programmation et nous permet d'accomplir des tâches relativement complexes avec facilité. | ||
Ligne 83 : | Ligne 83 : | ||
Dans les sujets pour débutants, nous n'utiliserons pas de bibliothèques complexes ou externes ! Mais gardez cela à l'esprit pour les suivants car cela sera nécessaire par la suite. | Dans les sujets pour débutants, nous n'utiliserons pas de bibliothèques complexes ou externes ! Mais gardez cela à l'esprit pour les suivants car cela sera nécessaire par la suite. | ||
− | ==== Bibliothèques intégrées ==== | + | ====Bibliothèques intégrées==== |
Les bibliothèques intégrées sont celles qui sont préinstallées dans l'IDE Arduino, vous n'avez pas besoin d'importer la bibliothèque dans l'IDE. Un exemple de ce type de bibliothèque est la bibliothèque math.h, qui est utilisée pour la plupart des opérations mathématiques de base. | Les bibliothèques intégrées sont celles qui sont préinstallées dans l'IDE Arduino, vous n'avez pas besoin d'importer la bibliothèque dans l'IDE. Un exemple de ce type de bibliothèque est la bibliothèque math.h, qui est utilisée pour la plupart des opérations mathématiques de base. | ||
Ligne 130 : | Ligne 130 : | ||
<youtube>f1z-1Db2IAI</youtube> | <youtube>f1z-1Db2IAI</youtube> | ||
− | ==Introduction à la syntaxe et à la conceptualisation de la programmation== | + | ==[[Introduction à la syntaxe et à la conceptualisation de la programmation]]== |
Comme mentionné précédemment, un IDE est utilisé pour compiler et exécuter le code utilisé dans un microcontrôleur. Il existe de nombreux IDE différents qui peuvent être utilisés pour divers types de microcontrôleurs et pour chaque objectif, il existe des cartes plus appropriées qui peuvent être utilisées. Pour programmer un Arduino, il faut avoir téléchargé l'IDE Arduino (voir Connexion d'un Arduino). L'Arduino IDE fournit aux utilisateurs un éditeur de programmation ainsi qu'un moyen de télécharger et de compiler facilement des programmes sur la carte Arduino. Les programmes dans l'IDE Arduino sont appelés sketches, et sont normalement enregistrés avec l'extension .ino. Le langage utilisé pour programmer la carte Arduino est basé sur le langage C++, qui est un langage orienté objet d'usage général. Comme tout langage courant, pour commencer à coder, il faut connaître les règles de grammaire et le vocabulaire utilisé. Un mot important que l'on rencontrera souvent est une "fonction", qui est un bloc de code qui prend une entrée, traite l'entrée, puis renvoie une sortie. | Comme mentionné précédemment, un IDE est utilisé pour compiler et exécuter le code utilisé dans un microcontrôleur. Il existe de nombreux IDE différents qui peuvent être utilisés pour divers types de microcontrôleurs et pour chaque objectif, il existe des cartes plus appropriées qui peuvent être utilisées. Pour programmer un Arduino, il faut avoir téléchargé l'IDE Arduino (voir Connexion d'un Arduino). L'Arduino IDE fournit aux utilisateurs un éditeur de programmation ainsi qu'un moyen de télécharger et de compiler facilement des programmes sur la carte Arduino. Les programmes dans l'IDE Arduino sont appelés sketches, et sont normalement enregistrés avec l'extension .ino. Le langage utilisé pour programmer la carte Arduino est basé sur le langage C++, qui est un langage orienté objet d'usage général. Comme tout langage courant, pour commencer à coder, il faut connaître les règles de grammaire et le vocabulaire utilisé. Un mot important que l'on rencontrera souvent est une "fonction", qui est un bloc de code qui prend une entrée, traite l'entrée, puis renvoie une sortie. | ||
Ligne 149 : | Ligne 149 : | ||
|La fonction loop agit comme le pilote du programme, elle s'exécute sur une boucle continue et spécifie l'ordre des opérations que le microcontrôleur va effectuer. L'exécution commence au début, parcourt le contenu de la boucle, puis reprend l'exécution au début. Cette procédure est répétée à l'infini. | |La fonction loop agit comme le pilote du programme, elle s'exécute sur une boucle continue et spécifie l'ordre des opérations que le microcontrôleur va effectuer. L'exécution commence au début, parcourt le contenu de la boucle, puis reprend l'exécution au début. Cette procédure est répétée à l'infini. | ||
|- | |- | ||
− | |pinMode (numéro de la broche, INPUT ou Output) | + | | pinMode (numéro de la broche, INPUT ou Output) |
|Configure la broche pour qu'elle se comporte comme un INPUT ou un OUTPUT. | |Configure la broche pour qu'elle se comporte comme un INPUT ou un OUTPUT. | ||
|- | |- | ||
− | |digitalWrite (numéro de la broche, HIGH ou LOW) | + | | digitalWrite (numéro de la broche, HIGH ou LOW) |
|Ecrit une valeur HIGH ou LOW sur une broche numérique. Si la broche a été configurée comme une SORTIE, alors le signal envoyé (c'est-à-dire la tension) sera défini comme 5 V (HIGH) ou 0 V (LOW). Pour les cartes à sortie 3,3 V, la valeur haute sera fixée à 3,3 V, tandis que la valeur basse est la même que celle de la carte 5 V, c'est-à-dire 0 V. | |Ecrit une valeur HIGH ou LOW sur une broche numérique. Si la broche a été configurée comme une SORTIE, alors le signal envoyé (c'est-à-dire la tension) sera défini comme 5 V (HIGH) ou 0 V (LOW). Pour les cartes à sortie 3,3 V, la valeur haute sera fixée à 3,3 V, tandis que la valeur basse est la même que celle de la carte 5 V, c'est-à-dire 0 V. | ||
|- | |- | ||
Ligne 193 : | Ligne 193 : | ||
|Barres de commentaires | |Barres de commentaires | ||
|/* ….*/ ou // | |/* ….*/ ou // | ||
− | |Permet aux codeurs d'ajouter des commentaires à leur code afin de le rendre plus lisible pour les autres humains. Il est important de noter que tous les commentaires ne sont pas exécutés par le programme et ne modifient donc pas le programme ! | + | | Permet aux codeurs d'ajouter des commentaires à leur code afin de le rendre plus lisible pour les autres humains. Il est important de noter que tous les commentaires ne sont pas exécutés par le programme et ne modifient donc pas le programme ! |
|- | |- | ||
|Point-virgule | |Point-virgule | ||
Ligne 213 : | Ligne 213 : | ||
<youtube>rSz7549WSjY</youtube> | <youtube>rSz7549WSjY</youtube> | ||
− | ==Introduction aux variables et aux instructions conditionnelles== | + | ==[[Introduction aux variables et aux instructions conditionnelles]]== |
Les variables permettent de stocker ou de modifier des informations dans le code du programme. Pour créer une variable dans votre programme, il faut la déclarer. Pour déclarer une variable, le codeur doit d'abord écrire le type de variable à déclarer. Différents types existent, les plus couramment utilisés sont : | Les variables permettent de stocker ou de modifier des informations dans le code du programme. Pour créer une variable dans votre programme, il faut la déclarer. Pour déclarer une variable, le codeur doit d'abord écrire le type de variable à déclarer. Différents types existent, les plus couramment utilisés sont : | ||
{| class="wikitable" | {| class="wikitable" | ||
Ligne 220 : | Ligne 220 : | ||
!Syntaxe | !Syntaxe | ||
|- | |- | ||
− | |Entiers | + | | Entiers |
|int | |int | ||
|- | |- | ||
Ligne 256 : | Ligne 256 : | ||
.....// quelques lignes de code} | .....// quelques lignes de code} | ||
− | ===Conditionnels=== | + | ===Conditionnels === |
Les instructions conditionnelles sont des opérations de programmation qui indiquent à l'ordinateur d'effectuer une action pour un certain ensemble de conditions. L'instruction "if" est la plus courante. Elle indique à l'ordinateur d'effectuer un ensemble d'actions uniquement si la condition est remplie. La syntaxe est la suivante : | Les instructions conditionnelles sont des opérations de programmation qui indiquent à l'ordinateur d'effectuer une action pour un certain ensemble de conditions. L'instruction "if" est la plus courante. Elle indique à l'ordinateur d'effectuer un ensemble d'actions uniquement si la condition est remplie. La syntaxe est la suivante : | ||
if (condition) { | if (condition) { | ||
Ligne 280 : | Ligne 280 : | ||
<youtube>YktSocf2vSc&t=6s</youtube> | <youtube>YktSocf2vSc&t=6s</youtube> | ||
− | ==Introduction à l'électronique et aux circuits== | + | ==[[Introduction à l'électronique et aux circuits]]== |
===Introduction aux circuits=== | ===Introduction aux circuits=== | ||
Ligne 302 : | Ligne 302 : | ||
<youtube>F_vLWkkOETI&t=1s</youtube> | <youtube>F_vLWkkOETI&t=1s</youtube> | ||
− | === Introduction aux composants électroniques === | + | ===Introduction aux composants électroniques=== |
− | ==== Planche de prototypage ==== | + | ====Planche de prototypage==== |
Une planche de prototypage est utilisée pour prototyper un circuit temporaire. L'utilisateur peut construire, tester et analyser un circuit sans aucune connexion permanente. Elle est composée de barrettes de connexion et de rails d'alimentation. Les barrettes de connexion sont utilisées pour maintenir un nombre quelconque de composants en place et effectuer des connexions électriques sur une rangée horizontale. Les rails d'alimentation sont de longues bandes verticales et sont utilisés pour faciliter les connexions d'alimentation (+) et de terre (-) en les plaçant toutes dans une colonne. | Une planche de prototypage est utilisée pour prototyper un circuit temporaire. L'utilisateur peut construire, tester et analyser un circuit sans aucune connexion permanente. Elle est composée de barrettes de connexion et de rails d'alimentation. Les barrettes de connexion sont utilisées pour maintenir un nombre quelconque de composants en place et effectuer des connexions électriques sur une rangée horizontale. Les rails d'alimentation sont de longues bandes verticales et sont utilisés pour faciliter les connexions d'alimentation (+) et de terre (-) en les plaçant toutes dans une colonne. | ||
[[Fichier:Planche de prototypage 2.png|centré|vignette|606x606px|Planche de prototypage cité de [https://dreyfuzz.github.io/hackinghardware/) https://dreyfuzz.github.io/hackinghardware/]]] | [[Fichier:Planche de prototypage 2.png|centré|vignette|606x606px|Planche de prototypage cité de [https://dreyfuzz.github.io/hackinghardware/) https://dreyfuzz.github.io/hackinghardware/]]] | ||
− | ==== LED ==== | + | ====LED==== |
Une diode électroluminescente, ou LED, est un dispositif semi-conducteur qui s'allume lorsqu'un courant électrique le traverse. Elles existent dans de nombreuses couleurs et formes différentes, et sont très polyvalentes. Les LED sont des diodes, ce qui signifie que le courant ne circule dans l'élément que dans un seul sens, de l'extrémité positive à l'extrémité négative. Sur une LED, l'extrémité cathodique peut être identifiée soit par un bord plat sur le corps, soit par la branche la plus courte. L'anode est donc l'autre extrémité (la branche la plus longue de la LED). | Une diode électroluminescente, ou LED, est un dispositif semi-conducteur qui s'allume lorsqu'un courant électrique le traverse. Elles existent dans de nombreuses couleurs et formes différentes, et sont très polyvalentes. Les LED sont des diodes, ce qui signifie que le courant ne circule dans l'élément que dans un seul sens, de l'extrémité positive à l'extrémité négative. Sur une LED, l'extrémité cathodique peut être identifiée soit par un bord plat sur le corps, soit par la branche la plus courte. L'anode est donc l'autre extrémité (la branche la plus longue de la LED). | ||
[[Fichier:LED.png|centré|vignette|(Cité de : https://create.arduino.cc/projecthub/rowan07/make-a-simple-led-circuit-ce8308)]] | [[Fichier:LED.png|centré|vignette|(Cité de : https://create.arduino.cc/projecthub/rowan07/make-a-simple-led-circuit-ce8308)]] | ||
− | ==== Bouton Tactile ==== | + | ====Bouton Tactile==== |
Un bouton-poussoir est un composant d'interrupteur électronique qui ne complète le circuit que lorsqu'il est enfoncé. Dans un circuit électrique, l'électricité doit circuler en permanence dans le circuit pour que toutes les pièces fonctionnent. Le bouton-poussoir interrompt ce circuit et forme un espace, de sorte que l'électricité ne circule pas de l'autre côté du bouton-poussoir. Lorsqu'on appuie sur le bouton-poussoir, un petit ressort en matériau conducteur est activé, de sorte que l'électricité circule à travers le ressort jusqu'à l'autre côté du bouton-poussoir. | Un bouton-poussoir est un composant d'interrupteur électronique qui ne complète le circuit que lorsqu'il est enfoncé. Dans un circuit électrique, l'électricité doit circuler en permanence dans le circuit pour que toutes les pièces fonctionnent. Le bouton-poussoir interrompt ce circuit et forme un espace, de sorte que l'électricité ne circule pas de l'autre côté du bouton-poussoir. Lorsqu'on appuie sur le bouton-poussoir, un petit ressort en matériau conducteur est activé, de sorte que l'électricité circule à travers le ressort jusqu'à l'autre côté du bouton-poussoir. | ||
[[Fichier:Bouton Tactile.png|centré|vignette|(Cité de :https://www.sparkfun.com/products/9190)]] | [[Fichier:Bouton Tactile.png|centré|vignette|(Cité de :https://www.sparkfun.com/products/9190)]] | ||
− | ==== Résistance ==== | + | ====Résistance==== |
Une résistance est un composant électrique qui crée une impédance électrique, ou résistance au passage du courant. La quantité de résistance fournie par une résistance peut être lue à partir des bandes de couleur sur la résistance, qui sont lues de gauche à droite. Pour les résistances à quatre bandes, la première et la deuxième bande représentent des chiffres, tandis que la troisième bande représente un multiplicateur par lequel il faut multiplier les chiffres de la première et de la deuxième bande. La quatrième bande est la tolérance, elle représente de combien la résistance peut s'écarter de la valeur indiquée par les bandes. La valeur de la résistance peut également être déterminée à l'aide de la fonction ohmique d'un multimètre. | Une résistance est un composant électrique qui crée une impédance électrique, ou résistance au passage du courant. La quantité de résistance fournie par une résistance peut être lue à partir des bandes de couleur sur la résistance, qui sont lues de gauche à droite. Pour les résistances à quatre bandes, la première et la deuxième bande représentent des chiffres, tandis que la troisième bande représente un multiplicateur par lequel il faut multiplier les chiffres de la première et de la deuxième bande. La quatrième bande est la tolérance, elle représente de combien la résistance peut s'écarter de la valeur indiquée par les bandes. La valeur de la résistance peut également être déterminée à l'aide de la fonction ohmique d'un multimètre. | ||
Ligne 326 : | Ligne 326 : | ||
− | == Introduction aux capteurs == | + | ==[[Introduction aux capteurs]]== |
Les capteurs permettent au microcontrôleur de détecter le milieu environnant. De nombreux capteurs existent sur le marché, notamment des boutons, des capteurs de température, des capteurs de pression, des photorésistances, des capteurs d'humidité et bien d'autres encore. La sortie du capteur (une tension) change en fonction des propriétés mesurées de l'environnement et envoie ce signal à la carte Arduino. | Les capteurs permettent au microcontrôleur de détecter le milieu environnant. De nombreux capteurs existent sur le marché, notamment des boutons, des capteurs de température, des capteurs de pression, des photorésistances, des capteurs d'humidité et bien d'autres encore. La sortie du capteur (une tension) change en fonction des propriétés mesurées de l'environnement et envoie ce signal à la carte Arduino. | ||
Ligne 332 : | Ligne 332 : | ||
[[Fichier:Différent type de capteur.png|centré|vignette|599x599px|(Cité de: https://www.electronicshub.org/different-types-sensors/)]] | [[Fichier:Différent type de capteur.png|centré|vignette|599x599px|(Cité de: https://www.electronicshub.org/different-types-sensors/)]] | ||
− | == Simulateurs en ligne == | + | == [[Simulateurs en ligne]]== |
Tinkercad est une plateforme en ligne qui permet aux utilisateurs de modéliser virtuellement des conceptions et des circuits en 3D. Son interface conviviale et ses fonctionnalités encouragent les étudiants et les amateurs à étudier virtuellement les fonctionnalités des cartes Arduino, ainsi qu'à commencer à construire leurs modèles. Pour vous inscrire, créez un compte sur : https://www.tinkercad.com/, ou bien connectez-vous avec google, facebook etc... | Tinkercad est une plateforme en ligne qui permet aux utilisateurs de modéliser virtuellement des conceptions et des circuits en 3D. Son interface conviviale et ses fonctionnalités encouragent les étudiants et les amateurs à étudier virtuellement les fonctionnalités des cartes Arduino, ainsi qu'à commencer à construire leurs modèles. Pour vous inscrire, créez un compte sur : https://www.tinkercad.com/, ou bien connectez-vous avec google, facebook etc... | ||
Ligne 342 : | Ligne 342 : | ||
Pour plus d'informations, consultez les ressources suivantes : | Pour plus d'informations, consultez les ressources suivantes : | ||
− | * '''Tinkercad: Circuit''' | + | *'''Tinkercad: Circuit''' |
− | * '''Tinkercad: Programmation''' | + | *'''Tinkercad: Programmation''' |
Version du 18 août 2022 à 20:50
Comprendre les cartes Arduino
Qu'est-ce qu'un microcontrôleur ?
Un microcontrôleur est un circuit intégré compact qui reçoit des entrées de l'environnement, traite ces entrées et peut produire une sortie. Il reçoit des données de ses broches d'entrée/sortie et traite les signaux reçus à l'aide de l'unité centrale de traitement intégrée à la puce. Les microcontrôleurs sont généralement intégrés dans des systèmes plus importants et sont utilisés dans de nombreux domaines de la vie, notamment les véhicules, les appareils médicaux, les appareils ménagers, etc.
Arduino est une plateforme électronique open source qui offre un moyen facile et accessible de réaliser des projets de robotique. Les cartes sont capables de recevoir des signaux d'entrée provenant de capteurs et de produire des sorties par le biais de broches d'entrée/sortie. Les cartes Arduino sont utilisées par un large éventail de personnes, notamment des étudiants, des amateurs, des ingénieurs et des chercheurs, en raison de la simplicité de leur disposition et de leur programmabilité.
Un Arduino ou un microcontrôleur peut être mis en œuvre de nombreuses façons :
- Une voiture télécommandée
- Une veilleuse de nuit
- Une balance de cuisine
Sections de la carte Arduino
Il existe 5 sections importantes de la carte que l'utilisateur doit bien comprendre pour commencer à utiliser les fonctions de la carte. Ces sections sont décrites ci-dessous :
Section | Description |
---|---|
Connecteur USB | L'arduino peut être alimenté par un connecteur USB de type A/B entre l'ordinateur portable/ordinateur de l'utilisateur et la carte. Ce port est également utilisé pour télécharger des programmes sur la carte. |
Port d'alimentation | La carte arduino peut être alimentée par un adaptateur AC-DC ou une batterie. La prise d'alimentation de la carte peut être connectée à une fiche de 2,1 mm à centre positif. |
Broches d'alimentation | Pour alimenter les circuits externes, 3 tensions standard (0 V ou GND, 3.3V, 5V) sont fournies dans la section 'Power Pins' de la carte. |
Broches numériques | Les broches numériques de la carte arduino peuvent être configurées comme une entrée ou une sortie. Lorsque les broches sont configurées en entrée, elles envoient un signal binaire à la carte, ce qui permet à la carte de lire les niveaux de tension logique détectés (c'est-à-dire 0/bas ou 1/haut). Si les broches numériques sont configurées comme une sortie, alors l'arduino enverra un signal binaire à la broche. Il y a une LED intégrée pré-connectée à la broche numérique 13. Lorsque la valeur de la broche est pilotée en HIGH par le processeur, la LED sur la carte est allumée, lorsque la broche est LOW, elle est éteinte. Ceci peut être utilisé comme un indicateur de statut lorsque des programmes sont en cours d'exécution. |
Broches analogiques | Les broches analogiques permettent à la carte Arduino de recevoir ou d'envoyer un signal analogique. Ces signaux doivent être convertis en représentations numériques qui peuvent être utilisées à l'intérieur de la partie d'exécution du logiciel du processeur Arduino (qui n'utilise que des signaux numériques binaires). Les entrées de signaux analogiques peuvent être acceptées pour être converties en numérique via l'en-tête Analog Pins. La conversion analogique-numérique (A/D ou "A to D") est effectuée à l'intérieur du processeur avec des circuits spécialisés. |
Signaux analogiques VS numériques
Un signal est un courant électromagnétique ou électrique qui transfère des informations d'une source à une autre. Il existe deux principaux types de signaux utilisés en électronique : les signaux analogiques ou numériques.
Signaux analogiques
Il s'agit d'un type de signal continu et variable dans le temps qui est souvent utilisé pour mesurer les changements de lumière, de son, de position, de température ou d'autres phénomènes physiques. Lorsque l'on trace un graphique tension-temps, le résultat est souvent une courbe continue et lisse.
Signaux numériques
Un signal numérique est un signal qui représente l'information sous la forme d'une série de valeurs binaires discrètes. Les signaux numériques sont utilisés dans toutes les applications électroniques modernes, y compris les dispositifs de communication et de réseau. Lorsqu'il est représenté sur un graphique tension-temps, le signal est discret et va de 0 V à VCC (généralement 1,8 V, 3,3 V ou 5 V).
Connexion à un Arduino
- Il y a plusieurs façons d'endommager ou de brûler votre Arduino, consultez ce guide avant de commencer pour plus d'informations.
- Si vous utilisez un ordinateur de laboratoire de la Faculté d'ingénierie, consultez ce guide pour les étapes supplémentaires de connexion de l'Arduino.
Étape 1 : Téléchargez l'IDE Arduino à partir de https://www.arduino.cc/en/software.Veillez à choisir la version qui convient à votre système d'exploitation.
Etape 2 : Connectez l'Arduino à votre ordinateur via un câble USB de type A/B.
Étape 3 : Une fois l'Arduino connecté, votre ordinateur reconnaîtra la carte Arduino comme un port COM générique. Les LEDs d'alimentation de l'Arduino devraient s'allumer.
Étape 4 : Il est temps de trouver le numéro de port attribué pour que l'Arduino et l'ordinateur puissent communiquer correctement entre eux. Dans l'IDE, sélectionnez Outils > Ports > Sélectionner un port. Si même après avoir sélectionné le port, l'Arduino ne se connecte pas, essayez un autre port.
Étape 5 : Ouvrez l'IDE Arduino. Sous Outils>Carte, assurez-vous que le bon type de carte Arduino est sélectionné.
Étape 6 : Sous Outils> COM, assurez-vous que le "port" est celui indiqué dans l'étape ci-dessus. Vérifiez que le programmateur est défini comme "AVRISP AKII".
Bogues possibles :
Si vous avez des problèmes avec votre Arduino, consultez ce guide : Dépannage de l'Arduino
IDE et outils Arduino
Arduino IDE:
Le processus de programmation comprend la conception et l'exécution du code dans un environnement de développement intégré, également appelé IDE. De nombreux IDE différents existent et sont adoptés pour différents usages, et permettent aux programmes d'éditer, de déboguer et d'exécuter (ou de compiler) leur code. Pour programmer un Arduino (quel que soit le type de microcontrôleur utilisé), il faut avoir téléchargé l'IDE Arduino (voir Connexion d'un Arduino).
Lorsque l'on commence à apprendre à coder, il est important de connaître l'environnement de développement intégré, ou IDE, que le codeur utilisera pour modifier et compiler les programmes écrits. La figure suivante guide les utilisateurs sur les options de base disponibles dans l'IDE :
Bibliothèques internes
Qu'est-ce qu'une bibliothèque ?
Une bibliothèque est un fichier qui contient du code pré-écrit auquel on peut se référer pour utiliser certains capteurs et fonctions. Souvent, pour accomplir une tâche comme se connecter à un serveur pour faire tourner un moteur, de nombreuses lignes de code doivent être écrites et exécutées. Les bibliothèques sont des morceaux de code auxquels les utilisateurs peuvent se référer pour accomplir ces tâches sans avoir à taper chaque ligne de code, ce qui simplifie le processus de programmation et nous permet d'accomplir des tâches relativement complexes avec facilité.
Dans les sujets pour débutants, nous n'utiliserons pas de bibliothèques complexes ou externes ! Mais gardez cela à l'esprit pour les suivants car cela sera nécessaire par la suite.
Bibliothèques intégrées
Les bibliothèques intégrées sont celles qui sont préinstallées dans l'IDE Arduino, vous n'avez pas besoin d'importer la bibliothèque dans l'IDE. Un exemple de ce type de bibliothèque est la bibliothèque math.h, qui est utilisée pour la plupart des opérations mathématiques de base.
Où les trouver?
Vous pouvez effectuer une recherche rapide dans différents forums Arduino en ligne, ou la méthode la plus simple consiste à consulter le gestionnaire de bibliothèques dans l'IDE Arduino. Cette fenêtre affiche les bibliothèques qui sont déjà installées et vous avez également la possibilité d'installer de nouvelles bibliothèques si vous le souhaitez.
Comme indiqué ci-dessous, dans la barre de menu en haut de la fenêtre, cliquez sur Outils > Gérer les bibliothèques....
Dans le gestionnaire, comme indiqué ci-dessous, vous pouvez sélectionner le type de bibliothèque que vous recherchez, par exemple, installée, etc.
Lorsque l'on souhaite utiliser une bibliothèque, il faut la déclarer en haut de son code afin que son IDE sache que l'on fait référence à ce fichier, la syntaxe est la suivante :
#include<math.h>
Moniteurs en série
Le moniteur série est une fonction de l'IDE Arduino qui vous permet d'interagir avec votre Arduino. Grâce à lui, vous êtes en mesure d'envoyer des informations et de recevoir un retour ou la sortie du système, ce qui facilite le débogage et l'interaction avec le programme.
Le moniteur série est accessible à deux endroits : l'icône dans la barre en haut de l'IDE, comme le montre la figure ci-dessous.
Et dans le menu déroulant suivant, comme indiqué ci-dessous :
Quelques caractéristiques à noter sont le débit en bauds et la fonctionnalité de défilement automatique. Le débit en bauds doit correspondre à celui dicté par le programme. Cette valeur détermine le débit auquel l'Arduino et l'IDE communiquent entre eux.
Lorsque vous utilisez le moniteur série, il doit être initialisé dans le code pour un débit en bauds spécifique comme suit:
Void Setup {
Serial.begin(9600); //ceci initialise le moniteur à un taux de baud de 9600 }
Il existe plusieurs façons de transmettre des valeurs au moniteur série. Par exemple, si vous souhaitez transmettre la valeur d'une variable, vous pouvez utiliser la syntaxe suivante :
Serial.print(nom_de_la_variable):
Serial.println(nom_de_la_variable); //pour sortir chaque valeur sur une nouvelle ligne
Si l'on veut produire une chaîne de caractères ou une phrase, on peut aussi utiliser la syntaxe suivante :
Serial.print("INSÉRER UNE PHRASE");
Serial.println("INSÉRER UNE PHRASE"); //pour sortir chaque valeur sur une nouvelle ligne
Introduction à la syntaxe et à la conceptualisation de la programmation
Comme mentionné précédemment, un IDE est utilisé pour compiler et exécuter le code utilisé dans un microcontrôleur. Il existe de nombreux IDE différents qui peuvent être utilisés pour divers types de microcontrôleurs et pour chaque objectif, il existe des cartes plus appropriées qui peuvent être utilisées. Pour programmer un Arduino, il faut avoir téléchargé l'IDE Arduino (voir Connexion d'un Arduino). L'Arduino IDE fournit aux utilisateurs un éditeur de programmation ainsi qu'un moyen de télécharger et de compiler facilement des programmes sur la carte Arduino. Les programmes dans l'IDE Arduino sont appelés sketches, et sont normalement enregistrés avec l'extension .ino. Le langage utilisé pour programmer la carte Arduino est basé sur le langage C++, qui est un langage orienté objet d'usage général. Comme tout langage courant, pour commencer à coder, il faut connaître les règles de grammaire et le vocabulaire utilisé. Un mot important que l'on rencontrera souvent est une "fonction", qui est un bloc de code qui prend une entrée, traite l'entrée, puis renvoie une sortie.
Programme Blink : Un exemple
L'IDE Arduino fournit aux créateurs une pléthore de programmes écrits qui sont entièrement prêts à fonctionner sur une carte Arduino. Ils sont situés dans le dossier Files>Examples. Parmi les plus basiques, on trouve le programme "Blink", qui peut être utilisé non seulement pour se familiariser avec les fonctions de base du logiciel et du matériel, mais aussi pour tester la connectivité entre la carte Arduino et l'ordinateur de l'utilisateur. Ce programme est situé dans Fichiers>Exemples>01.Basics>Blink.
Vous trouverez ci-dessous un aperçu des différentes fonctions utilisées dans ce programme :
Fonction | Description |
---|---|
Setup() | Effectue toutes les actions qui sont initialement nécessaires pour exécuter le reste du programme, comme l'initialisation des composants périphériques et le réglage de la fréquence de communication entre l'Arduino et le PC. |
Loop() | La fonction loop agit comme le pilote du programme, elle s'exécute sur une boucle continue et spécifie l'ordre des opérations que le microcontrôleur va effectuer. L'exécution commence au début, parcourt le contenu de la boucle, puis reprend l'exécution au début. Cette procédure est répétée à l'infini. |
pinMode (numéro de la broche, INPUT ou Output) | Configure la broche pour qu'elle se comporte comme un INPUT ou un OUTPUT. |
digitalWrite (numéro de la broche, HIGH ou LOW) | Ecrit une valeur HIGH ou LOW sur une broche numérique. Si la broche a été configurée comme une SORTIE, alors le signal envoyé (c'est-à-dire la tension) sera défini comme 5 V (HIGH) ou 0 V (LOW). Pour les cartes à sortie 3,3 V, la valeur haute sera fixée à 3,3 V, tandis que la valeur basse est la même que celle de la carte 5 V, c'est-à-dire 0 V. |
Délai (temps en millisecondes) | Met le programme en pause pendant la durée spécifiée dans le paramètre. |
Initialisation d'une broche en tant qu'entrée ou sortie
Lorsque vous utilisez des composants, vous devrez souvent initialiser la broche à laquelle ils sont connectés en tant qu'entrée ou sortie ! La syntaxe de cette opération varie en fonction du composant et du type de broche auquel il est connecté.
Entrée/sortie analogique
Lorsque vous essayez de manipuler les données d'une broche analogique, les lignes de code suivantes sont utilisées pour lire les données de celle-ci :
int variable = analogRead(insérer le numéro de la broche); //ici une variable est définie pour contenir la valeur lue sur la broche.
Lorsque vous voulez écrire des données sur la broche, la syntaxe suivante est utilisée :
int variable = analogWrite(insérer le numéro de la broche) ; //ici une variable est définie pour contenir la valeur lue sur la broche.
Entrée/sortie numérique
Si vous souhaitez utiliser une broche numérique, vous devez la déclarer comme entrée ou sortie dans le paramètre Void () comme suit :
pinMode(LED1, OUTPUT); //Par exemple, si vous avez une broche appelée LED1
Si vous voulez écrire une valeur à LED1, vous devez utiliser la syntaxe suivante :
digitalWrite(LED1, HIGH); //Ici, HIGH ou LOW indique si vous souhaitez que la led s'allume - pour l'allumer, réglez HIGH, et LOW sinon.
Quelques autres considérations de base :
Symbol | Description | |
---|---|---|
Supports | {....} | Commence et termine une fonction ou est utilisé pour regrouper différentes déclarations. |
Barres de commentaires | /* ….*/ ou // | Permet aux codeurs d'ajouter des commentaires à leur code afin de le rendre plus lisible pour les autres humains. Il est important de noter que tous les commentaires ne sont pas exécutés par le programme et ne modifient donc pas le programme ! |
Point-virgule | ...; | Ce caractère termine une instruction de programme et indique au compilateur la "fin de la ligne/de l'instruction en cours". |
Il est également important de savoir que l'éditeur Arduino est sensible à la casse, ce qui signifie que les mots "DOOR" et "Door" ne sont pas compris comme étant le même mot par le compilateur. En outre, pour rendre l'écriture et l'édition du code plus conviviales, l'IDE Arduino attribue un code couleur aux fonctions importantes, aux commentaires, etc. Nous verrons cela plus tard dans cette section.
Comme on peut le voir ci-dessous, certaines fonctions préexistantes dans l'IDE Arduino seront souvent d'une certaine couleur. C'est un bon indicateur pour savoir si vous avez écrit la fonction correctement ou non.
Pseudocode et organigrammes
Au fur et à mesure que la complexité de vos projets progresse, il sera probablement de plus en plus difficile de garder la trace de toutes les différentes fonctions. Parmi les outils souvent utilisés pour aider à créer une présentation de l'objectif des programmes figurent le pseudocode et l'organigramme. Ils aident tous deux à visualiser et à décrire la logique de votre code, la différence entre les deux étant que les organigrammes sont plus visuels et que le pseudo-code est une description dactylographiée du code [voir les exemples ci-dessous].
Cela permet au concepteur (vous) de travailler sur la logique du code avant de le créer, ce qui facilite grandement le processus de conception.
Introduction aux variables et aux instructions conditionnelles
Les variables permettent de stocker ou de modifier des informations dans le code du programme. Pour créer une variable dans votre programme, il faut la déclarer. Pour déclarer une variable, le codeur doit d'abord écrire le type de variable à déclarer. Différents types existent, les plus couramment utilisés sont :
Type | Syntaxe |
---|---|
Entiers | int |
non-entiers (rationnels et non-rationnels) | double or float |
caractères | char |
Après avoir déclaré le type de variable, le codeur doit ensuite nommer la variable. Le nom de la variable doit clairement refléter le but de la valeur, afin que le codeur et le lecteur puissent facilement identifier quelle valeur est associée à quelle variable. En outre, les variables ne peuvent pas comporter d'espaces dans leur nom. Par exemple, "Mon dépôt" n'est pas un nom de variable valide, mais "MonDépôt" l'est. Notez que les majuscules peuvent être utiles pour la lisibilité. En outre, les variables ne doivent pas commencer par des chiffres ou par un trait de soulignement "_".
Après avoir nommé la variable, le codeur peut choisir d'initialiser la variable, c'est-à-dire de choisir une valeur initiale à associer à la variable (qui peut changer tout au long du programme). Veillez à rester cohérent avec le type de la variable. Par exemple, vous ne pouvez pas initialiser la variable int Age avec la valeur "k", car "k" n'est pas un nombre entier. Les segments de code ci-dessous illustrent le processus d'initialisation :
int a;// non initialisé, ce qui est correct !
double b=1.23;/* Notez que la valeur 1,23 correspond au type "double" qui est un nombre rationnel*/.
char MyVariable = “h”; //notez les points-virgules!
Ce qui suit produira une erreur, qui empêchera le compilateur de compiler votre code :
char YourVariable= 1.23; //1.23 n'est pas un caractère!
Les variables peuvent être classées en variables globales ou locales. La principale différence est la portée à laquelle elles sont accessibles. Une variable globale peut être accédée par toutes les fonctions qui existent dans un programme, alors qu'une variable locale ne peut être accédée que par la fonction dans laquelle elle est déclarée. L'exemple ci-dessous illustre bien cette différence [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/] :
/* Il y a deux fonctions dans ce programme : setup() et loop(), et trois variables : "k", "i", "f".*/
int k; // toute fonction verra cette variable, ainsi appelée variable globale.
void setup() {
// ... }
void loop() {
int i; // "i" est seulement "visible" à l'intérieur de "loop".
float f; } // "f" est seulement "visible" à l'intérieur de "loop".
.....// quelques lignes de code}
Conditionnels
Les instructions conditionnelles sont des opérations de programmation qui indiquent à l'ordinateur d'effectuer une action pour un certain ensemble de conditions. L'instruction "if" est la plus courante. Elle indique à l'ordinateur d'effectuer un ensemble d'actions uniquement si la condition est remplie. La syntaxe est la suivante :
if (condition) {
///un ensemble d'instructions }
Les altérations courantes des instructions if sont les "if...else" et "if... else if". Les conditionnels "if...else" vérifient d'abord la condition "if", dans le cas où elle est vraie, le compilateur ignorera le jeu d'instructions "else". Dans le cas où la ou les conditions déclarées dans l'instruction "if" ne sont pas remplies, les instructions "else" s'exécutent automatiquement. La syntaxe d'une instruction "if...else" est la suivante :
if (condition){
///instructions;}
else {
///Instructions qui seront exécutées UNIQUEMENT dans le cas où les conditions "si" ne sont pas remplies. }
Dans le cas de la série d'instructions "if...else if", le programme ne s'exécutera que si les conditions spécifiées dans le "if" ou le "else if" sont vraies. La syntaxe est la suivante :
if (condition){
///instructions }
else if (condition) {
///instructions }
Introduction à l'électronique et aux circuits
Introduction aux circuits
Un circuit est une voie où l'électricité peut circuler à travers un chemin fermé de l'extrémité négative (cathode) à l'extrémité positive (anode) d'une source d'énergie. Les éléments d'un circuit peuvent soit fournir soit dépenser de l'énergie. L'énergie se mesure en Joules (J). Les fournisseurs d'énergie sont appelés sources ; ils fournissent une tension ou chargent des électrons avec de l'énergie. Le nombre d'électrons qui circulent dans un circuit est appelé courant, mesuré en ampères (A). Une source de tension courante est une batterie chimique, qui est un exemple de source d'énergie à courant continu (CC). Elle fournit aux électrons une quantité fixe d'énergie (c'est-à-dire une tension fixe) par le biais d'une réaction chimique au sein d'une pile. La résistance est une valeur qui décrit la facilité avec laquelle les électrons se déplacent dans un matériau lorsqu'une tension est appliquée. Les résistances sont des dispositifs qui peuvent être ajoutés au circuit pour empêcher le passage du courant.
La loi d'Ohm
Il existe plusieurs façons de calculer les valeurs requises pour chaque composant, mais l'une des méthodes de base est la loi d'Ohm.
La relation qui représente le rapport entre la tension, le courant et la résistance est la loi d'ohm, représentée par : V=IR. La source d'alimentation d'un circuit détermine la tension fournie et le courant disponible. Les composants connectés tirent du courant de la source d'alimentation.
Il existe trois dispositions de circuits, la série, le parallèle et la combinaison.
Circuits en série
Dans un circuit en série, la quantité de courant qui circule est la même en tout point du circuit, tandis que la tension fournie par la batterie est égale à la chute de tension aux bornes de chaque composant. Un circuit en série n'a qu'un seul chemin pour le passage de l'électricité, donc si un composant tombe en panne dans le circuit, tous les autres composants cesseront également de fonctionner, car le circuit est maintenant ouvert.
Circuits parallèles
Dans un circuit parallèle, la tension est la même dans toutes les branches, alors que le courant est différent dans chaque branche.
Introduction aux composants électroniques
Planche de prototypage
Une planche de prototypage est utilisée pour prototyper un circuit temporaire. L'utilisateur peut construire, tester et analyser un circuit sans aucune connexion permanente. Elle est composée de barrettes de connexion et de rails d'alimentation. Les barrettes de connexion sont utilisées pour maintenir un nombre quelconque de composants en place et effectuer des connexions électriques sur une rangée horizontale. Les rails d'alimentation sont de longues bandes verticales et sont utilisés pour faciliter les connexions d'alimentation (+) et de terre (-) en les plaçant toutes dans une colonne.
LED
Une diode électroluminescente, ou LED, est un dispositif semi-conducteur qui s'allume lorsqu'un courant électrique le traverse. Elles existent dans de nombreuses couleurs et formes différentes, et sont très polyvalentes. Les LED sont des diodes, ce qui signifie que le courant ne circule dans l'élément que dans un seul sens, de l'extrémité positive à l'extrémité négative. Sur une LED, l'extrémité cathodique peut être identifiée soit par un bord plat sur le corps, soit par la branche la plus courte. L'anode est donc l'autre extrémité (la branche la plus longue de la LED).
Bouton Tactile
Un bouton-poussoir est un composant d'interrupteur électronique qui ne complète le circuit que lorsqu'il est enfoncé. Dans un circuit électrique, l'électricité doit circuler en permanence dans le circuit pour que toutes les pièces fonctionnent. Le bouton-poussoir interrompt ce circuit et forme un espace, de sorte que l'électricité ne circule pas de l'autre côté du bouton-poussoir. Lorsqu'on appuie sur le bouton-poussoir, un petit ressort en matériau conducteur est activé, de sorte que l'électricité circule à travers le ressort jusqu'à l'autre côté du bouton-poussoir.
Résistance
Une résistance est un composant électrique qui crée une impédance électrique, ou résistance au passage du courant. La quantité de résistance fournie par une résistance peut être lue à partir des bandes de couleur sur la résistance, qui sont lues de gauche à droite. Pour les résistances à quatre bandes, la première et la deuxième bande représentent des chiffres, tandis que la troisième bande représente un multiplicateur par lequel il faut multiplier les chiffres de la première et de la deuxième bande. La quatrième bande est la tolérance, elle représente de combien la résistance peut s'écarter de la valeur indiquée par les bandes. La valeur de la résistance peut également être déterminée à l'aide de la fonction ohmique d'un multimètre.
Les résistances sont souvent utilisées en série avec des composants pour réduire la quantité de courant circulant dans un circuit, souvent pour protéger des composants prévus pour des quantités de courant plus faibles. Les résistances pull-up et pull-down sont utilisées pour polariser une entrée sur l'Arduino pour qu'elle soit respectivement HIGH ou LOW. Ceci est nécessaire car le niveau de repos de l'entrée n'est pas nécessairement 0. Ceci est particulièrement utile lorsque l'on travaille avec des capteurs qui ont une sortie analogique.
Introduction aux capteurs
Les capteurs permettent au microcontrôleur de détecter le milieu environnant. De nombreux capteurs existent sur le marché, notamment des boutons, des capteurs de température, des capteurs de pression, des photorésistances, des capteurs d'humidité et bien d'autres encore. La sortie du capteur (une tension) change en fonction des propriétés mesurées de l'environnement et envoie ce signal à la carte Arduino.
Les différents capteurs utilisent différents niveaux de tension et différentes méthodes de communication avec les microcontrôleurs. Il est toujours important de lire leur fiche technique et de s'assurer qu'ils sont compatibles avec votre système avant de continuer ou de concevoir votre système en fonction des spécifications du capteur.
Simulateurs en ligne
Tinkercad est une plateforme en ligne qui permet aux utilisateurs de modéliser virtuellement des conceptions et des circuits en 3D. Son interface conviviale et ses fonctionnalités encouragent les étudiants et les amateurs à étudier virtuellement les fonctionnalités des cartes Arduino, ainsi qu'à commencer à construire leurs modèles. Pour vous inscrire, créez un compte sur : https://www.tinkercad.com/, ou bien connectez-vous avec google, facebook etc...
Une fois votre compte créé, l'utilisateur peut naviguer vers l'onglet "circuits" dans le menu de gauche, et cliquer sur "Créer un nouveau circuit". Cela ouvre un nouvel onglet, où les composants du circuit disponibles peuvent être visualisés dans le menu de droite.
Pour commencer à assembler un circuit, l'utilisateur peut faire glisser les composants de la bibliothèque et les placer dans la "zone de construction", mentionnée ci-dessus. En outre, notez le bouton "Code" dans la barre supérieure ; ce bouton permet aux utilisateurs de programmer l'Arduino pour exécuter des fonctions spécifiques. Pour démarrer la simulation, le bouton "start simulation" est disponible dans l'onglet supérieur.
Pour plus d'informations, consultez les ressources suivantes :
- Tinkercad: Circuit
- Tinkercad: Programmation