Skyduino:~#
Articles
arduino, Corrigé, programmation

[Arduino/AVR] Mesurer la tension réel en +VCC

Le contenu de cet article a été entièrement réécrit et mis à jour sur le site Carnet du Maker.

Liens vers les nouveaux articles :

N.B. Les commentaires de l’article ont été pris en compte lors de la rédaction des nouveaux articles 😉

Advertisements

Discussion

6 réflexions sur “[Arduino/AVR] Mesurer la tension réel en +VCC

  1. Bonjour, je suis entrain de faire un projet en arduino qui fonctionne sur batterie (carte Uno rev3).
    Est ce que c’est possible d’afficher la tension d’alimentation sur un écran LCD (deja présent dans mon appareil)?

    Publié par Théo | 16 février 2014, 20 h 40 min
  2. La batterie est une pile 9volts, j’avais oublié de préciser…

    Publié par Théo | 16 février 2014, 20 h 42 min
  3. Bonjour, j’ai copier/coller le code de l’article, et je n’obtient pas du tout le même résultat.
    J’obtient des valeurs qui oscillent entre 1.1010763645 et 1125.3000488281

    je ne pense pas qu’on mon arduino soit alimenter avec du 1.10v puis avec du 1125v

    Une idée ?

    Publié par alex | 10 décembre 2015, 19 h 26 min
  4. Bon je viens de tester avec un arduino uno, et la j’ai bien des valeurs qui semble mieux corresponde (4.97 a 5), mon précédent test était réaliser avec un pro micro

    Publié par alex | 11 décembre 2015, 12 h 43 min
    • La pro micro utilise un microcontrôleur ATmega328p ou un ATmega32U4 ? Parce que le code de l’article n’est conçu QUE pour l’ATmega328p.

      Publié par Skywodd | 25 décembre 2015, 17 h 33 min
      • Elle utilise le ATmega32U4 en effet, j’ai finalement trouver un bout de code qui correspond:

        long readVcc() {
        long result;
        // Read 1.1V reference against AVcc
        //ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
        //Pour MEGA32u4
        ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
        delay(2); // Wait for Vref to settle
        ADCSRA |= _BV(ADSC); // Convert
        while (bit_is_set(ADCSRA,ADSC));
        result = ADCL;
        result |= ADCH<<8;
        result = 1126400L / result; // Back-calculate AVcc in mV
        return result;
        }

        void setup() {
        Serial.begin(9600);
        Serial.println('Test voltqage vcc');
        }

        void loop() {
        Serial.println( readVcc(), DEC );
        delay(1000);
        }

        Publié par malex3979 | 26 décembre 2015, 10 h 31 min

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.