From 348f2ab700e0da94076404bce307fc08eff19ea5 Mon Sep 17 00:00:00 2001 From: Adam Loboda <43117081+mcore1976@users.noreply.github.com> Date: Sun, 26 Mar 2023 17:21:05 +0200 Subject: [PATCH] Add files via upload --- mic-jammer-ad9833-digispark.ino-bkp-26032023 | 391 +++++++++++++++++++ mic-jammer-ad9833.ino-bkp26032023 | 312 +++++++++++++++ 2 files changed, 703 insertions(+) create mode 100644 mic-jammer-ad9833-digispark.ino-bkp-26032023 create mode 100644 mic-jammer-ad9833.ino-bkp26032023 diff --git a/mic-jammer-ad9833-digispark.ino-bkp-26032023 b/mic-jammer-ad9833-digispark.ino-bkp-26032023 new file mode 100644 index 0000000..a48896b --- /dev/null +++ b/mic-jammer-ad9833-digispark.ino-bkp-26032023 @@ -0,0 +1,391 @@ +/* + wearable microphone jammer + - ATTINY85 / DIGISPARK version + + Boards needed : + DIGISPARK + AD9833 signal generator board + PAM8403 or better - audio amplifier module ( + potentiometer if not using AD_SQUARE modulation) + + CONNECTION + -------- + AD9833 PCB to DIGISPARK: + FDATA --> pin 1 (MOSI / DO ) + SCLK --> pin 2 (SCK) + FSYNC --> pin 3 (SS / USCK / DD) + DGND --> GND + VCC --> VCC + + AD9833 PCB to PAM 8403 + AOUT --> LEFT AUDIO IN + RIGHT AUDIO IN + AGND --> AUDIO GND + + REMEMBER TO CONNECT PAM8403 TO VCC/5V AND GND + +*/ + +#include + + +/** + * SPI pins - definition for ATTINY85 + */ + +#define SPI_DDR_PORT DDRB +#define USCK_DD_PIN DDB2 +#define DO_DD_PIN DDB1 +#define DI_DD_PIN DDB0 + + +/** \name AD9833 waveform output modes + * Parameters of \ref ad9833_set_mode() + * @{ + */ +#define AD_OFF 0 +#define AD_TRIANGLE 1 +#define AD_SQUARE 2 +#define AD_SINE 3 +/**@}*/ + +/** \name AD9833 command register bits + * @{ + */ + +#define AD_B28 13 +#define AD_HLB 12 +#define AD_FSELECT 11 +#define AD_PSELECT 10 +#define AD_RESET 8 +#define AD_SLEEP1 7 +#define AD_SLEEP12 6 +#define AD_OPBITEN 5 +#define AD_DIV2 3 +#define AD_MODE 1 + +/** @}*/ + +/** \name AD9833 register addresses + * @{ + */ +#define AD_FREQ0 (1<<14) +#define AD_FREQ1 (1<<15) +#define AD_PHASE0 (3<<14) +#define AD_PHASE1 ((3<<14)|(1<<13)) + +/** @}*/ + +/** \name AD9833 calculation macros + * @{ */ +#define AD_F_MCLK 25000000 ///>8)); // Transmit 16 bits 8 bits at a time + spi_send((uint8_t)packet); + + PORTB |= _BV(3); // set PIN PB3 : SS / CS HIGH again + + PORTB |= _BV(2); // set PIN PB2 : SCLK HIGH + + +} + + + +/** + * Initializes the AD9833 and the relevant variables. + */ + +void ad9833_init(void) + { + + // set half awake state + ad9833_send((1<>2 ))); + ad9833_send(reg_reg | (0x3FFF&(uint16_t)(freq_reg>>16))); + +} + + + + +// ----------------------------------------------------------------------- +// MAIN CODE OF THE JAMMER +// ----------------------------------------------------------------------- + + +void setup() + { + //initializing SPI and AD9833 generator + spi_init(); + + delay(100); + ad9833_init(); + delay(15); + + //set gen to SQUARE + ad9833_set_mode(AD_SQUARE); + ad9833_set_frequency(0, 25000); +} + +void loop() { + ad9833_set_mode(AD_SQUARE); + ad9833_set_frequency(0, random(24000, 26000) ); +} diff --git a/mic-jammer-ad9833.ino-bkp26032023 b/mic-jammer-ad9833.ino-bkp26032023 new file mode 100644 index 0000000..601776b --- /dev/null +++ b/mic-jammer-ad9833.ino-bkp26032023 @@ -0,0 +1,312 @@ +/* + wearable microphone jammer + + Version based on original concept & development : + https://github.com/y-x-c/wearable-microphone-jamming + + Boards needed : + Arduino Pro Mini/Micro + AD9833 signal generator board + PAM8403 or better - audio amplifier module + potentiometer + + CONNECTION + -------- + AD9833 PCB to Arduino Pro Mini: + SDATA --> pin 11 MOSI [note: pin 12 is MISO] + SCLK --> pin 13 SCK + FSYNC --> pin 14 A0 (as AD9833 SS) + DGND --> GND + VCC --> VCC + + AD9833 PCB to PAM8403 audio amplifier + AOUT --> LEFT AUDIO IN + RIGHT AUDIO IN + AGND --> AUDIO GND + + Remember to power all boards from +5V/GND lines + + AD8933 code borrowed from Tuomas Nylund function generator project : + https://github.com/tuomasnylund/function-gen + +*/ + +#include +#include + +// Definition of FSYNC , CHIP SELECT pin in Arduino board +#define FNC_PIN A0 + +/** \name AD9833 waveform output modes + * Parameters of \ref ad9833_set_mode() + * @{ + */ +#define AD_OFF 0 +#define AD_TRIANGLE 1 +#define AD_SQUARE 2 +#define AD_SINE 3 +/**@}*/ + +/** \name AD9833 command register bits + * @{ + */ + +#define AD_B28 13 +#define AD_HLB 12 +#define AD_FSELECT 11 +#define AD_PSELECT 10 +#define AD_RESET 8 +#define AD_SLEEP1 7 +#define AD_SLEEP12 6 +#define AD_OPBITEN 5 +#define AD_DIV2 3 +#define AD_MODE 1 + +/** @}*/ + +/** \name AD9833 register addresses + * @{ + */ +#define AD_FREQ0 (1<<14) +#define AD_FREQ1 (1<<15) +#define AD_PHASE0 (3<<14) +#define AD_PHASE1 ((3<<14)|(1<<13)) + +/** @}*/ + +/** \name AD9833 calculation macros + * @{ */ +#define AD_F_MCLK 25000000 ///>8)); // Transmit 16 bits 8 bits at a time + SPI.transfer((uint8_t)packet); + + digitalWrite(FNC_PIN,HIGH); // Write to SPI done - bring up this pin +} + + + +/** + * Initializes the AD9833 and the relevant variables. + */ + +void ad9833_init(void) + { + + // set half awake state + ad9833_send((1<>2 ))); + ad9833_send(reg_reg | (0x3FFF&(uint16_t)(freq_reg>>16))); + +} + + + + +// ----------------------------------------------------------------------- +// MAIN CODE OF THE JAMMER +// ----------------------------------------------------------------------- + + +void setup() + { + //initializing SPI and AD9833 generator + pinMode(FNC_PIN,OUTPUT); + digitalWrite(FNC_PIN,HIGH); + + SPI.begin(); + + //We set the mode here, because other hardware may be doing SPI also + SPI.setDataMode(SPI_MODE2); + + delay(100); + ad9833_init(); + delay(15); + + //set gen to SINE + ad9833_set_mode(AD_SINE); + ad9833_set_frequency(0, 25000); +} + +void loop() { + ad9833_set_mode(AD_SINE); + ad9833_set_frequency(0, random(24000, 26000) ); +}