Tutoriel programmation Arduino Leonardo [Eng]
![Tutoriel programmation Arduino Leonardo [Eng]](/images/remos_downloads/id-10727.10727.pdf_thumb_prev.jpg)
Tutoriel programmation Arduino Leonardo [Eng]
....
Introduction à l'Arduino
Un Arduino est un microcontrôleur. La gamme de microcontrôleurs Arduino a été spécialement conçue pour simplifier la création de prototypes électroniques destinés aux amateurs et aux petits projets de conception. L'Arduino est programmé à l'aide du langage de programmation Arduino, basé sur le langage de programmation Wiring. Le logiciel Arduino utilise un environnement de développement basé sur l’EDI existant, Processing.
Arduino Leonardo
Figure 1. L'Arduino Leonardo
Contrairement aux autres cartes Arduino, l'Arduino Leonardo possède un seul microcontrôleur pour la connexion USB et les programmes Arduino créés par l'utilisateur. Cela donne à l'utilisateur beaucoup plus de flexibilité lorsqu'il s'agit de la reconnaissance de l'appareil par un ordinateur. Le Leonardo offre également plus de fonctionnalités en tant que périphérique d’entrée que les autres modèles Arduino. Cela est dû au fait qu'il est reconnu comme un périphérique d'entrée lors de la connexion à l'ordinateur via un port USB. le
Leonardo dispose de 20 broches d’entrée / sortie, qui offrent à l’utilisateur de nombreuses entrées et sorties pour une fonctionnalité maximale. La carte possède également un port micro-USB intégré et une prise d'alimentation permettant d'utiliser une alimentation externe.
Débuter avec l'Arduino Leonardo
Pour pouvoir utiliser Leonardo, l'utilisateur doit disposer des éléments suivants:
- Ordinateur personnel
- Câble micro-USB
- Arduino Leonardo
1) Téléchargez l'IDE Arduino
L’IDE Arduino est l’environnement dans lequel l’Arduino Leonardo peut être programmé.
Ce logiciel est un outil nécessaire pour le développeur. L'IDE Arduino peut être téléchargé à partir du site Web Arduino.
2) Connecter la carte à l'ordinateur
La carte doit être connectée à un ordinateur à l'aide d'un câble micro-USB. Une fois connecté, l'Arduino Leonardo commencera à être alimenté via la connexion USB. Le voyant vert «ON» s'allume.
3) Téléchargez les pilotes Arduino
Les derniers pilotes Arduino peuvent être localisés et téléchargés via le gestionnaire de périphériques Windows. Faites simplement un clic droit sur le périphérique Arduino Leonardo dans la liste et sélectionnez Mettre à jour le pilote.
L'utilisateur doit s'assurer que les pilotes sont téléchargés dans le dossier approprié. La figure 2 montre le répertoire approprié:
Figure 2. Répertoire d'installation du pilote Arduino
4) Choisissez le périphérique préféré
Afin d’inclure les bibliothèques appropriées, l’utilisateur doit choisir d’utiliser le logiciel Arduino.
Leonardo à travers l'IDE Arduino. Pour ce faire, l'utilisateur doit effectuer les opérations suivantes dans l'EDI:
Sélectionnez Outils -> Conseil -> Arduino Leonardo
Une fois les étapes 1 à 4 terminées, l’Arduino Leonardo peut être programmé.
Fonctions de la bibliothèque USB
L’Arduino Leonardo est l’une des rares cartes Arduino pouvant être programmée à l’aide de
Bibliothèques USB. Ces bibliothèques permettent à l'utilisateur d'émuler facilement un clavier ou une souris à l'aide de l'Arduino Leonardo. Les bibliothèques USB sont automatiquement incluses dans le programme lorsque l'utilisateur choisit d'utiliser l'Arduino Leonardo via l'EDI Arduino. Certaines des commandes de base d’émulation de clavier et de souris sont expliquées ci-dessous.
Souris
Mouse.begin () et Mouse.end ()
La fonction begin () lance la bibliothèque de souris. Cela permet au Leonardo de commencer à fonctionner comme une souris. Inversement, la fonction end () arrête l’émulation.
Clic de souris()
La fonction click () émule un clic de souris. La fonction utilise par défaut un clic gauche. Cependant, la fonction click () peut accepter trois paramètres différents:
- MOUSE_LEFT - Cliquez sur le bouton gauche de la souris
- MOUSE_RIGHT - Cliquez sur le bouton droit de la souris.
- MOUSE_MIDDLE - Cliquez sur le bouton central de la souris.
Mouse.move ()
La fonction move () permet au Leonardo de contrôler l’emplacement du curseur de la souris à l’écran. La fonction move () nécessite trois arguments entiers:
- xVal - Définit la quantité de déplacement du curseur sur l'axe des x
- yVal - Définit la quantité de déplacement du curseur sur l'axe des y
- molette - Définit le montant de défilement de la molette
Mouse.press () et Mouse.release ()
La fonction press () fonctionne de la même manière que la fonction click (). Cependant, la fonction press () maintient le bouton choisi jusqu'à ce qu'il soit relâché manuellement avec la fonction release (). Les boutons presser () et relâcher () s’affichent tous les deux par défaut sur le bouton gauche de la souris, mais peuvent accepter les mêmes arguments que la fonction click ().
Mouse.isPressed ()
La fonction isPressed () renvoie un booléen (vrai ou faux) si un bouton donné est enfoncé.
Cette fonction utilise également par défaut le bouton gauche de la souris et peut accepter les mêmes arguments que les fonctions press (), release () et click ().
Clavier
Keyboard.begin () et Keyboard.end ()
Les fonctions begin () et end () de la bibliothèque de clavier fonctionnent de la même manière que leurs homologues de la bibliothèque de souris.
Keyboard.press () et Keyboard.release ()
Les fonctions press () et release () fonctionnent également de la même manière que leurs fonctions correspondantes dans la bibliothèque de la souris. Cependant, l'utilisateur peut spécifier quelle touche est enfoncée ou relâchée en passant un argument de caractère.
Keyboard.print ()
La fonction print () est utilisée pour envoyer des frappes sur l'ordinateur. En tant que paramètres, la fonction accepte les caractères. Les caractères peuvent être passés un à un ou sous forme de chaînes.
Keyboard.println ()
La fonction println () fonctionne de la même manière que la fonction print. Cependant, la fonction println () effectue toujours un retour à la ligne et commence une nouvelle ligne à la fin des caractères imprimés.
Keyboard.releaseAll ()
La fonction releaseAll () fonctionne de la même manière que la fonction release (), mais elle libère toutes les touches enfoncées en même temps.
Keyboard.write ()
La fonction write () permet à l'utilisateur d'envoyer toute frappe sur l'ordinateur, y compris les touches autres que des caractères. Des exemples de frappes autres que des caractères incluent les touches Retour arrière, Contrôle, Alt et Fonction. La fonction write () peut accepter des arguments entiers (ASCII), caractères, hex et binaires.
Exemple de code
Cette section présentera et expliquera (à l'aide de commentaires) un exemple de programme qui utilise les bibliothèques de clavier et de souris.
// Initialise les broches analogiques de l'Arduino et les affecte à une touche du clavier correspondante
const int upButton = 2;
const int downButton = 3;
const int leftButton = 4;
const int rightButton = 5;
const int mouseButton = 6;

void setup()
{
// désigne les broches analogiques comme entrées
pinMode (upButton, INPUT);
pinMode (bouton vers le bas, INPUT);
pinMode (leftButton, INPUT);
pinMode (rightButton, INPUT);
pinMode (mouseButton, INPUT);
Serial.begin (9600);
// initialise les bibliothèques de souris et de clavier
Mouse.begin ();
Keyboard.begin ();
}
boucle vide ()
{
// Ordonne à l'Arduino d'utiliser le port série pour le contrôle de la souris
if (Serial.available ()> 0)
{
char inChar = Serial.read ();
commutateur (inChar)
{
// Les cas suivants déplacent le curseur de la souris en fonction des données stockées dans la casse de variable inChar 'u':
Mouse.move (0, -40);
Pause;
cas 'd':
Mouse.move (0, 40);
Pause;
cas 'l':
Mouse.move (-40, 0);
Pause;
case 'r':
Mouse.move (40, 0);
Pause;
cas 'm':
Mouse.click (MOUSE_LEFT);
Pause;
}
} // Les touches sont émulées lorsque la broche d'entrée analogique choisie affiche une valeur élevée.
if (digitalRead (upButton) == HIGH)
{
Keyboard.write ('u');
}
if (digitalRead (downButton) == HIGH)
{
Keyboard.write ('d');
}
if (digitalRead (leftButton) == HIGH)
{
Keyboard.write ('l');
}
if (digitalRead (rightButton) == HIGH)
{
Keyboard.write ('r');
}
if (digitalRead (mouseButton) == HIGH)
{
Keyboard.write ('m');
}
}