Partage
  • Partager sur Facebook
  • Partager sur Twitter

attiny 85/84

entre analogique

Sujet résolu
    12 septembre 2015 à 0:42:45

    bonjour est ce que quelqu'un peut m'aider j'ai des attiny 84 et 85 et impossible d'utiliser les entrèes analogiques je comprends pas pourquoi voici le programme

    sur un arduino nano cela marche parfaitement

    merci d'avance

    int CH1; 

    int gaz = 2;

    int ch2 = A2;

    void setup() {

    pinMode(A2,INPUT);

    pinMode(2,OUTPUT);

    }

    void loop() {

    CH1 = pulseIn(A2,HIGH, 33300);

    if(CH1 >=1000){

    digitalWrite(2,HIGH);

    delay(10);

    digitalWrite(2,LOW); //veilleuse

    delay(10);

    }

    }

    -
    Edité par gaui 12 septembre 2015 à 0:43:49

    • Partager sur Facebook
    • Partager sur Twitter
    gauix 3x
      13 septembre 2015 à 11:15:47

      Toutes les fonctions d'une arduino ne sont pas toujours disponibles ou fonctionnelles sous Attiny.

      - vérifie que A2 correspond au bon numéro de pin

      - vérifie que pulseIn fonctionne.

      • Partager sur Facebook
      • Partager sur Twitter
        13 septembre 2015 à 12:41:33

        ba en faite quand j'utilise la version avec usb ça marche

        mai quand j'utilise la puces seulement ça marche pas 

        • Partager sur Facebook
        • Partager sur Twitter
        gauix 3x
          13 septembre 2015 à 12:48:09

          je programme ma puce avec un arduino nano en isp

          -
          Edité par gaui 13 septembre 2015 à 12:48:23

          • Partager sur Facebook
          • Partager sur Twitter
          gauix 3x
            13 septembre 2015 à 14:31:42

            la puces marche bien j'ai tester d'autre programme
            • Partager sur Facebook
            • Partager sur Twitter
            gauix 3x
              14 septembre 2015 à 10:03:04

              Ah mon avis, c'est juste que A2 ne correspond pas à la bonne pin que tu teste...
              • Partager sur Facebook
              • Partager sur Twitter
                14 septembre 2015 à 17:29:53

                ba je met également sur A2 A3 je me fie a ce ci  
                • Partager sur Facebook
                • Partager sur Twitter
                gauix 3x
                  14 septembre 2015 à 19:45:59

                  Salut,

                  Je me suis penché un peu sur ce problème et après quelques recherches sur le net, j'ai découvert qu'il faudra configurer le microcontrôleur de façon à ce qu'il utilise une tension de référence pour le convertisseur analogique/numérique. Trois choix s'offrent à toi : DEFAULT qui utilise la tension VCC (5V si je ne me trompe pas), EXTERNAL qui utilise une tension externe sur PB0 et INTERNAL qui utilise une tension interne de 1.1V ou 2.56V selon d'autres bits de configuration.

                  Essaie de placer un appel à analogReference(DEFAULT); avant ton analogRead(). Essaie déjà avec un analogRead() pour voir si ça fonctionne avant d'essayer avec pulseIn. D'ailleurs, est-ce que pulseIn utilise un pin analogique ?

                  Ressources utilisées :

                  - https://groups.google.com/forum/#!topic/xinchejian/Xn0-0CWu5P8

                  - http://electronics.stackexchange.com/questions/60237/attiny-default-aref

                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 septembre 2015 à 20:36:42

                    Teste avec pulseIn(4,HIGH, 33300); et tu verras tout de suite si ton problème vient de là.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 septembre 2015 à 20:43:39

                      ok je fait ça de suite ;) je vous redit ;)

                      encore merci de vaux réponses car j'ai chercher durant deux jours mai j'ai rien trouver du tout pour m'aider

                      merci encore ;)

                      • Partager sur Facebook
                      • Partager sur Twitter
                      gauix 3x
                        14 septembre 2015 à 20:46:52

                        du coup j’enlève mon A2 pour mettre 4 partout a la place ?

                        -
                        Edité par gaui 14 septembre 2015 à 20:48:06

                        • Partager sur Facebook
                        • Partager sur Twitter
                        gauix 3x
                          15 septembre 2015 à 10:50:04

                          Oui

                          Par contre, si je puis faire une petite remarque : pourquoi nous demander alors qu'il suffit de tester (ça prend 30s?).

                          -
                          Edité par lifaon74 15 septembre 2015 à 10:50:41

                          • Partager sur Facebook
                          • Partager sur Twitter
                            15 septembre 2015 à 12:55:58

                            c'est ce que j'ai fait et ça fait surchauffer l'attiny donc marche pas ^^

                            ci je re mai A3 il ne chauffe plus 

                            • Partager sur Facebook
                            • Partager sur Twitter
                            gauix 3x
                              15 septembre 2015 à 13:43:32

                              le même que en haut de cette pages

                              quand je mai 4 a la place de A3 l'attiny chauffe directe et quand je re mais A3 il reste normale 

                              • Partager sur Facebook
                              • Partager sur Twitter
                              gauix 3x
                                15 septembre 2015 à 15:56:08

                                J'ai lu la documentation de pulseIn et apparemment, elle mesure le temps qu'il faut pour une entrée pour passer de HIGH à LOW, ou inversement selon le second argument qu'on lui passe. Du coup je ne pense pas que ça ait une relation avec l'utilisation des entrées/sorties analogiques. Je pense qu'elle utilise plutôt les interruptions et les timers, à moins que je ne me trompe ?

                                Essaie par exemple avec le code suivant :

                                #define PULSE_PIN 4
                                #define VEILLEUSE 2
                                unsigned long CH1;
                                int gaz = 2;
                                
                                void setup() {
                                    pinMode(PULSE_PIN, INPUT);
                                    pinMode(VEILLEUSE, OUTPUT);
                                }
                                
                                void loop() {
                                    CH1 = pulseIn(PULSE_PIN, HIGH, 33300);
                                    if(CH1 >=1000UL){
                                        digitalWrite(VEILLEUSE, HIGH);
                                        delay(10);
                                        digitalWrite(VEILLEUSE, LOW); //veilleuse
                                        delay(10);
                                    }
                                }


                                En prenant soin de brancher l'entrée au pin 3 (qui correspond à D4, A2 et PB4) du microcontrôleur et la sortie (veilleuse) au pin 7 qui, à son tour, correspond à PB2, D2 et A1.

                                -
                                Edité par Scroph 15 septembre 2015 à 15:57:28

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  15 septembre 2015 à 19:14:50

                                  je teste cela dans la soirèe je te redit

                                  encore merci 

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  gauix 3x
                                    15 septembre 2015 à 20:05:07

                                    Houla, si ça chauffe c'est que tu as surement branché tout cela n'importe comment...

                                    De plus, il ne devrait pas y avoir de différences entre A2 et 4. Es-tu seulement sûr que tu as les bonnes lib pour ton Attiny ?

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      15 septembre 2015 à 21:38:34

                                      les branchement son bien fait et tout et sur une platine fix déjà souder tout et au bonne endroit car comme je dit j'ai deja tester avec un simple blink sur tout les broche ne même temps et tout marche très bien et ça ne chauffe pas ;)

                                      je vais voir pour trouver un autre bootoader sur internet car je pence que ça viens de cela car ça marche sur la version de sparkfun donc y a pas de raison ;)

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      gauix 3x
                                        15 septembre 2015 à 22:06:05

                                        donc ça marche c'étais bien le bootoader mai également pin 4 et non A2 et 3 au lieux de A3 donc les deux réuni j’étais pas près de faire marcher ça --' 

                                        encore merci a vous !! ;)

                                        merci beaucoup !!

                                        -
                                        Edité par gaui 16 septembre 2015 à 13:22:33

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        gauix 3x

                                        attiny 85/84

                                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                        • Editeur
                                        • Markdown