SmartRF Studio 7, SDR#, Multimon-ng
CC1101 + SmartRF04eb + Arduino Uno
Works quite ok, sometimes same tone detected twice by Multimon-ng ... probably needs custom delays for each tone.
CC1101 asynchronous serial TX mode. GDO0 pin configured as RX_HARD_DATA[0] and GDO2 pin configured as RX_HARD_DATA[1]. SDR#: NFM, 9 kHz filter bandwidth, squelch off, filter audio off.
Arduino Uno code:
CC1101 GDO0 pin connected to Arduino Uno digital pin 2
CC1101 GDO2 pin connected to Arduino Uno digital pin 3
Arduino tone library: https://github.com/bhagman/Tone
#include <Tone.h>
#define GDO0_PIN 2
#define GDO2_PIN 3
#define DTMF_DURATION 56
#define DTMF_ARR_LEN 10
Tone f1;
Tone f2;
uint16_t dtmf_f1[DTMF_ARR_LEN] = {1336, 1209, 1336, 1477, 1209, 1336, 1477, 1209, 1336, 1477};
uint16_t dtmf_f2[DTMF_ARR_LEN] = {941, 697, 697, 697, 770, 770, 770, 852, 852, 852};
void setup() {
Serial.begin(9600);
pinMode(GDO0_PIN, OUTPUT);
pinMode(GDO2_PIN, OUTPUT);
f1.begin(GDO0_PIN);
f2.begin(GDO2_PIN);
}
void loop() {
for (uint8_t i = 0; i < DTMF_ARR_LEN; i++) {
f1.play(dtmf_f1[i], DTMF_DURATION);
f2.play(dtmf_f2[i], DTMF_DURATION);
delay(DTMF_DURATION);
f1.stop();
f2.stop();
Serial.print(i);
Serial.print("\t");
Serial.print(dtmf_f1[i]);
Serial.print("\t");
Serial.print(dtmf_f2[i]);
Serial.println();
delay(1800);
}
}
Kommentit
Tämän blogin kommentit tarkistetaan ennen julkaisua.