CC1101 Проблемы с приемом и передачей
Неисправность трансивера CC1101
Введение в мою проблему
Всем привет! У меня есть Arduino Uno, и в последнее время я немного повеселился с трансиверами, включая CC1101. Я купил его в каком-то китайском магазине, и он помечен как D-Sun CC1101. Возможно, это не самое лучшее качество, но я думаю, что для новичка, такого как я, сойдет. Просто для ясности: он работает на частотах 3,3 В и 315/433/868/915 МГц с мощностью передачи +10 дБм. Хотя у меня были некоторые проблемы с его работой.
Что не так
Приемопередатчик CC1101 не получает никаких данных. Я пытался использовать ключ шлюза 433,92 МГц после правильной настройки CC1101, но на последовательном мониторе ничего не появилось. Я также пытался использовать другой Arduino Uno с подключенным передатчиком на 433 МГц и отправлять с ним некоторые буферы, но это тоже не сработало.
Несмотря на то, что я пробовал много библиотек, таких как:
- Библиотека SpaceTeddy CC1101
- SmartRC-CC1101-Driver-Lib от LSatan
- И библиотеку ELECHOUSE_C1101, которую я получил из этого руководства на YouTube (содержимое этой библиотеки приведено ниже)
- Файл .h
- Файл .cpp
Что, по моему мнению, я сделал неправильно, с чем вы могли бы мне помочь
Короткое замыкание
Вначале я думал, что подключил приемопередатчик правильно, однако, когда я подключал провода vcc и gnd (замыкая цепь), плата Arduino "L" Светодиод выключался каждый раз, и я не думаю, что он должен так себя вести.
Для ясности, что "ВКЛ" Светодиод оставался включенным и полностью ярким. Это проводное соединение, которое я использовал:
Vcc - 3.3V
SI - MOSI (11)
SO - MISO (12)
CS - SS (10)
SCLK - SCK (13)
GDO2 - GPIO (3/9) (According to library)
GDO0 - GPIO (2) (According to library)
GND - GND
Скетч arduino uno неверен
Обычно я использовал примеры кода получения (rx) из ранее упомянутых библиотек, однако в последнем случае я использовал фиксированный пример из видео на YouTube, и он выглядит следующим образом:
#include <ELECHOUSE_CC1101.h>
byte RX_buffer[61]={0};
byte size, flag;
void setup()
{
Serial.begin(9600);
ELECHOUSE_cc1101.Init();
ELECHOUSE_cc1101.SetReceive();
}
void loop()
{
if(ELECHOUSE_cc1101.CheckReceiveFlag())
{
size = ELECHOUSE_cc1101.ReceiveData(RX_buffer);
for(int i = 0; i < size; i++)
{
Serial.print(RX_buffer[i],DEC);
Serial.write(' ');
}
Serial.println("");
ELECHOUSE_cc1101.SetReceive();
}
}
Исправленная версия ничего существенного не меняет, но стоит отметить, что она выглядит не так, как на видео. Я изменил его, потому что некоторые функции устарели. Но, как я уже сказал, ни один из примеров прослушивания не работал у меня. Один из них отображал некоторую информацию, но только когда я касался антенны и создавал короткое замыкание.
Приемопередатчик больше не работает
Меня беспокоит, что модуль CC1101 больше не работает, я не очень аккуратно с ним обращался, так что стоит подумать. У меня нет каких-либо продвинутых инструментов, которые помогли бы мне проверить качество схемы антенны или приемопередатчика, поэтому я полагаюсь на вас и ваши ответы.
Заключение
Было бы здорово, если бы мне кто-нибудь помог. Я провел некоторое исследование и увидел, что не так много тем, связанных с Arduino Stack Exchange CC1101, активно. Я знаю, что трансивер не так популярен среди электроники и может не получить нужной мне помощи. Если вам нужна дополнительная информация, просто скажите мне. Не удаляйте тему, я отредактирую ее по желанию.
Ура, дэб
@dheb, 👍-1
Обсуждение0
- Радиочастотный сниффер с Arduino
- Печать string and integer LCD
- Почему мои часы реального времени показывают неверное время с моего ПК?
- Arduino uno + cnc Shield v3 + драйвер шагового двигателя A4988 + AccelStepper?
- Отправьте несколько значений int из Python в Arduino, используя pySerial
- Глобальные переменные занимают много места в динамической памяти.
- (Код ультразвукового датчика: такого файла или каталога нет)
- Декодирование 2.4G RF пульта дистанционного управления?
пожалуйста, добавьте к своему сообщению целенаправленный вопрос, на который можно ответить, и кто-нибудь попытается на него ответить ... этот сайт не форум ... здесь нет темы ... есть вопрос, несколько комментариев, таких как этот, и ответы ... все ваши обновления должны войти в ваш вопрос, @jsotola
непонятно, что вы конкретно спрашиваете... вы хотите узнать о проверке того, что передатчик передает?, @jsotola
Я действительно не вижу смысла поправлять меня с точки зрения ярлыков и того, как я должен называть определенные вещи, если вы понимаете, что я имел в виду, поэтому, пожалуйста, не делайте этого. Я хочу спросить «конкретно», как я могу исправить свой cc1101 или его код, если он не передает и не получает. Я не могу задать конкретный вопрос, потому что я не профессионал в области электроники и сам не знаю, что не так, поэтому я дал вам свои теории о том, что я мог сделать неправильно. Так что еще раз, пожалуйста, не ненавидьте меня за то, что я не могу задать конкретный вопрос, если я не могу проверить, в чем заключается конкретная проблема. Вот о чем я вас прошу. дхеб, @dheb