-
ARDUINO programme TEST RTTY BEACON pour TX NTX2B
/* test RTTY BEACON du module NTX2B
*/
//définir la pin de sortie vers NTX2B
#define RADIOPIN 9
//définir les bibliothèques
#include <string.h>
#include <util/crc16.h>
//définir la taille du texte à transmettre en balise
char datastring[80];
void setup(){
pinMode(RADIOPIN,OUTPUT);
Serial.begin(9600);
}
void loop(){
snprintf(datastring,80,"$$$$$F6AGV-11,RTTY,TEST,BEACON"); //placer le texte dans datastring
unsigned int CHECKSUM=gps_CRC16_checksum(datastring); //calcul du checksum pour ce texte
char checksum_str[6];
sprintf(checksum_str,"*%04X\n",CHECKSUM);
strcat(datastring,checksum_str);
rtty_txstring(datastring);
}
void rtty_txstring(char*string){
//envoyer des caractéres d'un octet de 8 bits (byte)
char c;
c=*string++;
while (c !='\0'){
rtty_txbyte(c);
c=*string++;
}
}
void rtty_txbyte(char c){
//envoyer chaque bit d'un caractére
//le LSB est transmit en premier
//chaque octet est précédé d'un zéro (start)
//chaque octet est suivi d'un ou deux un (stop)
int i;
rtty_txbit(0); //start bit
//envoyer les bits avec LSB en premier
for (i=0;i<7;i++) { //
if(c&1) rtty_txbit(1);
else rtty_txbit(0);
c = c>>1;
}
rtty_txbit(1); //stop bit
rtty_txbit(1); //stop bit
}
void rtty_txbit (int bit) {
if (bit) {
// high
analogWrite(RADIOPIN,110);
}
else {
// low
analogWrite(RADIOPIN,100);
}
delayMicroseconds(10000);
delayMicroseconds(10150);
/* pour 300 bauds (3370)
pour 50 bauds (20150)
*/
}
uint16_t gps_CRC16_checksum (char*string){
size_t i;
uint16_t crc;
uint8_t c;
crc = 0xFFFF;
//calcul du checksum les deux premiers $$ ne comptent pas
for(i=2; i <strlen(string);i++) {
c=string[i];
crc=_crc_xmodem_update (crc, c);
}
return crc;
}
------------------------------------------------------------
Petit commentaire : ce programme écrit par Anthony M0UPU, vous permettra de tester votre émetteur NTX2 ou NTX2B.
Ainsi que la réception du message "$$$$$F6AGV-11,TEST,RTTY,BEACON". Pour recevoir, cette émission, il vous faut
un récepteur UHF sur la bande 434 MHz en USB, une antenne verticale quart d'onde (ou 7 éléments pour recevoir des
émissions de ballons plus lointains). Il vous faut un ordinateur avec le logiciel DL-FLDIGI HAB ou normal.
Ce logiciel vous permet de recevoir d'autres modes numériques utilisés par les ballons haute altitude.
Je recommande une interface d'isolement entre le PC et le récepteur UHF. Si vous n'en avez pas encore, il suffit
d'alimenter le récepteur avec une batterie 12 volts. La configuration à placer sur DL-FLDIGI pour recevoir ces trames
de test en mode balise est RTTY ---> custom ---> 50 bauds 7 bits ascii none et 2 bits de stop.
Ce programme a été testé avec succès, si vous avez une erreur à cause d'une mauvaise librairie, je pourrai vous
faire parvenir les miennes qui sont dans le programme.
Merci pour votre participation et vos commentaires.
Alain F6AGV : f6agv (@) free.fr
-
Commentaires