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 162 : Ligne 171 :  
== 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 = valeur ÷ 255 * 3.3'''
   −
'''vOut = value ÷ 255 * 3.3'''
+
Où:
 +
* 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
   −
or to find the value for a chosen voltage:
+
Pour trouver la valeur correspondant à la tension de sortie souhaitée:
   −
   value = vOut ÷ 3.3 * 255
+
   valeur_a_utiliser = vOutSouhaitée ÷ 3.3 * 255
   −
here, value is the number we write using analogWrite (). e.g. to set an output voltage of 3 volts, then:
+
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)
   −
  3 ÷ 3.3 * 255 = 232
+
Pour obtenir, par exemple, une tension de sortie à 3 volts:
   −
So we’d write analogWrite (pin, 232); to set the output volrage to 3v.
+
  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 918

modifications

Menu de navigation