#1 2024-03-09 12:01:31

Lesage
Учасник
Зареєстрований: 2024-02-02
Повідомлень: 4

RF24 isChipConnected() returns false

Спаяв я плату, намагаюся протестувати чіп, але відповідна функція повертає 0.

Розпайка: https://imgur.com/a/SbeH2tl

Схематика така: два джойстики живляться від 5В ардуїно, підключені на А0-А3, земля - найнижчий провід.
Ардуїно живиться від вхідної напруги більше 7В (наразі використовую крону, видае 8.4V) на Vin. У паралель до цієї лінії підключена плата з АМ1117, nRF24 живиться від неї. На GND і Vin піни у мене припаяний конденсатор 16V 22 мкФ, полярність видно на фото, начебто не переплутав.
Розпайка nrf наступна:
D11 - CE
D12 - CSN
D4 - MISO
D5 - SCK
D7 - MOSI
У config.h бібліотеки RF24 я прописав згідно з документацією (https://nrf24.github.io/RF24/md_docs_arduino.html) наступне:

#ifndef SOFT_SPI_MISO_PIN
    #define SOFT_SPI_MISO_PIN 4
#endif // SOFT_SPI_MISO_PIN

#ifndef SOFT_SPI_MOSI_PIN
    #define SOFT_SPI_MOSI_PIN 7
#endif // SOFT_SPI_MOSI_PIN

#ifndef SOFT_SPI_SCK_PIN
    #define SOFT_SPI_SCK_PIN 5
#endif // SOFT_SPI_SCK_PIN

Використовуючи наступний код:

#include "RF24.h"
#include "printf.h"

#define CE_PIN 11
#define CSN_PIN 12
RF24 radio(CE_PIN, CSN_PIN);

const uint8_t num_channels = 126;
uint8_t values[num_channels];

void setup(void) {

  Serial.begin(115200);
  printf_begin();

  radio.begin();
  radio.setAutoAck(false);

  radio.startListening();
  radio.stopListening();
  radio.printPrettyDetails();
}

void loop(void) {
  if (radio.isChipConnected()) {
    Serial.println("Connected");
  } else {
    Serial.println("Not connected");
  }
  delay(10000);
}

Я отримую наступний результат: https://imgur.com/a/skEVY1c

Що я перевіряв: напруга між GND і Vin пінами nRF 3.36V. З джойстиками у мене проблем немає, вони видають правильні значення по всіх 4 осях, навіть якщо додаткового живлення немає і Arduino запитана тільки від USB. Якщо додаткового живлення немає, і ардуїна живиться тільки від USB, то напруга на nRF модулі занадто низька, але на роботу скетчів це ніяк не впливає, дані в Serial Port тіж самі. Я також перевіряв код зі скетчу GettingStarted до бібліотеки, результат такий самий як на фото вище, тільки замість Not Connected видає ту ж інформацію з printeDetails() і заповнює екран символами F: https://imgur.com/a/SrhlNHv

Я знаю що розпайка не дуже якісна, це перший мій hardware/low software проект, я навчаюсь:)

Питання: що робити, щоб перевірити модуль/почати його використовувати?

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму