Toujours avec cet émetteur récepteur 433 MHz
2 participants
Page 1 sur 1
Toujours avec cet émetteur récepteur 433 MHz
Bonjour
Voici d'abord un résumé du câblage et des caractéristiques
La fréquence de la porteuse mesurée est de 433.97 MHz (je m'attendais à 433.92)
Ensuite dans mon Arduino Uno, j'ai plaçé une routine dans loop()
Routine qui génère un signal carré de fréquence 10 kHz
Ce signal, disponible sur une pin (en output) sert à commander l'émetteur (par son entrée)
Cela donne sur son spectre d'émission
Je continue avec mon oscilloscope sur les sorties du récepteur
Ces sorties sont identiques et en logique TTL
Là toujours avec mon signal carré de fréquence 10 kHz (ou période 100 µs)
Je passe dans mon Arduino Uno à une génération d'un signal de période 1ms (ou fréquence 1kHz)
Ces deux graphes donnent une limite pour la fréquence maximale transmissible (par l'inégalité
des temps '1' et '0')
Encore avec un signal ayant '1' durant 50 µs et '0' durant 500 µs
Pour la transmission en F S K (Frequency Shift Keying) je pense aux routines dans loop() Arduino
l'une destinée à envoyer pour chaque bit de donnée à UN
low durant 50µs, high durant 50µs, low durant 50µs, high durant 50µs
l'autre destinée à envoyer pour chaque bit de donnée à ZERO
low durant 100µs, high durant 100µs
avec en repos, l'envoi permanent de
low durant 50µs, high durant 50µs, low durant 50µs, high durant 50µs
ce pour une transmission à 5000 bauds (bits par seconde)
ou à 2500 bauds si plus de fiabilité voulue
En aval du récepteur, j'utilise le c i XR2211
En effet, le mode de fonctionnement 'tout ou rien' bien qu'il fonctionne
peut être amélioré pour moi
Voici d'abord un résumé du câblage et des caractéristiques
La fréquence de la porteuse mesurée est de 433.97 MHz (je m'attendais à 433.92)
Ensuite dans mon Arduino Uno, j'ai plaçé une routine dans loop()
Routine qui génère un signal carré de fréquence 10 kHz
Ce signal, disponible sur une pin (en output) sert à commander l'émetteur (par son entrée)
Cela donne sur son spectre d'émission
Je continue avec mon oscilloscope sur les sorties du récepteur
Ces sorties sont identiques et en logique TTL
Là toujours avec mon signal carré de fréquence 10 kHz (ou période 100 µs)
Je passe dans mon Arduino Uno à une génération d'un signal de période 1ms (ou fréquence 1kHz)
Ces deux graphes donnent une limite pour la fréquence maximale transmissible (par l'inégalité
des temps '1' et '0')
Encore avec un signal ayant '1' durant 50 µs et '0' durant 500 µs
Pour la transmission en F S K (Frequency Shift Keying) je pense aux routines dans loop() Arduino
l'une destinée à envoyer pour chaque bit de donnée à UN
low durant 50µs, high durant 50µs, low durant 50µs, high durant 50µs
l'autre destinée à envoyer pour chaque bit de donnée à ZERO
low durant 100µs, high durant 100µs
avec en repos, l'envoi permanent de
low durant 50µs, high durant 50µs, low durant 50µs, high durant 50µs
ce pour une transmission à 5000 bauds (bits par seconde)
ou à 2500 bauds si plus de fiabilité voulue
En aval du récepteur, j'utilise le c i XR2211
En effet, le mode de fonctionnement 'tout ou rien' bien qu'il fonctionne
peut être amélioré pour moi
lem75pat- Messages : 821
Date d'inscription : 08/04/2016
Localisation : Paris
Re: Toujours avec cet émetteur récepteur 433 MHz
est ce que tu as essaye de changer les parametres des emetteurs et recepeteurs. je dois dire que pour ma part j'ai eu des difficultes a savoir lequels etaient le plus apropries pour une transmission optimal
Re: Toujours avec cet émetteur récepteur 433 MHz
Bonjour
Toujours dans ma démarche d'intégrer le F S K (Frequency Shift Keying) avec l'utilisation de cet ensemble E/R 433 MHz simple
Voici (pour tous et pour les passionnés) des routines simples pour mon Arduino Uno, que j'utiliserais dès que possible
const int emetteurPin = 4; // the number of the emetteur pin
void setup() {
// put your setup code here, to run once:
pinMode(emetteurPin, OUTPUT);
digitalWrite(emetteurPin, LOW); // turn the emetteuroff by making the voltage LOW
}
void loop() {
// put your main code here, to run repeatedly:
…………
}
pour une transmission à 5000 bauds (5000 bits par seconde, soit 500 octets par seconde)
routine transmission donnée logique '1' (et aussi état de repos)
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
ce pour envoyer deux périodes
routine transmission donnée logique '0'
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(100);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(100);
ce pour envoyer une période
pour une transmission à 2500 bauds
routine transmission donnée logique '1' (et aussi état de repos)
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
ce pour envoyer quatre périodes
routine transmission donnée logique '0'
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(100);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(100);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(100);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(100);
ce pour envoyer deux périodes
Pour la réception, en aval du récepteur, il faudra utiliser un c i de décodage comme le XR2211
Il y a aussi le MdP (Modulation de Phase) mais c'est un degré de complexité en plus
Toujours dans ma démarche d'intégrer le F S K (Frequency Shift Keying) avec l'utilisation de cet ensemble E/R 433 MHz simple
Voici (pour tous et pour les passionnés) des routines simples pour mon Arduino Uno, que j'utiliserais dès que possible
const int emetteurPin = 4; // the number of the emetteur pin
void setup() {
// put your setup code here, to run once:
pinMode(emetteurPin, OUTPUT);
digitalWrite(emetteurPin, LOW); // turn the emetteuroff by making the voltage LOW
}
void loop() {
// put your main code here, to run repeatedly:
…………
}
pour une transmission à 5000 bauds (5000 bits par seconde, soit 500 octets par seconde)
routine transmission donnée logique '1' (et aussi état de repos)
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
ce pour envoyer deux périodes
routine transmission donnée logique '0'
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(100);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(100);
ce pour envoyer une période
pour une transmission à 2500 bauds
routine transmission donnée logique '1' (et aussi état de repos)
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(50);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(50);
ce pour envoyer quatre périodes
routine transmission donnée logique '0'
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(100);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(100);
digitalWrite(emetteurPin, HIGH);
delayMicroseconds(100);
digitalWrite(emetteurPin, LOW);
delayMicroseconds(100);
ce pour envoyer deux périodes
Pour la réception, en aval du récepteur, il faudra utiliser un c i de décodage comme le XR2211
Il y a aussi le MdP (Modulation de Phase) mais c'est un degré de complexité en plus
lem75pat- Messages : 821
Date d'inscription : 08/04/2016
Localisation : Paris
Sujets similaires
» Un couple Emetteur Recepteur 433 MHz examiné
» station émetteur de Roumoules
» Des avançées avec mon ARDUINO Uno
» Mon début avec RASPBERRY pi 0
» Tracker GPS avec un AltiMultiSTM32
» station émetteur de Roumoules
» Des avançées avec mon ARDUINO Uno
» Mon début avec RASPBERRY pi 0
» Tracker GPS avec un AltiMultiSTM32
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|