Arduino Forum

International => Français => Topic started by: mahegate on May 04, 2018, 06:22 am

Title: Valeur analogique
Post by: mahegate on May 04, 2018, 06:22 am
Bonjour!
Je chercher à lire la valeur d'une entrée analogique plus rapidement que "analogRead()" comme directement manipuler les PIN. (Je suis sur arduino UNO)
Est-ce que ça existe?
Merci de me répondre.
Title: Re: Valeur analogique
Post by: lesept on May 04, 2018, 07:41 am
Tu peux lire ceci (http://forum.arduino.cc/index.php?topic=43169.0), ça te donnera peut-être une piste. D'après ce que je comprends, c'est plus facile à faire pour des données digitales qu'analogiques (voir port manipulation (https://www.arduino.cc/en/Reference/PortManipulation)).
Title: Re: Valeur analogique
Post by: hbachetti on May 04, 2018, 08:37 am
Salut

Attendu qu'en général le logiciel est obligé d'attendre que l'ADC ait fini sa conversion, le passage par l'écriture / lecture directe dans les registres ne fera que reproduire ce que fait déjà la librairie de base.

Tout dépend de ce que l'on veut obtenir.
Si c'est libérer du CPU pour faire autre chose, on peut utiliser les interruptions, mais cela ne rendra pas la mesure disponible plus rapidement.

Possible de trouver de l'inspiration ICI (http://www.gammon.com.au/adc).

@+
Title: Re: Valeur analogique
Post by: 3Sigma on May 04, 2018, 08:45 am
Bonjour,

Rien qu'en faisant ça dans le setup, tu vas aller beaucoup plus vite dans tes mesures analogiques:

Code: [Select]

    // Modification du prescaler de l'ADC: division par 8 de la fréquence du micro-contrôleur
    // au lieu de 128 par défaut, pour diminuer le temps entre deux mesures analogiques
    bitClear(ADCSRA, ADPS2);
    bitSet(ADCSRA, ADPS1);
    bitSet(ADCSRA, ADPS0);
Title: Re: Valeur analogique
Post by: _pepe_ on May 04, 2018, 11:15 am
Supprimé
Title: Re: Valeur analogique
Post by: 68tjs on May 04, 2018, 12:26 pm
Ce qui est certain c'est que les réglages faits par les fonctions arduino sont ultra conservateurs et n'ont absolument la performance pour objet principal mais la sécurité.

La fréquence max d'échantillonnage dépend en priorité de l'impédance de la source à mesurer.
C'est du au principe du convertisseur (charge de capacité interne).
Avec une source d'impédance nulle la fréquence max peut être utilisée, avec une source d'impédance quelquonque le mieux est de tester en comparant les résultats obtenus avec différentes fréquences.

Tous les détails sont donnés dans la datasheet et plein d'autres encore comme la première conversion qui est plus longue que les suivantes, que bien souvent il ne faut pas garder la première conversion, etc,   etc

LIRE LA DATASHEET c'est la première et la principale source d'information.
Title: Re: Valeur analogique
Post by: mahegate on May 04, 2018, 05:16 pm
Merci à vous. Je vais voir tous vos conseilles et après je vous dirais le résultat.
:)