View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

Programmer le pcDuino : Python simple : Entrée Analogique : Afficher le résultat d'une mesure dans la console système.

Par X. HINAULT - Juin 2013

Ce que l'on va faire ici

  • Ici, nous allons tout simplement réaliser une mesure à intervalle régulier sur la broche analogique A0 et afficher le résultat de la mesure dans la console système.
  • Noter l'utilisation de la fonction analogReadmV() de ma librairie Pyduino qui fournit d'emblée la tension en mV.

Pré-requis

Matériel nécessaire

  • une plaque d'essai pour montage sans soudures,
  • des straps,
  • une résistance variable,

Instructions de montage

  • Connecter la sortie variable de la résistance variable à la broche A2, les deux autres broches de la résistance variable étant connectées entre le 0V et le 3.3V.

Le montage à réaliser

Le fichier *.yno

Copier/coller ce code dans l'IDE Pyduino


# entete declarative

#--- setup ---
def setup():
        return # si vide

# -- fin setup --

# -- loop --
def loop():

        #voie A0
        mesure=analogRead(A0) # mesure la voie A0
        tension = mesure*2000.0/63.0 # voie A0 et A1 = 6 bits (0-63) sur plage 0-2V

        Serial.println (" Voie A0 = " + str(mesure) + " soit " + str("%.2f" % tension) + " mV." )

        #voie A2
        mesure=analogRead(A2) # mesure la voie A2
        tension = mesure*3300.0/4095.0 # voie A2 à A5 = 12 bits (0-4095) sur plage 0-3.3V

        Serial.println (" Voie A2 = " + str(mesure) + " soit " + str("%.2f" % tension) + " mV." )

        #voie A2
        mesuremV=analogReadmV(A2) # mesure la voie A2 - résultat en mV
        Serial.println("Voie A2 = " + str(mesuremV) + " mV.")

        delay(1000)# entre 2 mesures

# -- fin loop --

 

Ce code est également disponible ici :

Le fichier *.py

Copier/coller ce code dans l'éditeur Geany :


#!/usr/bin/python
# -*- coding: utf-8 -*-

# exemple pyDuino - par X. HINAULT - www.mon-club-elec.fr
# Juin 2013 - Tous droits réservés - GPLv3
# voir : https://github.com/sensor56/pyDuino

# test analogRead

from pyduino import * # importe les fonctions Arduino pour Python

# entete declarative

#--- setup ---
def setup():
        return # si vide

# -- fin setup --

# -- loop --
def loop():

        #voie A0
        mesure=analogRead(A0) # mesure la voie A0
        tension = mesure*2000.0/63.0 # voie A0 et A1 = 6 bits (0-63) sur plage 0-2V

        Serial.println (" Voie A0 = " + str(mesure) + " soit " + str("%.2f" % tension) + " mV." )

        #voie A2
        mesure=analogRead(A2) # mesure la voie A2
        tension = mesure*3300.0/4095.0 # voie A2 à A5 = 12 bits (0-4095) sur plage 0-3.3V

        Serial.println (" Voie A2 = " + str(mesure) + " soit " + str("%.2f" % tension) + " mV." )

        #voie A2
        mesuremV=analogReadmV(A2) # mesure la voie A2 - résultat en mV
        Serial.println("Voie A2 = " + str(mesuremV) + " mV.")

        delay(1000)# entre 2 mesures

# -- fin loop --

#--- obligatoire pour lancement du code --
if __name__=="__main__": # pour rendre le code executable
        setup() # appelle la fonction main
        while(1): loop() # appelle fonction loop sans fin

 

Ce code est également disponible ici : https://raw.github.com/sensor56/pyDuino/master/pcduino/exemples/1.Basics/AnalogRead.py

Utilisation

  • Réaliser le montage indiqué,
  • Appuyer sur le bouton <Exécuter> dans Geany
  • Une fenêtre de Terminal vide doit apparaître avec des messages : en modifiant la résistance variable, on doit voir varier la valeur de la mesure.