Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
694 connectés 

 



 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  247  248  249  250  251  252
Auteur Sujet :

[arduino] Topic Unique blabla @ Arduino

n°393388
rat de com​bat
attention rongeur méchant!
Posté le 16-01-2023 à 14:22:57  profilanswer
 

Reprise du message précédent :
Un simple galvanomètre analogique y'a pas besoin d'asservissement... Tu prend un truc qui mesure 5V, du coup 0V=à gauche et 5V=à droite. :o PWM bien filtré, ça fera le boulot. Ou un truc qui mesure des µA et tu ajustes le courant ou ... Par contre ces bestioles sont un poil sensibles au niveau mécanique et surcharge. Si on est doué on peut même démonter et changer le bout de carton/métall avec les graduations.

mood
Publicité
Posté le 16-01-2023 à 14:22:57  profilanswer
 

n°393389
rat de com​bat
attention rongeur méchant!
Posté le 16-01-2023 à 14:24:33  profilanswer
 

froggycorp a écrit :

C'est pour économiser les batteries et utiliser un voltage faible

Ok. (Par contre "voltage" c'est tension en français :o ) Je connais que les nRF24, du coup je me tais. :o


---------------
à vendre: ampli audio Rotel RB-980BX 200€ (MP 86) - alims PC portables (envoi ok)
n°393398
froggycorp
Posté le 16-01-2023 à 15:37:49  profilanswer
 

Je parle bien de tension faible :D
Les rfm69 discutent bien entre eux, reste à faire un choix technologique. J'aurais bien aimé que quelqu'un ait déjà testé ces modules
Par contre avec la lib mysensors ils discutent beaucoup trop à mon sens. Pour une bonne fiabilité des échanges cela se comprend mais si je veux juste envoyer un message court genre la température sans ping, sans retour de réception, cela fait beaucoup de consommation.

Message cité 1 fois
Message édité par froggycorp le 16-01-2023 à 15:38:59
n°393406
rat de com​bat
attention rongeur méchant!
Posté le 16-01-2023 à 16:11:39  profilanswer
 

froggycorp a écrit :

Par contre avec la lib mysensors ils discutent beaucoup trop à mon sens. Pour une bonne fiabilité des échanges cela se comprend mais si je veux juste envoyer un message court genre la température sans ping, sans retour de réception, cela fait beaucoup de consommation.

Dans le jargon réseau ça serait l'équivalent du UDP vs le TCP. Ca peut pas se configurer dans la lib?
 
Sinon tu as fait une recherche dans (l'énorme) sujet domotique, peut-être ça parle DIY aussi? Ou dans le forum eevblog ou simplement "tout" internet?


---------------
à vendre: ampli audio Rotel RB-980BX 200€ (MP 86) - alims PC portables (envoi ok)
n°393412
froggycorp
Posté le 16-01-2023 à 16:48:26  profilanswer
 

Pour l'instant j'ai pas regardé en détails, il faut que je me plonge dedans.
J'ai fait une recherche google et il n'y a rien sur HFR sur le RFM69 ou RFM95. Ce qui parait étonnant car cela a l'air assez courant


Message édité par froggycorp le 16-01-2023 à 16:50:56
n°394006
blum95
PSN ID: blum95
Posté le 23-01-2023 à 10:24:27  profilanswer
 

Bonjour je souhaite utiliser une télécommande IR pour piloter des servo.
 
J'ai donc téléversé le code pour récupérer via le moniteur série les codes de mes touches, mais ça m'affiche que des FFFFFFFF.
J'ai lu que c'était lors d'appuies répétés sur la même touche mais c'est pas le cas et ça me fait ça avec 4 télécommandes différentes. De temps en temps j'arrive a récupérer un code mais il ne fonctionne pas dans mon utilisation.
 
Une idée?
 
Merci


---------------
|
n°394008
crazytiti
http://crazytiti.free.fr/
Posté le 23-01-2023 à 11:07:15  profilanswer
 

Salut, détail un peut plus ton montage (type d'arduino, récepteur IR, code ...)


---------------
Le PC est une drogue...
n°394009
blum95
PSN ID: blum95
Posté le 23-01-2023 à 11:18:39  profilanswer
 

Ca provient du kit elegoo:
https://www.elegoo.com/collections/ [...] tarter-kit
 
Pour le code c'est ça:

Code :
  1. /* Finding the key codes for your remote. More info: https://www.makerguides.com */
  2. #include <IRremote.h> // include the IRremote library
  3. #define RECEIVER_PIN 2 // define the IR receiver pin
  4. IRrecv receiver(RECEIVER_PIN); // create a receiver object of the IRrecv class
  5. decode_results results; // create a results object of the decode_results class
  6. void setup() {
  7. Serial.begin(9600); // begin serial communication with a baud rate of 9600
  8. receiver.enableIRIn(); // enable the receiver
  9. receiver.blink13(true); // enable blinking of the built-in LED when an IR signal is received
  10. }
  11. void loop() {
  12. if (receiver.decode(&results)) { // decode the received signal and store it in results
  13. Serial.println(results.value, HEX); // print the values in the Serial Monitor
  14. receiver.resume(); // reset the receiver for the next code
  15. }
  16. }


---------------
|
n°394015
crazytiti
http://crazytiti.free.fr/
Posté le 23-01-2023 à 12:47:12  profilanswer
 

Donc tu utilise le kit, le code qui va avec et avec 3 telco différentes ça ne fonctionne pas ?
Ben mince alors, à part te dire de vérifier tous les branchements je n'ai pas d'idée.
Sinon faudrait un oscillo pour vérifier le fonctionnement du récepteur IR mais j'imagine que tu n'a pas ça en stock.


---------------
Le PC est une drogue...
n°394021
blum95
PSN ID: blum95
Posté le 23-01-2023 à 13:43:33  profilanswer
 

Je vois bien la réception de code dans le moniteur série mais c'est FFFFFFF


---------------
|
mood
Publicité
Posté le 23-01-2023 à 13:43:33  profilanswer
 

n°394035
crazytiti
http://crazytiti.free.fr/
Posté le 23-01-2023 à 14:54:45  profilanswer
 

Et tu a bien la la led qui clignote quand ça reçoit ?


---------------
Le PC est une drogue...
n°394036
blum95
PSN ID: blum95
Posté le 23-01-2023 à 15:07:45  profilanswer
 

oui oui


---------------
|
n°394043
rat de com​bat
attention rongeur méchant!
Posté le 23-01-2023 à 17:09:07  profilanswer
 

Deux choses:
-La mise en page du code laisse à désirer, mais c'est peut-être le forum...
-Au pif: receiver.enableIRIn ne prend pas un argument "true" par hasard?

 

Sinon pas besoin de scope vu que c'est du numérique et lent, un analyseur logique à 10€ ("24 MHz logic analyser" sur le site de vente de votre choix) avec la suite logicielle FOSS Sigrok devrait suffir. :jap:

Message cité 1 fois
Message édité par rat de combat le 23-01-2023 à 17:09:32

---------------
à vendre: ampli audio Rotel RB-980BX 200€ (MP 86) - alims PC portables (envoi ok)
n°394045
blum95
PSN ID: blum95
Posté le 23-01-2023 à 17:11:38  profilanswer
 

rat de combat a écrit :

Deux choses:
-La mise en page du code laisse à désirer, mais c'est peut-être le forum...
-Au pif: receiver.enableIRIn ne prend pas un argument "true" par hasard?

 

Sinon pas besoin de scope vu que c'est du numérique et lent, un analyseur logique à 10€ ("24 MHz logic analyser" sur le site de vente de votre choix) avec la suite logicielle FOSS Sigrok devrait suffir. :jap:

 

Aucune idée. Comment savoir ?


---------------
|
n°394046
rat de com​bat
attention rongeur méchant!
Posté le 23-01-2023 à 17:12:33  profilanswer
 

RTFM :o :o


---------------
à vendre: ampli audio Rotel RB-980BX 200€ (MP 86) - alims PC portables (envoi ok)
n°394052
Lt Ripley
Gouverne ment ? Comédie !
Posté le 23-01-2023 à 17:42:01  profilanswer
 

Il vient d'où le code ?  
 
Fous un petit delay(200) dans la loop après le println pour voir (a virer direct si ça donne rien)


---------------
Mes apps  |  Viens coder  |  Mon topal de vente
n°394053
crazytiti
http://crazytiti.free.fr/
Posté le 23-01-2023 à 17:42:05  profilanswer
 

Donc que je disais "le code qui av avec" je pensais que c'était un exemple tout pret garantit fonctionnel.
Est-ce toi qui a écrit le code ?


---------------
Le PC est une drogue...
n°394078
blum95
PSN ID: blum95
Posté le 23-01-2023 à 20:38:04  profilanswer
 

Non c'est un code récupéré sur un tuto.
J'en ai même essayé plusieurs avec le même résultat.


---------------
|
n°394079
blum95
PSN ID: blum95
Posté le 23-01-2023 à 20:38:23  profilanswer
 

Lt Ripley a écrit :

Il vient d'où le code ?

 

Fous un petit delay(200) dans la loop après le println pour voir (a virer direct si ça donne rien)

 

OK je testerais demain


---------------
|
n°394130
blum95
PSN ID: blum95
Posté le 24-01-2023 à 11:02:00  profilanswer
 

Bon avec un autre code trouvé j'ai réussi à avoir des résultats:

Code :
  1. // Inclure la librairie Arduino-IRremote
  2. // Sources : https://github.com/Arduino-IRremote/Arduino-IRremote
  3. #include <IRremote.h>
  4. // Numéro de la "pin" sur laquelle est connecté le capteur infrarouge.
  5. #define IR_PIN A1
  6. // Configure l'arduino.
  7. void setup(){
  8.   // Configure le port série.
  9.   Serial.begin(9600);
  10.   // Configure la librarie IRremote.
  11.   IrReceiver.begin(IR_PIN, DISABLE_LED_FEEDBACK);
  12.  
  13. }
  14. // Boucle
  15. void loop(){
  16.   // Si on a reçu un message.
  17.   if (IrReceiver.decode()) { 
  18.       // On recupère la trame reçue.
  19.       const uint32_t trame = IrReceiver.decodedIRData.decodedRawData;
  20.       Serial.print("Trame = " );
  21.       Serial.println(trame, HEX);
  22.      
  23.       // Affiche le bouton appuyé.
  24.       boutonAppuye(trame);
  25.       // On dit à la librairie que l'on est pret à recevoir le message suivant.
  26.       IrReceiver.resume();
  27.   }
  28.  
  29. }
  30. // Affiche le bouton appuyé sur le port serie.
  31. void boutonAppuye(uint32_t trame) {
  32.   // On recupère l'identifiant de la telecommande.
  33.   // Note: on recupère les 16 premiers bits de la trames sur 32 bits.
  34.   const uint16_t identifiantTelecommande = (uint16_t) trame;
  35.   // On recupère le code du bouton pressé.
  36.   // Note: on recupère les 16 derniers bits de la trames sur 32 bits que l'on décale de 16 bits vers la droite.
  37.   const uint16_t codeBouton = (uint16_t) (trame>>16);
  38.   Serial.print("identifiantTelecommande = " );
  39.   Serial.println(identifiantTelecommande, HEX);
  40.  
  41.   Serial.print("Code bouton = " );
  42.   Serial.println(codeBouton, HEX);
  43.   // Stocke le nombre de fois que l'on a reçu la valeur 0 (bouton maintenu) suite à l'appui sur un bouton.
  44.   // Attention : variable statique, donc non remise à zero quand la fonction est appelée.
  45.   static int boutonMaintenuCompteur = 0;
  46.   // Si le code bouton est 0 (bouton maintenu).
  47.   if(codeBouton == 0) {
  48.    
  49.     // Si ce n'est pas le premier message "bouton maintenu".
  50.     if(boutonMaintenuCompteur > 0) {
  51.       // Note : on ignore le premier message car il apparait presque à chaque appui.
  52.       // On affiche "maintenu" sur le port série.
  53.       Serial.println("maintenu" );
  54.      
  55.     }
  56.     // On incrémente le compteur.
  57.     boutonMaintenuCompteur++;
  58.     Serial.print("boutonMaintenuCompteur = " );
  59.     Serial.println(boutonMaintenuCompteur, DEC);
  60.     Serial.println("" );
  61.     // On arrête la fonction maintenant.
  62.     return;
  63.    
  64.   }
  65.   else {
  66.     // On remet le compteur à 0;
  67.     boutonMaintenuCompteur = 0;
  68.    
  69.     Serial.print("boutonMaintenuCompteur = " );
  70.     Serial.println(boutonMaintenuCompteur, DEC);
  71.    
  72.   }
  73.   // Si c'est la télécommande arduino
  74.   if(identifiantTelecommande == 0xFF00) { 
  75.       // On affiche le type de télécommande.
  76.       Serial.println("Télécommande arduino" );
  77.       // Switch basé sur le code du bouton.
  78.       switch(codeBouton) {
  79.    
  80.         // Si le code bouton est 0xBA45
  81.         case 0xBA45:
  82.           // C'est le bouton "power" qui a été pressé.
  83.           Serial.println("Bouton power" );
  84.           break;
  85.          
  86.         case 0xB946:
  87.           Serial.println("Bouton Vol+" );
  88.           break;
  89.          
  90.         case 0xB847:
  91.           Serial.println("Bouton Func/Stop" );
  92.           break;
  93.          
  94.         case 0xBB44:
  95.           Serial.println("Bouton |<<" );
  96.           break;
  97.          
  98.         case 0xBF40:
  99.           Serial.println("Bouton >||" );
  100.           break;
  101.    
  102.         case 0xBC43:
  103.           Serial.println("Bouton >>|" );
  104.           break;
  105.          
  106.         case 0xF807:
  107.           Serial.println("Bouton v" );
  108.           break;
  109.    
  110.         case 0xEA15:
  111.           Serial.println("Bouton Vol-" );
  112.           break;
  113.          
  114.         case 0xF609:
  115.           Serial.println("Bouton ^" );
  116.           break;
  117.          
  118.         case 0xE916:
  119.           Serial.println("Bouton 0" );
  120.           break;
  121.          
  122.         case 0xE619:
  123.           Serial.println("Bouton EQ" );
  124.           break;
  125.          
  126.         case 0xF20D:
  127.           Serial.println("Bouton ST/REPT" );
  128.           break;
  129.          
  130.         case 0xF30C:
  131.           Serial.println("Bouton 1" );
  132.           break;
  133.          
  134.         case 0xE718:
  135.           Serial.println("Bouton 2" );
  136.           break;
  137.          
  138.         case 0xA15E:
  139.           Serial.println("Bouton 3" );
  140.           break;
  141.          
  142.         case 0xF708:
  143.           Serial.println("Bouton 4" );
  144.           break;
  145.          
  146.         case 0xE31C:
  147.           Serial.println("Bouton 5" );
  148.           break;
  149.          
  150.         case 0xA55A:
  151.           Serial.println("Bouton 6" );
  152.           break;
  153.          
  154.         case 0xBD42:
  155.           Serial.println("Bouton 7" );
  156.           break;
  157.          
  158.         case 0xAD52:
  159.           Serial.println("Bouton 8" );
  160.           break;
  161.          
  162.         case 0xB54A:
  163.           Serial.println("Bouton 9" );
  164.           break;
  165.    
  166.         // Si le code bouton n'est pas valide.
  167.         default:
  168.           Serial.println("Bouton inconnu ou erreur de transmission" );
  169.           break;
  170.       }
  171.    }
  172.    // Sinon si c'est la télécommande de TV.
  173.    else if(identifiantTelecommande == 0xFB04) {
  174.     // On affiche le type de télécommande.
  175.     Serial.println("Telecommande TV" );
  176.     // Switch basé sur le code du bouton.
  177.       switch(codeBouton) {
  178.    
  179.         // Si le code bouton est F708
  180.         case 0xF708:
  181.           // C'est le bouton "power" qui a été pressé.
  182.           Serial.println("Bouton power" );
  183.           break;
  184.         // Si le code bouton n'est pas valide.
  185.         default:
  186.           Serial.println("Bouton inconnu ou erreur de transmission" );
  187.           break;
  188.       }
  189.    
  190.    }
  191.    // Sinon.
  192.    else {
  193.         // Note : c'est une télécommande qui n'est pas supportée ou il y a une erreur de transmission.
  194.      
  195.        Serial.println("Télécommande non supportée ou erreur de transmission." );
  196.    
  197.    }
  198.    Serial.println("" );
  199.  
  200. }


 
Dans la console je vois bien le bouton appuyé par contre quand je test du coup les codes ça fonctionne pas j'ai du zappé un truc
Le code de test est:  

Code :
  1. #include "IRremote.h"
  2. IRrecv irrecv(A1);
  3. decode_results results;
  4. // broches de connexion des LED
  5. #define G 12
  6. #define R 10
  7. #define B 8
  8. // codes de signaux des boutons de la télécommande
  9. #define B1 XXXXX
  10. #define B2 YYYYY
  11. #define B3 ZZZZZ
  12. #define B4 UUUUU
  13. void setup() {
  14.    Serial.begin(9600); // ouvre le port série
  15.    irrecv.enableIRIn();
  16.    pinMode(G, OUTPUT);
  17.    pinMode(R, OUTPUT);
  18.    pinMode(B, OUTPUT);
  19. }
  20. void loop() {
  21.    if (irrecv.decode(&results)) {
  22.       Serial.println(results.value);
  23.    
  24.       if (results.value == B1) { digitalWrite(G, HIGH); }
  25.       if (results.value == B2) { digitalWrite(R, HIGH); }
  26.       if (results.value == B3) { digitalWrite(B, HIGH); }
  27.       if (results.value == B4) {
  28.          digitalWrite(G, LOW); digitalWrite(R, LOW); digitalWrite(B, LOW);
  29.         }
  30.       irrecv.resume();
  31.    }
  32. }


 
Je remplace les: XXXXX, YYYYY, ZZZZZ et UUUUU par le code du bouton au format décimal
Par exemple mon bouton me donne la trame: F30CFF00, je remplace XXXXX par 4077715200
 
 
Je suis noob...


---------------
|
n°394138
crazytiti
http://crazytiti.free.fr/
Posté le 24-01-2023 à 11:32:18  profilanswer
 

Ta l'air d'être sur la bonne piste.
Montre ce que tu reçoit sur le moniteur série stp ?


---------------
Le PC est une drogue...
n°394142
Lt Ripley
Gouverne ment ? Comédie !
Posté le 24-01-2023 à 12:42:01  profilanswer
 

Pour moi pour commencer il manque déjà ça :
 
#define IR_PIN A1
 
IrReceiver.begin(IR_PIN, DISABLE_LED_FEEDBACK);
 
const uint32_t trame = IrReceiver.decodedIRData.decodedRawData;


---------------
Mes apps  |  Viens coder  |  Mon topal de vente
n°394150
rat de com​bat
attention rongeur méchant!
Posté le 24-01-2023 à 17:48:54  profilanswer
 

Pour info, tu peux mettre des nombres hexa directement avec le préfix 0x ("zéro X" ). ;)


---------------
à vendre: ampli audio Rotel RB-980BX 200€ (MP 86) - alims PC portables (envoi ok)
n°394335
blum95
PSN ID: blum95
Posté le 26-01-2023 à 13:26:05  profilanswer
 

crazytiti a écrit :

Ta l'air d'être sur la bonne piste.
Montre ce que tu reçoit sur le moniteur série stp ?


 

Code :
  1. Trame = E916FF00
  2. identifiantTelecommande = FF00
  3. Code bouton = E916
  4. boutonMaintenuCompteur = 0
  5. T��l��commande arduino
  6. Bouton 0
  7. Trame = F30CFF00
  8. identifiantTelecommande = FF00
  9. Code bouton = F30C
  10. boutonMaintenuCompteur = 0
  11. T��lécommande arduino
  12. Bouton 1
  13. Trame = E718FF00
  14. identifiantTelecommande = FF00
  15. Code bouton = E718
  16. boutonMaintenuCompteur = 0
  17. Tél��commande arduino
  18. Bouton 2
  19. Trame = A15EFF00
  20. identifiantTelecommande = FF00
  21. Code bouton = A15E
  22. boutonMaintenuCompteur = 0
  23. T��lécommande arduino
  24. Bouton 3
  25. Trame = F708FF00
  26. identifiantTelecommande = FF00
  27. Code bouton = F708
  28. boutonMaintenuCompteur = 0
  29. Télécommande arduino
  30. Bouton 4
  31. Trame = E31CFF00
  32. identifiantTelecommande = FF00
  33. Code bouton = E31C
  34. boutonMaintenuCompteur = 0
  35. Télécommande arduino
  36. Bouton 5


---------------
|
n°394370
crazytiti
http://crazytiti.free.fr/
Posté le 26-01-2023 à 17:40:03  profilanswer
 

Ok ça a l'air correct.
Comme dit Splinter est-ce que tu met bien tes codes de la façon suivante :

Code :
  1. #define B2 0xE718FF00


?

Message cité 1 fois
Message édité par crazytiti le 26-01-2023 à 17:40:40

---------------
Le PC est une drogue...
n°394399
blum95
PSN ID: blum95
Posté le 26-01-2023 à 20:57:25  profilanswer
 

crazytiti a écrit :

Ok ça a l'air correct.
Comme dit Splinter est-ce que tu met bien tes codes de la façon suivante :

Code :
  1. #define B2 0xE718FF00


?

 

Non je les ai rentrés sous formes décimal.
Pour ton code donné :
3877175040


---------------
|
n°394407
crazytiti
http://crazytiti.free.fr/
Posté le 26-01-2023 à 21:27:30  profilanswer
 

Je n'ai pas vérifié ta conversion, fait un test avec 0x en plus c'est quand même plus lisible  [:ginie]


---------------
Le PC est une drogue...
n°394438
blum95
PSN ID: blum95
Posté le 27-01-2023 à 08:55:46  profilanswer
 

en faite peut importe sur quelle touche j'appuie, sur le moniteur série j'ai en retour:
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
 
Le code est:

Code :
  1. #include "IRremote.h"
  2. IRrecv irrecv(A1);
  3. decode_results results;
  4. // broches de connexion des LED
  5. #define G 12
  6. #define R 10
  7. #define B 8
  8. // codes de signaux des boutons de la télécommande
  9. #define B1 0xF30CFF00
  10. #define B2 0xE718FF00
  11. #define B3 0xA15EFF00
  12. #define B4 0xF708FF00
  13. void setup() {
  14.    Serial.begin(9600); // ouvre le port série
  15.    irrecv.enableIRIn();
  16.    pinMode(G, OUTPUT);
  17.    pinMode(R, OUTPUT);
  18.    pinMode(B, OUTPUT);
  19. }
  20. void loop() {
  21.    if (irrecv.decode(&results)) {
  22.       Serial.println(results.value);
  23.  
  24.       if (results.value == B1) { digitalWrite(G, HIGH); }
  25.       if (results.value == B2) { digitalWrite(R, HIGH); }
  26.       if (results.value == B3) { digitalWrite(B, HIGH); }
  27.       if (results.value == B4) {
  28.          digitalWrite(G, LOW); digitalWrite(R, LOW); digitalWrite(B, LOW);
  29.         }
  30.       irrecv.resume();
  31.    }
  32. }

Message cité 1 fois
Message édité par blum95 le 27-01-2023 à 08:56:10

---------------
|
n°394445
crazytiti
http://crazytiti.free.fr/
Posté le 27-01-2023 à 09:55:43  profilanswer
 

Je pense que tu ne récupère pas la trame comme il faut, cf la façon dont c'est fait dans le 1er programme :

 

// On recupère la trame reçue.
      const uint32_t trame = IrReceiver.decodedIRData.decodedRawData;
      Serial.print("Trame = " );
      Serial.println(trame, HEX);

 

---------------
remplace ton
Serial.println(results.value);
par
Serial.println(IrReceiver.decodedIRData.decodedRawData);
pour voir


Message édité par crazytiti le 27-01-2023 à 09:55:54

---------------
Le PC est une drogue...
n°394446
blum95
PSN ID: blum95
Posté le 27-01-2023 à 10:00:49  profilanswer
 

Voici ce que j'ai maintenant:
The function decode(&results)) is deprecated and may not work as expected! Just use decode() without a parameter and IrReceiver.decodedIRData.<fieldname> .
0
0


---------------
|
n°394470
Aline BOQS
fan de son cabri au lait.
Posté le 27-01-2023 à 11:47:43  profilanswer
 

blum95 a écrit :

en faite peut importe sur quelle touche j'appuie, sur le moniteur série j'ai en retour:
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295


Traduit en hexa : ffffffff
En binaire : 11111111111111111111111111111111
 
En sachant que $FFFF.... est le plus grand nombre possible en hexa, donc tous les digits au max ET QUE 000000.... est le plus
petit nombre possible, j'ai une théorie : lorsque tu appuies sur n'importe quelle touche, ton prog indique "vous avez appuyé
sur une touche" et non pas le "code" de la touche en question.  :D  
 
Car "FFFF..." peut être interprété comme un "1" et "000..." comme un "0".
"0" sans toucher à quoi que ce soit, et "1" en appuyant sur une touche.


---------------
-=* Feedback de Liline *=- _._ -=* Ptit bazar à Liline *=-  
n°394472
blum95
PSN ID: blum95
Posté le 27-01-2023 à 12:01:56  profilanswer
 

Ok et donc tu as une idée pour résoudre ce soucis? :D


---------------
|
n°394531
rat de com​bat
attention rongeur méchant!
Posté le 27-01-2023 à 19:50:22  profilanswer
 

C'est quelle version de cette lib? J'ai très brièvement regardé la doc https://github.com/Arduino-IRremote/Arduino-IRremote et il y a des différences selons les versions. Aussi en tout premier point ça parle de #define pour activer certains protocoles, c'est peut-être ça? Tu es sûr que le protocole qu'utilise ta télécommande est supporté par cette lib? Aussi, comme je disais, tu ferais bien d'investir 10€ dans un analyseur logique 24MHz histoire de pouvoir vérifier ce qui "rentre" dans l'Arduino; car si ça déjà c'est pas bon...


---------------
à vendre: ampli audio Rotel RB-980BX 200€ (MP 86) - alims PC portables (envoi ok)
n°394546
blum95
PSN ID: blum95
Posté le 27-01-2023 à 20:47:06  profilanswer
 

Dans le code pour récupérer mes boutons ça fonctionne vue que le sur la console j'ai bien le bon bouton qui s'affiche quand j'appuie dessus.


---------------
|
n°394553
ObsydianKe​nobi
peloton suicida
Posté le 27-01-2023 à 21:57:35  profilanswer
 

Et avec Serial.println(results.value, HEX);
 
?


---------------
Long-range goals keep you from being frustrated by short-term failures. RIP VC
n°394556
froggycorp
Posté le 27-01-2023 à 22:21:10  profilanswer
 

J'ai relu la doc (si c'est le même module), cela dit que cela doit être sur un port PWM, ce qui n'est le cas de A1.

 

Si tes conditions fonctionnent bien mais pas ton println, c'est que le problème vient du format de la variable et/ou du println.

 

Essaye de mettre :
const uint32_t blum = results.value;
Serial.println(blum);

Message cité 1 fois
Message édité par froggycorp le 28-01-2023 à 11:50:19
n°394578
blum95
PSN ID: blum95
Posté le 28-01-2023 à 10:54:19  profilanswer
 

ObsydianKenobi a écrit :

Et avec Serial.println(results.value, HEX);
 
?


Code :
  1. The function decode(&results)) is deprecated and may not work as expected! Just use decode() without a parameter and IrReceiver.decodedIRData.<fieldname> .
  2. FFFFFFFF
  3. FFFFFFFF
  4. FFFFFFFF


---------------
|
n°394579
blum95
PSN ID: blum95
Posté le 28-01-2023 à 10:57:09  profilanswer
 

froggycorp a écrit :

J'ai relu la doc (si c'est le même module), cela dit que cela doit être sur un port PWM, ce qui n'est le cas de A1.
 
Si tes conditions fonctionnent bien mais pas ton println, c'est que le problème vient du format de la variable et/ou du println.
 
Essaye de mettre :
const uint32_t trame blum = results.value;
Serial.println(blum);


 
Pas compris où je dois mettre ça et si je dois remplacer blum par quelque chose


---------------
|
n°394589
froggycorp
Posté le 28-01-2023 à 11:50:02  profilanswer
 

Si tu remplaces :
Serial.println(results.value);
 
Par :
 
const uint32_t blum = results.value;
Serial.println(blum, HEX);
 
(je me suis trompé dans le c/c précédent)

n°394618
blum95
PSN ID: blum95
Posté le 28-01-2023 à 20:01:34  profilanswer
 

froggycorp a écrit :

Si tu remplaces :
Serial.println(results.value);

 

Par :

 

const uint32_t blum = results.value;
Serial.println(blum, HEX);

 

(je me suis trompé dans le c/c précédent)

 

Ça n'a rien changé


---------------
|
n°394623
froggycorp
Posté le 28-01-2023 à 20:23:27  profilanswer
 

Tu peux remettre tout le code ou un lien pour qu'on puisse voir la dernière version, avec ce que cela donne ?

mood
Publicité
Posté le   profilanswer
 

<

 Page :   1  2  3  4  5  ..  247  248  249  250  251  252

Aller à :
Ajouter une réponse
 

Sujets relatifs
* Réparations de vos appareils électroniques & electromenager * 
Plus de sujets relatifs à : [arduino] Topic Unique blabla @ Arduino


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR