Уроки Arduino: делаем шпионский жучок для прослушки

Комбинация Arduino Pro Mini и нескольких дополнительных компонентов позволят создать диктофон для записи звука, который также можно назвать шпионским жучком.

Время работы устройства около 9 часов, оно небольшого размера и очень простое в использовании. Качество записи может быть не лучшим, но его должно хватать для многих целей.

Шаг 1: Комплектующие устройства

Все комплектующие легко найти в самых популярных интернет-магазинах. Среди комплектующих жучка нет каких-то редких гаджетов.

  • 1x Arduino Pro Mini
  • 1x LiPo аккумулятор
  • 1x Micro USB TP4056 литиевая батарея
  • 1x Micro SD Card (адаптер карты микро SD)
  • 1x Electret Mic + MAX9814 Amp (электретный микрофонный модуль)
  • 1x Тактильный переключатель
  • 1x 5 мм красный светодиод
  • 1x 2kΩ резистор

Все комплектующие можно увидеть на фото выше.

Шаг 2: Собираем схему

Выше вы можете найти схему и фото законченного жучка. Эти фотографии послужат хорошей иллюстрацией при сборке схемы шпионского жучка на Arduino Pro Mini.

Шаг 3: Программируем Arduino

Ниже вы можете скачать код Arduino для проекта. Используйте FTDI, чтобы загрузить его в Arduino Pro Mini. И не забудьте загрузить/включить библиотеку TMRpcm, которую можно скачать по ссылке:

https://github.com/TMRh20/TMRpcm

/*
Шаги:
1. Отредактируйте pcmConfig.h
    a: На Uno или не-mega платах, #define buffSize 128. Может потребоваться увеличить.
    b: Раскомментируйте #define ENABLE_RECORDING и #define BLOCK_COUNT 10000UL

2. Использование ниже. Смотрите https://github.com/TMRh20/TMRpcm/wiki/Advanced-Features#wiki-recording-audio для дополнительной информации.
*/

#include <SD.h>
#include <SPI.h>
#include <TMRpcm.h>
#define SD_ChipSelectPin 10
TMRpcm audio;
int audiofile = 0;
unsigned long i = 0;
bool recmode = 0;

void setup() {
  pinMode(A0, INPUT);
  pinMode(6, OUTPUT);
  pinMode(2, INPUT_PULLUP);
  attachInterrupt(0, button, LOW);
  SD.begin(SD_ChipSelectPin);
  audio.CSPin = SD_ChipSelectPin;

}

void loop() {
}

void button() {
  while (i < 300000) {
    i++;
  }
  i = 0;
  if (recmode == 0) {
    recmode = 1;
    audiofile++;
    digitalWrite(6, HIGH);
    switch (audiofile) {
      case 1: audio.startRecording("1.wav", 16000, A0); break;
      case 2: audio.startRecording("2.wav", 16000, A0); break;
      case 3: audio.startRecording("3.wav", 16000, A0); break;
      case 4: audio.startRecording("4.wav", 16000, A0); break;
      case 5: audio.startRecording("5.wav", 16000, A0); break;
      case 6: audio.startRecording("6.wav", 16000, A0); break;
      case 7: audio.startRecording("7.wav", 16000, A0); break;
      case 8: audio.startRecording("8.wav", 16000, A0); break;
      case 9: audio.startRecording("9.wav", 16000, A0); break;
      case 10: audio.startRecording("10.wav", 16000, A0); break;
    }
  }
  else {
    recmode = 0;
    digitalWrite(6, LOW);
    switch (audiofile) {
      case 1: audio.stopRecording("1.wav"); break;
      case 2: audio.stopRecording("2.wav"); break;
      case 3: audio.stopRecording("3.wav"); break;
      case 4: audio.stopRecording("4.wav"); break;
      case 5: audio.stopRecording("5.wav"); break;
      case 6: audio.stopRecording("6.wav"); break;
      case 7: audio.stopRecording("7.wav"); break;
      case 8: audio.stopRecording("8.wav"); break;
      case 9: audio.stopRecording("9.wav"); break;
      case 10: audio.stopRecording("10.wav"); break;
    }
  }
}

Шаг 4: Итоговый результат

В итоге мы завершили создание шпионского жучка шпиона. Оставляйте комментарии к уроку в группе ВКонтакте. Отличных вам проектов.

Ардуино+