Formations à l'informatique et à l'électronique

Auteur : SD
Créé le : 09-04-2014

Arduino - Ports, CAN et Console

Introduction

Photo de la carte Danger Shield de Sparkfun

Cette manipulation utilisera la carte Arduino UNO associée au Shield Danger. Dans le jargon Arduino, un Shield est une carte que l'on connecte sur la carte Arduino UNO.

La photo ci-contre montre le Shield Danger.

Il existe de (très) nombreux Shield (Ethernet, WiFi, Afficheurs, Commande de moteurs, Bus CAN, GPS, GSM, Player MP3,...)

Le Shield Danger n'a pas une fonction précise, il met à disposition diverses entrées / sorties simples permettant ainsi d'appréhender facilement la programmation Arduino.

Entrées :Sorties :
  • 3 potentiomètres linéaires
  • 3 boutons poussoirs
  • 1 bouton sensitif
  • 1 capteur de luminosité (LDR)
  • 1 capteur de température analogique
  • 2 LED jaunes
  • 1 afficheur 7 segments
  • 1 Buzzer

Test du Shield Danger

Les Shield sont souvent fournis avec un programme de test. C'est le cas du Danger. Ce programme nécessite l'installation d'une bibliothèque fournie également.

L'archive contenant le programme de test et la bibliothèque est téléchargeable à cette adresse : www.sparkfun.com/products/11649 ou sur ce site : sen-louis-armand.fr/Fichiers/TP/Danger_shield_V16_CapSense.zip

Les étapes ci-dessous indique comment exécuter ce programme de démonstration sur votre carte Arduino.

Installation de la bibliothèque


Dézipper l'archive, ouvrir l'environnement de développement Arduino.

Dans le menu "Croquis", cliquer sur "Importer bibliothèque...", puis sur "Add Library..."



Sélectionner le dossier CapSense et cliquer sur "Ouvrir".

Les librairies installées de cette manière sont automatiquement stockées dans le dossier : %USERPROFILE%\Documents\Arduino\libraries

Remarque :

Sous Windows, %USERPROFILE% est une variable d'environnement. Elle représente le chemin vers le dossier personnel de l'utilisateur courant (profile utilisateur). Sur un poste Windows 7 ce dossier est en général : C:\Users\NomDeL_Utilisateur

Il est possible de visualiser toutes les variables d'environnement d'un poste en tapant la commande set dans un invite de commandes.

Exécution du programme de test

Connecter la carte Shield sur la platine Arduino UNO.

Dans l'environnement de développement Arduino, ouvrir le programme de test du Shield Danger : Danger_shield.pde

Le téléverser dans la carte Arduino Uno.

Ce programme utilise le moniteur série (console). C'est un outil très pratique pour la mise au point des programmes.

Ouvrir le moniteur série (menu "Outils" => "Moniteur série")

Vous devez obtenir l'affichage ci-contre.

Les appuis successifs sur le bouton 1 (A2/D10) font passer le programme dans ses différents états, chacun d'eux permet de tester une fonction du Shield Danger.

Faire le test des différentes entrées / sorties.

Analyser le fonctionnement du programme pour chaque état.

Remarques :

Questions sur le code

Quelle instruction permet de lire une tension (en provenance des potentiomètres, du capteur de température ou de la LDR) ?

Quelle instruction permet de lire l'état d'un bouton poussoir ?

Quelle instruction permet d'allumer ou d'éteindre une LED ?

Quelle instruction permet d'envoyer du texte vers le moniteur série ?

Modifications à faire sur le programme

Première modification

L'appui sur le bouton 1 permet de faire passer le programme dans l'état suivant. Cependant, lorsqu'on arrive au dernier état, on se retrouve bloqué dans celui-ci (bug du programme de démonstration ?).

Faire en sorte que l'appui sur le bouton 1 lorsqu'on se trouve dans le dernier état provoque le retour au premier état.

Deuxième modification

Faire en sorte que l'afficheur 7 segment affiche la valeur de l'état en cours (pour les états où il n'est pas utilisé). Pour ne pas répéter la séquence de code qui affiche une valeur sur l'afficheur, créer une fonction afin de faciliter l'écriture et la lecture du programme.

Troisième modification

Dans l'état "LIGHT_TEST", comparer la luminosité mesurée à la valeur mesurée sur le Slider 3 et allumer la D5 si la luminosité est supérieure, l'éteindre sinon.

Quatrième modification

Dans l'état "SLIDER_TEST", faire évoluer l'affichage de l'afficheur 7 segments de 0 à 9 en fonction de la position du Slider 1.

Cinquième modification

Dans l'état "SEVENSEG_TEST", faire un comptage en Hexadécimal de 0 à F.

Sixième modification

Dans l'état "BUZZER_TEST", faire une sonnerie à 2 tons. Créer une fonction à qui on passe en paramètre la fréquence du son et sa durée.

Septième modification

Video de l'exécution du programme

Cette vidéo montre le comportement du programme lorsque toutes les modifications précédentes ont été réalisées.

Articles connexes

Premiers pas avec Arduino UNO
Arduino - Capteur de température 1-Wire DS18S20
Arduino - Capteur à ultrasons SRF-05
Arduino - Serveur Web
Arduino - Carte mémoire
Arduino - GPS et Serveur WEB

Vous avez apprécié cet article ? Partagez le !

Article connexe : Premiers pas avec Arduino UNO