Main
# exemple pyDuino - par X. HINAULT - www.mon-club-elec.fr
# Juin 2013 - Tous droits réservés - GPLv3
# test analogRead
# 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 --
#!/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_pcduino 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
Apprendre : Exemples

Programmer le pcDuino : 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
- un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d'accueil du pcDuino
- Langage Python (2.7) et l'IDE Pyduino ou l'éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
- ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
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, la 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
# exemple pyDuino - par X. HINAULT - www.mon-club-elec.fr
# Juin 2013 - Tous droits réservés - GPLv3
# test analogRead
# 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 --
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_pcduino 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.
