Version 4 (modified by 9 years ago) (diff) | ,
---|
Arduino
Objectif
L'objectif de ce TME est de vous familiariser avec l'environnement Arduino. Vous allez donc utiliser des cartes Arduino et y programmer des petites applications. Ces applications sont simples, mais je vous suggère de les complexifier en leur ajoutant des fonctions.
Pour cette semaine, nous n'allons pas utiliser vraiment voir l'aspect objet d'Arduino. Ce sera vu la semaine prochaine lorsque nous utiliserons les modules RF Nordic.
Environnement
Il existe beaucoup d'excellents tutoriels sur l’Arduino, et il ne s'agit pas ici de remplacer par un tutoriel simplifié. Si l’Arduino vous intéresse au-delà de ce que nous allons brièvement aborder, vous pouvez commencer par l'excellent tutoriel d'Eskimon.
Pour aujourd'hui, il s'agit juste d'une prise en main.
L'application Arduino est déjà installée sur les machines du département, pour la lancer, il suffit de taper son nom sur un terminal :
$ arduino &
La fenêtre d'édition apparait. Elle va permettre d'éditer, de compiler et de téléverser (upload) votre programme dans le microcontrôleur ATmega. Vous allez devoir commencer par sélectionner la carte et le port de connexion (menu outils).
- carte : Arduino nano 328p
- port : /dev/ttyUSB0
Le port n'apparait que lorsque vous connectez la carte. L’hôte USB détecte et reconnaît la carte au moment de sa connexion et installe le driver (maintenant vous savez comment :-).
Travail demandé
Vous allez devoir programmer en C (C++) en utilisant l'API Arduino proposé de base. Vous allez voir que c'est vraiment très bien pensé. Le tutoriaux ne vous serons pas utile ici, mais il faut quand même un aide-mémoire.
- faire clignoter une LED 13 (exemple blink)
- Lire le port analogique A0, sur lequel est branché un détecteur sonore et allumer la LED 13 si le niveau sonore est au-dessus d'un seuil.
- Utiliser le détecteur pour simuler le comportement d'une serrure codée. Le détecteur se comporte un peu comme un bouton poussoir, et je vous demande de proposer un code secret (claquement de doigts) pour allumer une LED.