Modifications

Sauter à la navigation Sauter à la recherche
Ligne 35 : Ligne 35 :  
  <nowiki>/*
 
  <nowiki>/*
 
  * bright.c:
 
  * bright.c:
  *     Vary the Q2W LED brightness with the analog card
+
  *   Faire varier la luminosité de la LED sur la carte Q2W principale
 +
*    avec la carte analogique
 
  *
 
  *
 
  * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
 
  * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
Ligne 57 : Ligne 58 :  
   int value ;
 
   int value ;
   −
// Enable the on-goard GPIO
+
// Activation du GPIO
    
   wiringPiSetup () ;
 
   wiringPiSetup () ;
   −
// Add in the pcf8591 on the q2w board
+
// Ajouter le pcf8591 de la carte analogique q2w
    
   pcf8591Setup (Q2W_ABASE, 0x48) ;
 
   pcf8591Setup (Q2W_ABASE, 0x48) ;
   −
   printf ("Raspberry Pi - Quick2Wire Analog Test\n") ;
+
   printf ("Raspberry Pi - Quick2Wire Test Analogique\n") ;
   −
// Setup the LED
+
// Initialiser la LED (en mode PWM)
    
   pinMode  (LED, PWM_OUTPUT) ;
 
   pinMode  (LED, PWM_OUTPUT) ;
Ligne 82 : Ligne 83 :  
}</nowiki>
 
}</nowiki>
   −
This program is called bright.c and you can find it in the q2w directory under the wiringPi examples directory. You can compile and run with:
+
Ce programme s'appelle bright.c et vous pouvez le trouver dans le sous répertoire ''q2w/examples/'' (les exemples Quick2Wire) du répertoire wiringPi.  
 +
 
 +
Vous pouvez le compiler et l'exécuter avec les commandes suivantes:
    
  <nowiki>gcc -Wall -o bright bright.c -lwiringPi
 
  <nowiki>gcc -Wall -o bright bright.c -lwiringPi
Ligne 89 : Ligne 92 :  
== Calcul de la valeur analogique ==
 
== Calcul de la valeur analogique ==
   −
The analog input and output are 8-bit devices, so have a range of 0 to 255 when we read/write them. When using the normal 3.3v source as the reference voltage, then:
+
Les entrées et sorties analogiques sont des périphériques 8-bit, la gamme de valeur varie donc entre 0 et 255 lors des lectures/Ecritures analogiques.  
 +
 
 +
Lorsque l'on utilise la source normal de 3.3v comme référence de tension (dite ARef), alors:
 +
 
 +
La tension d'entrée se calcule comme suit:
   −
The input voltage is calculated as follows:
+
'''vIn = valeur * 3.3 ÷ 255'''
   −
'''vIn = value * 3.3 ÷ 255'''
+
 +
* vIn: est la tension d'entrée
 +
* valeur: est la valeur numérique lue sur le convertisseur en utilisant analogRead().  
   −
where value is the value we read from the converter using analogRead (). e.g. if we read a value of 172, then the input voltage is:
+
Par exemple, si la valeur lue est 172, alors la tension d'entée (''input voltage'' anglais) est:
    
  172 * 3.3 ÷ 255 = '''2.23 volts.'''
 
  172 * 3.3 ÷ 255 = '''2.23 volts.'''
Ligne 101 : Ligne 110 :  
== Lecture de la tension ==
 
== Lecture de la tension ==
   −
This program will read and print voltages from all 4 ports.
+
Ce programme va lire et afficher la tension des 4 canaux d'entrée.
    
  <nowiki>/*
 
  <nowiki>/*
 
  * volts.c:
 
  * volts.c:
  *      Read in all 4 analogs on the Q2W analog board.
+
  *      Lecture des 4 entrées analogique sur la carte analogique de Q2W
 
  *
 
  *
 
  * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
 
  * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
Ligne 126 : Ligne 135 :  
   int value, pin ;
 
   int value, pin ;
   −
// Enable the on-goard GPIO
+
// Activer le GPIO de la carte
    
   wiringPiSetup () ;
 
   wiringPiSetup () ;
   −
// Add in the pcf8591 on the q2w board
+
// Ajouter le pcf8591 de la carte analogique q2w  
    
   pcf8591Setup (Q2W_ABASE, 0x48) ;
 
   pcf8591Setup (Q2W_ABASE, 0x48) ;
   −
   printf ("Raspberry Pi - Quick2Wire Voltmeter\n") ;
+
   printf ("Raspberry Pi - Quick2Wire Voltmetre\n") ;
    
   for (;;)
 
   for (;;)
Ligne 151 : Ligne 160 :  
}</nowiki>
 
}</nowiki>
   −
This program is called volts.c and you can find it in the q2w directory under the wiringPi examples directory. You can compile and run with:
+
Ce programme s'appelle volts.c et vous pouvez le trouver dans le répertoire ''q2w/examples'' dans le répertoire wiringPi.  
 +
 
 +
Vous pouvez le compiler et exécuter avec les commandes suivantes:
    
  <nowiki>gcc -Wall -o volts volts.c -lwiringPi
 
  <nowiki>gcc -Wall -o volts volts.c -lwiringPi
 
sudo ./volts</nowiki>
 
sudo ./volts</nowiki>
   −
<nowiki>Unconnected inputs will probably read a random value, but as well as the potentiometer, you could connect up an LM35 temperature sensor – then you’ll see the temperature displayed as a voltage (divided by 100)</nowiki>
+
Les entrées non connectées produirons des lectures de valeur aléatoire. Vous pouvez connecter un senseur de température LM35 (comme pour le potentiomètre) et vous verriez alos la température s'afficher comme une tension (divisé par 100)</nowiki>
    
== Sortie analogique ==
 
== Sortie analogique ==
   −
The easiest way to test the analog output is to connect a voltmeter (DVM) to it and set some values manually using the '''gpio''' command.
+
La manière la plus simple de tester une sortie analogique est de connecter un voltmètre (position tension continu) dessus et d'utiliser la commande '''gpio''' pour fixer arbitrairement la valeur de la tension de sortie.
    
  <nowiki>gpio -x pcf8591:120:0x48 awrite 120 127</nowiki>
 
  <nowiki>gpio -x pcf8591:120:0x48 awrite 120 127</nowiki>
   −
should set it to the mid-value, so a voltmeter connected to the output pin should read 1.65 volts. On my board it’s reading 1.63 volts – close enough!
+
La commande ci-dessus devrait fixer la tension de sortie à mi-valeur. Un voltmètre connecté sur la sortie devrait donc indiqué une tension de 1.65 volts (une une valeur très proche comme 1.63 volts par exemple, ce qui tout à fait correct!)
    
== Calcul de la sortie analogique ==
 
== Calcul de la sortie analogique ==
   −
The output voltage is:
+
LA tension de sortie se calcule comme suit:
   −
  '''vOut = value ÷ 255 * 3.3'''
+
  '''vOut = valeur ÷ 255 * 3.3'''
   −
or to find the value for a chosen voltage:
+
:
 +
* vOut: est la tension de sortie
 +
* valeur: est une valeur entre 0 et 255 (donc 8 bits) indiquant la tension de sortie désirée
   −
  value = vOut ÷ 3.3 * 255
+
Pour trouver la valeur correspondant à la tension de sortie souhaitée:
   −
here, value is the number we write using analogWrite (). e.g. to set an output voltage of 3 volts, then:
+
  valeur_a_utiliser = vOutSouhaitée ÷ 3.3 * 255
   −
  3 ÷ 3.3 * 255 = 232
+
Où:
 +
* valeur_a_utiliser: est la valeur entre 0 et 255 correspondant à la tension de sortie désirée. Cette valeur est utilisée avec analogWrite ().
 +
* vOutSouhaitée: la tension de sortie souhaitée (entre 0 et 3.3v)
   −
So we’d write analogWrite (pin, 232); to set the output volrage to 3v.
+
Pour obtenir, par exemple, une tension de sortie à 3 volts:
 +
 
 +
  valeur_a_utiliser = vOutSouhaitée ÷ 3.3 * 255
 +
  valeur_a_utiliser = 3 ÷ 3.3 * 255
 +
  valeur_a_utiliser = 232
 +
 
 +
Il ne reste plus qu'à écrire la valeur en utilisant la fonction ''analogWrite(pin, 232);'' ou la commande ''gpio -x pcf8591:120:0x48 awrite 120 232'' pour fixer la tension de sortie à 3v.
    
== Conclusion ==
 
== Conclusion ==
   −
The analog IO board provides a useful addition to the Quick2Wire system and can be used to read a variety of sensors from simple resistive light dependant resistors to analog temperature sensors – simple joystick inputs and so on. The analog output could be used to generate simple waveforms on an oscilloscope or for analog control (via suitable buffer/amplifiers) of motors, lights and so on.
+
La carte d'entrée/sortie analogique est vraiment une ajout utile au système Quick2Wire et peut être utilisé pour une variété de senseur analogiques comme:
 +
* [http://mchobby.be/PrestaShop/product.php?id_product=58 photorésistance] (LDR),
 +
* un senseur de température analogique ([http://mchobby.be/PrestaShop/product.php?id_product=59 TMP36] ou LM35),
 +
* un simple [http://mchobby.be/PrestaShop/product.php?id_product=126 joystick analogique],
 +
* un [http://mchobby.be/PrestaShop/product.php?id_product=111 Flex senseu],
 +
* etc.
 +
 
 +
La sortie analogique peut être utilisée pour générer une onde sur un oscilloscope ou le contrôle analogique de moteurs, lumière, etc (par l’intermédiaire d'un amplificateur approprié).
   −
It’s not the fastest of systems the maximum sampling speed is going to be about 2000 samples/second and output update speed about double that. Not quite good enough for audio at those speeds but should be more than adequate to read various analog sensors and so on.
+
Ce n'est pas le système le plus rapide la vitesse d’échantillonnage maximum se situant aux alentour de 2000 échantillons/seconde et une vitesse de mise-à-jour de la tension de sortie d'environ 4000 valeurs/seconde.  
    +
Ce n'est certes pas suffisant pour de l'audio mais à cette vitesse devrait être plus appropriée pour la lecture de plusieurs senseurs analogiques.
    
{{Pi-WiringPi-TRAILER}}
 
{{Pi-WiringPi-TRAILER}}
29 922

modifications

Menu de navigation