Connexion PIN script (débutant)
Publié : 26 janv. 2022, 22:04
Bonjour à tous,
Je suis complètement débutant en RFLink.
Je viens de recevoir un RFLink 433.42 Mhz en kit de nodo-shop (celui-ci exactement : https://www.nodo-shop.nl/en/rflink-/195 ... cable.html).
Manuel du RFLink : https://nodo-shop.nl/nl/index.php?contr ... achment=21
Manuel du chip Aurel : https://www.aurelwireless.com/wp-conten ... 33G_um.pdf
Le manuel dit 433.92 mais j'ai bien commandé la version 433.42. La référence inscrite sur l'Aurel est RTX-MIDL-5V.
1) Pouvez-vous me confirmer que j'ai bien assemblé comme il fallait ? De ce que j'ai compris du manuel, il suffisait de plugger la carte verte (avec chip Aurel et connecteur pour l'antenne) sur la carte principale tel que je l'ai fait et visser l'antenne. Y avait-il autre chose à faire ? Ca ressemble à ça du coup (lien cliquable pour meilleure vue) :

2) C'était fourni sans alim. Heureusement j'avais celle d'un autre RFLink... Nécessaire ou pas ?
3) Y a-t-il "autre chose à faire" au préalable ?
J'ai besoin d'utiliser le RFLink en mode récepteur pour récupérer la trame d'un équipement à moi. Le script que je voudrais utiliser est dispo ici : https://github.com/ChristopheHD/frisque ... decode.ino
Je n'ai pas de souci à lancer l'IDE Arduino, à trouver le bon port COM, à compiler et envoyer le script vers l'Arduino. Tout ça ça marche a priori : en ajoutant un "Hello World" dans le setup() du script en question, je le vois bien apparaître dans le moniteur série, donc a priori j'arrive bien à lui faire exécuter le script.
Le problème c'est que je ne vois jamais la trame que j'attends (je ne détecte jamais rien alors que je devrais).
De ce que je comprends, un problème est la définition des PIN dans le script qui n'est pas bonne / ne correspond pas à mon chip. En effet, tel que rédigé, le script définit et utilise
Or j'ai d'un côté le manuel de mon RF Link qui me dit
et la page 3 du manuel du chip qui me laisse à penser que pour être en réception, il faudrait :
Data IN (donc Aurel PIN 4, Arduino PIN 14) à 0
TX/RX (donc Aurel PIN 5, Arduino PIN 15) à 0
ENABLE (donc Aurel PIN 6, Arduino PIN 22) à 1
(et le signal RF reçu numérisé sortirait alors en Data OUT (Aurel PIN 9, Arduino PIN 19)).
Est-ce que du coup il suffirait que dans le script, je remplace la partie correspondante par
Et du coup un peu plus loin
?
Faut-il aussi que je gère un Vcc quelque part ou c'est bon c'est le ENABLE ?
Y a-t-il autre chose à faire ?
Je n'ose pas tester directement, car peut-être que je risque de griller un truc... ? Et de toute façon vu comment je suis à l'aveugle statistiquement c'est sûr qu'il va me manquer quelque chose.
Sauriez-vous m'aider ?
Merci
Je suis complètement débutant en RFLink.
Je viens de recevoir un RFLink 433.42 Mhz en kit de nodo-shop (celui-ci exactement : https://www.nodo-shop.nl/en/rflink-/195 ... cable.html).
Manuel du RFLink : https://nodo-shop.nl/nl/index.php?contr ... achment=21
Manuel du chip Aurel : https://www.aurelwireless.com/wp-conten ... 33G_um.pdf
Le manuel dit 433.92 mais j'ai bien commandé la version 433.42. La référence inscrite sur l'Aurel est RTX-MIDL-5V.
1) Pouvez-vous me confirmer que j'ai bien assemblé comme il fallait ? De ce que j'ai compris du manuel, il suffisait de plugger la carte verte (avec chip Aurel et connecteur pour l'antenne) sur la carte principale tel que je l'ai fait et visser l'antenne. Y avait-il autre chose à faire ? Ca ressemble à ça du coup (lien cliquable pour meilleure vue) :

2) C'était fourni sans alim. Heureusement j'avais celle d'un autre RFLink... Nécessaire ou pas ?
3) Y a-t-il "autre chose à faire" au préalable ?
J'ai besoin d'utiliser le RFLink en mode récepteur pour récupérer la trame d'un équipement à moi. Le script que je voudrais utiliser est dispo ici : https://github.com/ChristopheHD/frisque ... decode.ino
Je n'ai pas de souci à lancer l'IDE Arduino, à trouver le bon port COM, à compiler et envoyer le script vers l'Arduino. Tout ça ça marche a priori : en ajoutant un "Hello World" dans le setup() du script en question, je le vois bien apparaître dans le moniteur série, donc a priori j'arrive bien à lui faire exécuter le script.
Le problème c'est que je ne vois jamais la trame que j'attends (je ne détecte jamais rien alors que je devrais).
De ce que je comprends, un problème est la définition des PIN dans le script qui n'est pas bonne / ne correspond pas à mon chip. En effet, tel que rédigé, le script définit et utilise
Code : Tout sélectionner
#define PIN_RF_TX_VCC 15 // +5 volt / Vcc power to the transmitter on this pin
#define PIN_RF_TX_DATA 14 // Data to the 433Mhz transmitter on this pin
#define PIN_RF_RX_VCC 16 // Power to the receiver on this pin
#define PIN_RF_RX_DATA 19 // On this input, the 433Mhz-RF signal is received. LOW when no signal.Code : Tout sélectionner
D14 DAT IN Transceiver
D15 TX / RX Transceiver
D19 DAT OUT Transceiver
[...]
D22 ENABLE TransceiverData IN (donc Aurel PIN 4, Arduino PIN 14) à 0
TX/RX (donc Aurel PIN 5, Arduino PIN 15) à 0
ENABLE (donc Aurel PIN 6, Arduino PIN 22) à 1
(et le signal RF reçu numérisé sortirait alors en Data OUT (Aurel PIN 9, Arduino PIN 19)).
Est-ce que du coup il suffirait que dans le script, je remplace la partie correspondante par
Code : Tout sélectionner
#define PIN_RF_TX_DATA_IN 14 // Data to the 433Mhz transmitter on this pin
#define PIN_RF_TX_RX 15 // 0 = RX, 1 = TX
#define PIN_RF_RX_DATA_OUT 19 // Sortie du RX
#define PIN_RF_ENABLE 22 // 0=Power Down, 1=Actif
Code : Tout sélectionner
pinMode(PIN_RF_RX_DATA_OUT, INPUT); // Initialise in/output ports
pinMode(PIN_RF_TX_DATA_IN, OUTPUT); // Initialise in/output ports
pinMode(PIN_RF_ENABLE, OUTPUT); // Initialise in/output ports
digitalWrite(PIN_RF_TX_DATA_IN,LOW); // 0 ?
digitalWrite(PIN_RF_TX_RX,LOW); // 0 ?
digitalWrite(PIN_RF_ENABLE,HIGH); // 1 ?
digitalWrite(PIN_RF_RX_DATA_OUT,INPUT_PULLUP); // pull-up resister on (to prevent garbage)
Faut-il aussi que je gère un Vcc quelque part ou c'est bon c'est le ENABLE ?
Y a-t-il autre chose à faire ?
Je n'ose pas tester directement, car peut-être que je risque de griller un truc... ? Et de toute façon vu comment je suis à l'aveugle statistiquement c'est sûr qu'il va me manquer quelque chose.
Sauriez-vous m'aider ?
Merci