Affichage du résultat de la mesure de 3 voies analogiques sous forme graphique dans une interface Processing.Par X. HINAULT - Page créée le : 27/8/2011. (cliquer sur l'image pour agrandir) On this page... (hide) 1. Présentation
Ce programme utilise les fonctionnalités suivantes :
Ressources utiles associées à ce programme :
2. Matériel Nécessaire2.1 L'espace de développement Arduino
![]() 2.2 Le matériel suivant pour réaliser le montage associé
![]()
![]()
![]() ![]() 3. Instructions de montage
4. Le schéma théorique du montageLe schéma théorique du montage (cliquer pour agrandir) 5. Le circuit du montageLe schéma du montage à réaliser (cliquer pour agrandir) 6. Explication du programme
7. Mise en oeuvre du programme7.1 Préparation du montage et programmation de la carte Arduino :
7.2 Fonctionnement
8. Le programme complet en langage ArduinoA copier/coller directement dans l'éditeur Arduino // --- Programme Arduino --- // Trame de code générée par le générateur de code Arduino // du site www.mon-club-elec.fr // Auteur du Programme : X. HINAULT - Tous droits réservés // Programme écrit le : 27/8/2011. // ------- Licence du code de ce programme ----- // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, // or any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. // //////////////////// PRESENTATION DU PROGRAMME //////////////////// // -------- Que fait ce programme ? --------- /* * On réalise une mesure analogique sur 3 voies * Le résultat est affiché sur le PC sous forme graphique dans une interface oscillo-multivoies */ // --- Fonctionnalités utilisées --- // Utilise la connexion série matérielle vers le PC // Utilise / fonctionne avec une interface Processing coté PC // Utilise la conversion analogique numérique 10 bits // -------- Circuit à réaliser --------- // La connexion série matérielle vers le PC utilise les broches 0 et 1 (via le câble USB) // Broche 14 : La sortie d'une résistance variable connectée entre le 0V et le 5V // Broche 15 : La sortie d'une résistance variable connectée entre le 0V et le 5V // Broche 16 : La sortie d'une résistance variable connectée entre le 0V et le 5V // /////////////////////////////// 1. Entête déclarative /////////////////////// // A ce niveau sont déclarées les librairies incluses, les constantes, les variables, les objets utiles... // --- Déclaration des constantes --- // --- Inclusion des librairies --- // --- Déclaration des constantes utiles --- // --- Déclaration des constantes des broches E/S numériques --- // --- Déclaration des constantes des broches analogiques --- const int Voie[6]={0,1,2,3,4,5}; //declaration constante de broche analogique // --- Déclaration des variables globales --- int mesure_brute=0;// Variable pour acquisition résultat brut de conversion analogique numérique float mesuref=0.0;// Variable pour calcul résultat décimal de conversion analogique numérique // --- Déclaration des objets utiles pour les fonctionnalités utilisées --- // ////////////////////////// 2. FONCTION SETUP = Code d'initialisation ////////////////////////// // La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme void setup() { // debut de la fonction setup() // --- ici instructions à exécuter 1 seule fois au démarrage du programme --- // ------- Initialisation fonctionnalités utilisées ------- Serial.begin(115200); // initialise connexion série matérielle à 115200 bauds // IMPORTANT : régler le terminal côté PC avec la même valeur de transmission // ------- Broches en sorties numériques ------- // ------- Broches en entrées numériques ------- // ------- Activation si besoin du rappel au + (pullup) des broches en entrées numériques ------- // ------- Initialisation des variables utilisées ------- // ------- Codes d'initialisation utile ------- } // fin de la fonction setup() // ******************************************************************************** ////////////////////////////////// 3. FONCTION LOOP = Boucle sans fin = coeur du programme ////////////////// // la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension void loop(){ // debut de la fonction loop() // --- ici instructions à exécuter par le programme principal --- //---- envoie sur le port série les 6 mesures sous la forme CAN=:val0:val1:val2:val3:val4:val5:=finCAN //--- les : sont utilisés comme séparateur par le programme Processing cté PC Serial.print("CAN=:"); // chaine de début for (int i=0; i<6; i++) { // défile les vois analogiques // acquisition conversion analogique-numerique (CAN) sur la voie analogique mesure_brute=analogRead(Voie[i]); // affiche valeur numerique entière ou à virgule au format décimal Serial.print(mesure_brute); Serial.print(":"); // séparateur entre les valeurs } // fin for i Serial.println("=finCAN"); // fin de la chaine + saut de ligne delay(100); // fixe une pause entre 2 mesures // plus le délai est court, plus la trace est rapide } // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin // ******************************************************************************** // ////////////////////////// FONCTIONS DE GESTION DES INTERRUPTIONS //////////////////// // ////////////////////////// AUTRES FONCTIONS DU PROGRAMME //////////////////// // ////////////////////////// Fin du programme //////////////////// 9. Le programme ProcessingOn peut utiliser l'un des programmes suivants (en réglant le nombre de voies à 3 dans le code) : |