Форум
 

Вернуться   Форум "Фрикер Клуб" - кодграббер своими руками > Основной раздел > Песочница

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 18.02.2018, 11:49   #181
**Serzh** Меню Пользователя
Вступил в клуб
 
Регистрация: 15.01.2018
Сообщений: 10
По умолчанию Re: Делаем глушак сиг

Передача идет одновременно на тех частотах, которые указываются с интервалом 1/2 мс вроде.
Чем больше частот указываю, тем меньше уровень выходного сигнала и сприходится увеличивать скорость передачи. Оптимальным считаю 3-4 частоты прописывать. Думаю ставить три модуля SI4432 на диапазон.
Есть еще SI4463, но с ними еще ничего не делал(не знаю как, надо просить товарища чтоб помог)
**Serzh** вне форума   Ответить с цитированием
Старый 18.02.2018, 12:01   #182
**Serzh** Меню Пользователя
Вступил в клуб
 
Регистрация: 15.01.2018
Сообщений: 10
По умолчанию Re: Делаем глушак сиг

#include <SPI.h>

#define WRITE 0x80
#define RESET 0x80
#define NIRQ 14

#define LED1 7
#define LED2 8
#define LED3 9

#define chipSelectPin 10
#define Button1 2
#define Button2 3

#define OUTPWR20 0x1F // уровни выходной мощности в дБм
#define OUTPWR17 0x1E
#define OUTPWR14 0x1D
#define OUTPWR11 0x1C
#define OUTPWR08 0x1B
#define OUTPWR05 0x1A

#define TXDATA_FIFO 0x20
#define TXDATA_RND 0x30

#define ENINV 0x08
#define MOD_NO 0x00
#define MOD_OOK 0x01
#define MOD_FSK 0x02
#define MOD_GFSK 0x03


char compileTime[] = __TIME__;
unsigned long LastPacketTime;

uint16_t Ldat;
uint8_t Hdat0;
unsigned long Hdat;

uint8_t datasource;

unsigned long FREQ = FREQ_CYT; // частота сигнала в диапазоне от 430000 до 439900
unsigned long freqdev = 12500; // девиация в Гц, макс 159 кГц
unsigned long TXDR = 10000; // скорость передачи данных, от 0 до 256000 bps
unsigned int FreqHopStep = 0; // шаг перестройки при ППРЧ, в кГц. Кратно 10 кГц.
unsigned int fhch = 0; // номер канала при ППРЧ
unsigned int delaytime = 0; // пауза между пакетами, мс

uint8_t fhs;
uint16_t fdev;

byte ItStatus1, ItStatus2;

unsigned long frequencies[] = {433295,433490,434200,434300,434690,434650}; //==== Частоты на которых будем последовательно передавать.
uint8_t FreqCounter, FreqQuantity = 6; //=== Указываем Количество частот на которых передаем пакет ( которые указывали выше).

unsigned long timeInterval = 1/2; // 1000 = 1 секунде=== время ( миллисекунд ) отправки пакета на одной частоте.
unsigned long lastGetTime = 0; //=== Переменная в которую в процессе будем хранить время последнего действия отправки пакета. ( тут нечего трогать не нужно )
**Serzh** вне форума   Ответить с цитированием
Старый 18.02.2018, 12:04   #183
**Serzh** Меню Пользователя
Вступил в клуб
 
Регистрация: 15.01.2018
Сообщений: 10
По умолчанию Re: Делаем глушак сиг

Код:
void setup() {
  Serial.begin(9600);
   SPI.begin();

  //установка параметров SPI:
  SPCR = (1 << SPE) | (1 << MSTR) | (0 << SPR1) | (1 << SPR0);
  
  pinMode(NIRQ, INPUT);
  pinMode(chipSelectPin, OUTPUT);

  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);

  pinMode(Button1, INPUT_PULLUP);
  pinMode(Button2, INPUT_PULLUP);

  digitalWrite(LED3, HIGH);

  datasource = datatype();
   
  writeRegister(0x07, RESET);
  delay(10);

  writeRegister(0x0B, 0x12);// настройка GPIO0 для включения режима передачи TX (0x17-?)
  writeRegister(0x0C, 0x15);//настройка GPIO1 для включения режима приема RX (0x18-?)

  writeRegister(0x09, 0xB6); // подстройка кварца,

  writeRegister(0x33, 0x8E); //заголовки, 8E-фикс.длина; 86-перем.длина
  writeRegister(0x3E, 0x0A); //длина пакета

  writeRegister(0x36, 0x75); 
  writeRegister(0x37, 0xAB); 
  writeRegister(0x38, 0xE1); 
  writeRegister(0x39, 0xF7); 
 
  fhs = FreqHopStep / 10;

  setFREQU(FREQ);
  setDATARATE(TXDR);
  setDEVIATION(freqdev);

  writeRegister(0x6D, OUTPWR17); //====установка выходной мощности
  writeRegister(0x7A, fhs); //====установка шага перестройки ППРЧ
  writeRegister(0x30, 0x08); //Data Access Control

  //===установка типа модуляции и источника данных:
  writeRegister(0x71, TXDATA_FIFO + MOD_FSK);  
  writeRegister(0x07, 0x09); // включение передатчика

  setFREQU(433500);
  setDATARATE(256000); //=== Установка скорости передачи данных.
  setMODULATION("FSK"); //=== Установка модуляции.
  setDEVIATION(20000); //=== Установка девиации.
  lastGetTime = millis();
}

Последний раз редактировалось EPA; 18.02.2018 в 12:58.
**Serzh** вне форума   Ответить с цитированием
Старый 18.02.2018, 12:42   #184
**Serzh** Меню Пользователя
Вступил в клуб
 
Регистрация: 15.01.2018
Сообщений: 10
По умолчанию Re: Делаем глушак сиг

кнопками переключаю частоту, модуляцию и т.д. , а светодиоды для информации.
Сам еще с этим толком не разобрался. Мне ж помогали.
Код:
while (digitalRead(Button1) == 0);
  if (digitalRead(LED2) == 0)
  {
    FreqHopStep = 0;
    setFREQU(434500);
    setDATARATE(5000);
    setMODULATION("NO");
    setDEVIATION(75000);
    digitalWrite(LED2, HIGH);
  }
  else
  {
    FreqHopStep = 0;
    setFREQU(FREQ);
    setDATARATE(TXDR);
    setMODULATION("FSK");
    setDEVIATION(freqdev);
    digitalWrite(LED2, LOW);
    writeRegister(0x79, 0);
  }
  writeRegister(0x7A, (FreqHopStep / 10));
========
Код:
while (digitalRead(Button2) == 0);
  uint8_t result;
  if (digitalRead(LED3) == 0)
  {
    result = TXDATA_FIFO;
    //delaytime = 0;
    digitalWrite(LED3, HIGH);
    digitalWrite(LED1, LOW);
  }
  else
  {
    result = TXDATA_RND;
    //delaytime = 1;
    digitalWrite(LED1, HIGH);
    digitalWrite(LED3, LOW);
**Serzh** вне форума   Ответить с цитированием
Старый 18.02.2018, 12:54   #185
logach Меню Пользователя
Член клуба
 
Регистрация: 16.10.2015
Сообщений: 195
По умолчанию Re: Делаем глушак сиг

Cпасибо, смотрю на шилде кнопки , светодиоды, каково назначение?

Добавлено через 7 минут
могу весь код отправить на почту, как в личку писать не нашел ----

---cообщений мало, поэтому личка у вас еще не работает.

Добавлено через 7 минут
ну в принципе развернутый код, не надо в либу лазить,регистры вынесены в скетч для ковыряния, у меня попроще.
logach вне форума   Ответить с цитированием
Старый 15.07.2018, 19:34   #186
С А Меню Пользователя
Гость клуба
 
Регистрация: 18.06.2018
Сообщений: 6
По умолчанию Re: Делаем глушак сиг

Всем доброго времени!
Обращаюсь к знатокам трансивера si4432.
Как в RH_RF22 написать код для инициализации
GPIO_2 как вход ?
С А вне форума   Ответить с цитированием
Старый 15.07.2018, 21:58   #187
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,156
По умолчанию Re: Делаем глушак сиг

Смотрим пост #82 , а именно Register: GPIO2 Configuration...
http://phreakerclub.com/forum/showth...?t=2102&page=9
Соответственно, если тебе " TX Data input for direct modulation (input)", то
SpiWriteRegister(0x0D, 0x10);
А вообще читаем даташиты, а то так далеко не уедешь. Так же почитай AN415.

Последний раз редактировалось EPA; 15.07.2018 в 22:05.
EPA вне форума   Ответить с цитированием
Старый 15.07.2018, 22:15   #188
С А Меню Пользователя
Гость клуба
 
Регистрация: 18.06.2018
Сообщений: 6
По умолчанию Re: Делаем глушак сиг

Пробывал все варианты,
но компилятор(Ардуино IDE)
выдаёт ошибку и из #82 то же!
С А вне форума   Ответить с цитированием
Старый 15.07.2018, 22:25   #189
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,156
По умолчанию Re: Делаем глушак сиг

Цитата:
Сообщение от С А
Пробывал все варианты,
но компилятор(Ардуино IDE)
выдаёт ошибку и из #82 то же!

Вау Дурино это жесть! Лог ошибки покажи.
EPA вне форума   Ответить с цитированием
Старый 15.07.2018, 22:33   #190
С А Меню Пользователя
Гость клуба
 
Регистрация: 18.06.2018
Сообщений: 6
По умолчанию Re: Делаем глушак сиг

Ок! Скетч затёр!
Если по памяти:
Вроде писал: не верная
конфигурация gpio_2
С А вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 06:00. Часовой пояс GMT +3.


vBulletin 4.1.0 Перевод: zCarot
(C) www.phreakerclub.com
Яндекс.Метрика