Partage
  • Partager sur Facebook
  • Partager sur Twitter

[électronique/arduino]Nombreuse questions

(8 - 5 + 1)

    2 mai 2012 à 22:02:50

    Bonjour, pour ne pas flooder, j'ai décider de mettre toute mes question en un seul topic, :)
    sans tarder, mes questions :
    ÉLECTRONIQUE :
    • Comment connaitre la valeur d'un condo variable ? --impossible sans capacimètre
    • Comment connaitre la valeur d'un condo CMS ? --impossible sans capacimètre
    • Comment dessouder un CMS (il y a t-il une possibilité de brûler un transistors CMS avec un fer de 30W 230V ?) -- ok
    • Comment transformer proportionnellement un max 4,7V en max 1,999V ? -- ok
    • J'ai un afficheur comme ça, il me dise de l'alimenter avec 3V, ça ne marche pas ; je me suis trompé où il est mort ? -- en court
    • J'ai aussi un afficheur du HT-XA100, est-ce quelqu'un à des précisions dessus ? -- abandonné

    ARDUINO :
    • J'aimerais avoir un logiciel qui entre en contact avec le port série, comme celui de l'arduino, vous connaissez ? -- ok
    • J'ai essayer de faire le IRrecord de la librairie IRremote, sa reçois mes signaux, les envoie bien, mais la télé ne détecte rien :/ -- en court
    • J'ai une alim. 17V 750mA, est-ce que elle peut aller sur l'arduino sans abimer le régulateur ? (je sais qu'on peut mettre de 6 à 20V, mais j'ai vu qq part que le régulateur n'aimait pas trop). -- ok

    J’espère avoir été lisible (et compréhensible) merci de votre aide :)

    EDIT : mise au point
    Rajout de questions
    • Partager sur Facebook
    • Partager sur Twitter
    2b||!2b   sqrt(4b²)
      2 mai 2012 à 23:08:24

      Je vais essayer de répondre dans l'ordre à ce que je peux...

      Électronique :

      1/ Avec un capacimètre, mais je sais pas si c'est vraiment ca que tu veux...
      2/ Comme le port salut, c'est marqué dessus ! Les deux premiers digits sont la valeur à lire comme ceci : 47 -> 4,7 , 33 -> 3,3 puis ensuite le troisième chiffre c'est la puissance de 10 par laquelle tout multiplié.
      3/ Tu enlèves le plus gros avec de la tresse à dessouder. Ensuite, tu chauffes un coté et le soulève avec une pince puis ensuite tu tires avec ta pince sur le composant en chauffant l'autre coté pour finir de dessouder.
      4/ Avec un ampli-op en montage amplificateur. (ou même avec des transistors je pense mais j'aime pas les transistors)
      5/ L'alimenté c'est bien mais tu as bien mis des résistances de limitations de courant et vérifier si c'est cathode ou anode commune ? (j'ai pas regardé particulièrement la doc.)
      6/ Ton lien envoie sur du système Hi-Fi, je sais donc pas de quoi tu veux parler.

      Arduino :

      1/ Au choix, HyperTerminal (sous Win XP), ou Putty sous tous les OS, ou sinon tu écris ton propre logiciel (tuto en validation ^^)... SInon il existe des terminaux série gratuit sur tous les OS
      2/ Tu connais la valeur des codes qu'il faut envoyer pour ta télé ? c'est signaux sont codé pour éviter que la télécommande de la chaine hifi embrouille la télé et vice versa par exemple. Donc on ne peut pas envoyer n'importe quoi !

      Bon courage !
      • Partager sur Facebook
      • Partager sur Twitter
        2 mai 2012 à 23:15:16

        1/ non, j'en ais pas :/
        2/ il n'y a rien de marquer !
        3/ ok, pas de risque que je brûle tout ?
        4/ tu as un schéma ?
        5/ donc c'est des LEDs ? (c'est sous vide(vacuum))
        6/ c'est ça, c'est l'afficheur de la chaine Hi-Fi

        1/je vais voir J'ai vus :

        Citation : 01net

        PuTTY est un programme permettant de se connecter à distance à des serveurs en utilisant les protocoles SSH, Telnet ou Rlogin.

        Tu parle de sa ?
        ba pas moi X)
        plus sérieusement, je comprend pas trop, avec sa on peut communiquer avec le port série ?

        J'ai rien dit, c'est cool, merci :)
        2/je te donne le code :
        /*
         * IRrecord: record and play back IR signals as a minimal 
         * An IR detector/demodulator must be connected to the input RECV_PIN.
         * An IR LED must be connected to the output PWM pin 3.
         * A button must be connected to the input BUTTON_PIN; this is the
         * send button.
         * A visible LED can be connected to STATUS_PIN to provide status.
         *
         * The logic is:
         * If the button is pressed, send the IR code.
         * If an IR code is received, record it.
         *
         * Version 0.11 September, 2009
         * Copyright 2009 Ken Shirriff
         * http://arcfn.com
         */
        
        #include <IRremote.h>
        
        int RECV_PIN = 11;
        int BUTTON_PIN = 12;
        int STATUS_PIN = 13;
        
        IRrecv irrecv(RECV_PIN);
        IRsend irsend;
        
        decode_results results;
        
        void setup()
        {
          Serial.begin(9600);
          irrecv.enableIRIn(); // Start the receiver
          pinMode(BUTTON_PIN, INPUT);
          pinMode(STATUS_PIN, OUTPUT);
        }
        
        // Storage for the recorded code
        int codeType = -1; // The type of code
        unsigned long codeValue; // The code value if not raw
        unsigned int rawCodes[RAWBUF]; // The durations if raw
        int codeLen; // The length of the code
        int toggle = 0; // The RC5/6 toggle state
        
        // Stores the code for later playback
        // Most of this code is just logging
        void storeCode(decode_results *results) {
          codeType = results->decode_type;
          int count = results->rawlen;
          if (codeType == UNKNOWN) {
            Serial.println("Received unknown code, saving as raw");
            codeLen = results->rawlen - 1;
            // To store raw codes:
            // Drop first value (gap)
            // Convert from ticks to microseconds
            // Tweak marks shorter, and spaces longer to cancel out IR receiver distortion
            for (int i = 1; i <= codeLen; i++) {
              if (i % 2) {
                // Mark
                rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK - MARK_EXCESS;
                Serial.print(" m");
              } 
              else {
                // Space
                rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK + MARK_EXCESS;
                Serial.print(" s");
              }
              Serial.print(rawCodes[i - 1], DEC);
            }
            Serial.println("");
          }
          else {
            if (codeType == NEC) {
              Serial.print("Received NEC: ");
              if (results->value == REPEAT) {
                // Don't record a NEC repeat value as that's useless.
                Serial.println("repeat; ignoring.");
                return;
              }
            } 
            else if (codeType == SONY) {
              Serial.print("Received SONY: ");
            } 
            else if (codeType == RC5) {
              Serial.print("Received RC5: ");
            } 
            else if (codeType == RC6) {
              Serial.print("Received RC6: ");
            } 
            else {
              Serial.print("Unexpected codeType ");
              Serial.print(codeType, DEC);
              Serial.println("");
            }
            Serial.println(results->value, HEX);
            codeValue = results->value;
            codeLen = results->bits;
          }
        }
        
        void sendCode(int repeat) {
          if (codeType == NEC) {
            if (repeat) {
              irsend.sendNEC(REPEAT, codeLen);
              Serial.println("Sent NEC repeat");
            } 
            else {
              irsend.sendNEC(codeValue, codeLen);
              Serial.print("Sent NEC ");
              Serial.println(codeValue, HEX);
            }
          } 
          else if (codeType == SONY) {
            irsend.sendSony(codeValue, codeLen);
            Serial.print("Sent Sony ");
            Serial.println(codeValue, HEX);
          } 
          else if (codeType == RC5 || codeType == RC6) {
            if (!repeat) {
              // Flip the toggle bit for a new button press
              toggle = 1 - toggle;
            }
            // Put the toggle bit into the code to send
            codeValue = codeValue & ~(1 << (codeLen - 1));
            codeValue = codeValue | (toggle << (codeLen - 1));
            if (codeType == RC5) {
              Serial.print("Sent RC5 ");
              Serial.println(codeValue, HEX);
              irsend.sendRC5(codeValue, codeLen);
            } 
            else {
              irsend.sendRC6(codeValue, codeLen);
              Serial.print("Sent RC6 ");
              Serial.println(codeValue, HEX);
            }
          } 
          else if (codeType == UNKNOWN /* i.e. raw */) {
            // Assume 38 KHz
            irsend.sendRaw(rawCodes, codeLen, 38);
            Serial.println("Sent raw");
          }
        }
        
        int lastButtonState;
        
        void loop() {
          // If button pressed, send the code.
          int buttonState = digitalRead(BUTTON_PIN);
          if (lastButtonState == HIGH && buttonState == LOW) {
            Serial.println("Released");
            irrecv.enableIRIn(); // Re-enable receiver
          }
        
          if (buttonState) {
            Serial.println("Pressed, sending");
            digitalWrite(STATUS_PIN, HIGH);
            sendCode(lastButtonState == buttonState);
            digitalWrite(STATUS_PIN, LOW);
            delay(50); // Wait a bit between retransmissions
          } 
          else if (irrecv.decode(&results)) {
            digitalWrite(STATUS_PIN, HIGH);
            storeCode(&results);
            irrecv.resume(); // resume receiver
            digitalWrite(STATUS_PIN, LOW);
          }
          lastButtonState = buttonState;
        }
        


        Merci de ton aide !
        • Partager sur Facebook
        • Partager sur Twitter
        2b||!2b   sqrt(4b²)
          3 mai 2012 à 18:43:06

          Alors ce a quoi je peux répondre...

          1 et 2/ Alors on peut pas conclure sur ca valeurs, il faudrait la mettre dans un circuit RC en connaissant R, mesurer à l'oscillo la valeur de la constante de temps et en déduire C... je doute que le jeu en vaille la chandelle....

          3/ Tant que tu mets pas ton faire trop chaud et que tu te contentes de mettre la pointe sur les soudures et pas le composant lui même ca devrais aller...

          4/ Demande à google il en regorge... mots clé : Amplificteur opérationnel

          5/ J'en sais rien, j'ai pas l'afficheur sous les yeux XD (ni sa doc d'ailleur) mais en général les 7 segments c'est des LEDs...

          6/ Comment tu veux qu'on détermine l'afficheur (électronique de bas niveau) avec une fiche de présentation d'une chaine hifi ?

          re 2/ Je parlais de code dans le sens "encodage des trames IR" pas dans le sens informatique ^^
          • Partager sur Facebook
          • Partager sur Twitter
            3 mai 2012 à 22:09:25

            1/ 2/ 3/ ok
            4/ Avec un montage amplificateur inverseur :
            Image utilisateur
            et comme R1 : 50ohm et R2 21ohm, sa fait Image utilisateur
            donc Us = -0,42Ue c'est sa ?
            5/ c'est juste que sa me semble bizarre des LEDs dans du vide ...
            6/j'aurais essayer :)

            2/je te résume : j'ai la télécommande de ma TV, appuis sur un bouton, l'arduino reçois et enregistre le code, je lance la lecture du code par la LED IR, et la TV ne reçois rien :/

            EDIT: faute de frappe
            • Partager sur Facebook
            • Partager sur Twitter
            2b||!2b   sqrt(4b²)
              3 mai 2012 à 23:51:52

              Pour le montage je pense que c'est bon (je fais confiance a tes capacités de recherche google). J'aurais juste mis des résistances plus élevés (passe avec les memes valeurs mais en kOhm par exemple) question d'habitude.

              Pour ce qui est de ta télé et de la LED IR, il existe il me semble différente longueur d'onde pour l'IR aussi, et donc peut-être que cette LED la n'est pas compatible avec le récepteur de ta télé... mais j'ai un doute... je peux me tromper.
              • Partager sur Facebook
              • Partager sur Twitter
                4 mai 2012 à 0:52:55

                Citation : Eskimon

                1 et 2/ Alors on peut pas conclure sur ca valeurs, il faudrait la mettre dans un circuit RC en connaissant R, mesurer à l'oscillo la valeur de la constante de temps et en déduire C... je doute que le jeu en vaille la chandelle....

                Tu peux le faire avec un arduino. Tout dépend de la précision attendue

                Pour le montage retenu c'est un amplificateur inverseur, donc tu devrais plutôt avoir quelque chose du genre Us = -0,42Ue, à moins que tu n'utilise des résistances négatives (ça n'existe pas en composant passif).

                Tu préfèrera surement
                Image utilisateur
                Ce montage a d'ailleur l'avantage d'avoir une impédence d'entrée très élevée.

                Au fait, tes signaux vont jusque 4.7V. Tu alimente ton ampli OP comment ?
                • Partager sur Facebook
                • Partager sur Twitter
                64kB de mémoire, c'est tout ce dont j'ai besoin
                  4 mai 2012 à 17:35:04

                  Citation : Nathalya

                  donc tu devrais plutôt avoir quelque chose du genre Us = -0,42Ue


                  Faute de frappe, dsl.
                  Pour l'alimentation, je ne sais pas, je ne sais même pas quelle AOP prendre (à vrai dire je n'y avais pas pensé :honte: )

                  Pour précision : la sortie de 4.7V viendra de sa :
                  Image utilisateur
                  (montage n°26 d'ici)
                  Donc si je veux refaire ce montage sur arduino, il faudrait que je regarde le temps de charge, et après ?

                  Merci pour les réponses
                  • Partager sur Facebook
                  • Partager sur Twitter
                  2b||!2b   sqrt(4b²)
                    4 mai 2012 à 18:17:55

                    je pense que la remarque concernant l'alimentation portait surtout si c'est en 5V.

                    Si c'est le cas, il faut prendre des modèles spécifiques d'AOP dits "rail to rail", un AOP ordinaire saturerait avant d'arriver à 4.7V
                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 mai 2012 à 18:53:05

                      Je n’ai pas trop comprit ...
                      mais je vais prendre un 741, j'ai vu qu'il a des broches qui s’appellent offset, elles servent à quoi ?

                      EDIT : j'y pense, si après je met le même montage, mais avec R1=R2, sa me sortiras du 1.97Vmax, y'a t'il des inconvénients ?

                      EDIT2 :

                      Citation : Eskimon

                      ou sinon tu écris ton propre logiciel (tuto en validation ^^)


                      j'attend avec impatience ton tuto ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                      2b||!2b   sqrt(4b²)
                        5 mai 2012 à 20:47:08

                        Up et nouvelle question :
                        J'ai une alim. 17V 750mA, est-ce que elle peut aller sur l'arduino sans abimer le régulateur ? (je sais qu'on peut mettre de 6 à 20V, mais j'ai vu qq part que le régulateur n'aimait pas trop).

                        Merci de votre aide en tout cas :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                        2b||!2b   sqrt(4b²)
                          6 mai 2012 à 19:45:50

                          Tu peux oui.

                          Le truc c'est que plus tu met une tension "loin" des 5V créé par le régulateur et plus ce dernier devra travailler pour transformer la tension d'entrée en 5V. Ce travail se traduit par un dégagement de chaleur (et accessoirement une perte d'énergie car les régulateurs de ce type sont loin d'être optimal pour la conversion de tension).
                          Ce dernier point n'est pas critique quand tu fais une application depuis un transformateur (pas de batterie à déchargé par exemple)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            10 mai 2012 à 20:49:49


                            > Comment dessouder un CMS

                            2 fers à souder, un dans chaque main. Si il y a plus de 2 broches rajouter une grosse bousée de soudure pour que tout fonde en même temps, ou un bout de fil de cuivre pour conduire la chaleur. Sinon, souffleur d'air chaud (solution de luxe).

                            > Comment transformer proportionnellement un max 4,7V en max 1,999V ?

                            Diviseur de tension (2 résistances) (dépend des impédances de source et charge)

                            > J'ai un afficheur comme ça

                            C'est un VFD autrement dit ... un tube. 3V c'est pour le filament. Pour les électrodes, faut voir. Garde-le pour plus tard.

                            > il est mort ?

                            C'est quasiment indestructible (sauf si tu crames le filament...)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 juin 2012 à 0:20:20

                              Tu as quoi comme récepteur IR ? J'ai essayé avec un TSOP31233, ça n'a pas marché, par contre avec un TSOP31236 ça fonctionne. Dans les tutos que j'ai vu ils utilisent un TSOP31238.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                28 juin 2012 à 20:01:59

                                Citation : Freezix

                                Tu as quoi comme récepteur IR ? J'ai essayé avec un TSOP31233, ça n'a pas marché, par contre avec un TSOP31236 ça fonctionne. Dans les tutos que j'ai vu ils utilisent un TSOP31238.


                                La référence de mon récepteur est : RecupSurUneTV885 :lol:
                                • Partager sur Facebook
                                • Partager sur Twitter
                                2b||!2b   sqrt(4b²)
                                  28 juin 2012 à 20:05:25

                                  autrement dit, tu as un composant et tu ne sais même pas comment l'alimenter ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  64kB de mémoire, c'est tout ce dont j'ai besoin
                                    28 juin 2012 à 20:09:24

                                    Sisi, y marche nickel sur l'arduino (y'avais des marque sur le C.Imprimer, j'ai put trouver quelle patte était quoi)
                                    Bon après je suis d'accord que c'est pas top top, mais ça marche, c'est l’essentiel
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    2b||!2b   sqrt(4b²)

                                    [électronique/arduino]Nombreuse questions

                                    × 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