logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Moduł nrf24l01 dziwne zachowanie na monitorze portu szeregowego

wygryw882 06 Mar 2019 17:15 1641 13
REKLAMA
  • #1 17824044
    wygryw882
    Poziom 2  
    Posty: 4
    Mam taki problem: przy podłączeniu 2 arduino przez nrf24l01 (wersje z antenami) na monitorze portu szeregowego zamiast normalnych napisów pojawiają się takie dziwne znaki jak:
    ⸮⸮
    ⸮⸮
    ⸮⸮
    ⸮⸮
    ⸮⸮
    ⸮⸮
    ⸮⸮⸮
    ⸮⸮⸮
    ⸮⸮⸮
    ⸮⸮⸮
    ⸮⸮⸮
    Dodam, że jest użyty kondensator 10uF przy zasilaniu i masie, a programy, których używam to zwykłe podstawowe przykłady
  • REKLAMA
  • #2 17824353
    LChucki
    Poziom 31  
    Posty: 1940
    Pomógł: 104
    Ocena: 379
    mam awarię szklanej kuli i nie wiem jaki jest kod
    wygryw882 napisał:
    to zwykłe podstawowe przykłady

    oraz jak wygląda schemat połączeń. Pewnie też zwykły przykładowy?
  • #3 17824403
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #4 17824498
    wygryw882
    Poziom 2  
    Posty: 4
    LChucki napisał:
    mam awarię szklanej kuli i nie wiem jaki jest kod
    wygryw882 napisał:
    to zwykłe podstawowe przykłady

    oraz jak wygląda schemat połączeń. Pewnie też zwykły przykładowy?



    Tutaj jest schemat i kod
    Moduł nrf24l01 dziwne zachowanie na monitorze portu szeregowego

    a o to kod nadajnika :

    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>

    RF24 radio(7, 8);

    const byte rxAddr[6] = "00001";

    void setup()
    {
    radio.begin();
    radio.setRetries(15, 15);
    radio.openWritingPipe(rxAddr);

    radio.stopListening();
    }

    void loop()
    {
    const char text[] = "Hello World";
    radio.write(&text, sizeof(text));

    delay(1000);
    }


    i odbiornika:

    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>

    RF24 radio(7, 8);

    const byte rxAddr[6] = "00001";

    void setup()
    {
    while (!Serial);
    Serial.begin(9600);

    radio.begin();
    radio.openReadingPipe(0, rxAddr);

    radio.startListening();
    }

    void loop()
    {
    if (radio.available())
    {
    char text[32] = {0};
    radio.read(&text, sizeof(text));

    Serial.println(text);
    }
    }
  • #5 17824541
    Konto nie istnieje
    Poziom 1  
  • #6 17824636
    LChucki
    Poziom 31  
    Posty: 1940
    Pomógł: 104
    Ocena: 379
    wygryw882 napisał:

    Tutaj jest schemat
    Moduł nrf24l01 dziwne zachowanie na monitorze portu szeregowego

    To nie jest schemat elektryczny (takim posługują się elektronicy), to jakieś malowanki a'la Picasso. Przykładowy schemat
    Moduł nrf24l01 dziwne zachowanie na monitorze portu szeregowego

    Natomiast kod, umieszcza się w znacznikach SYNTAX.
  • REKLAMA
  • #8 17826146
    wygryw882
    Poziom 2  
    Posty: 4
    kaczakat napisał:
    W szkicu masz ustawioną prędkość 9600, na jakiej prędkości masz podgląd w Serial Monitor?


    Podgląd mam również ustawiony na 9600
  • Pomocny post
    #9 17826339
    kaczakat
    Poziom 34  
    Posty: 1748
    Pomógł: 317
    Ocena: 230
    Schemat jest dobry, 10uF nie mam, mam przylutowane 100nF, "u mnie działa". Może pokiełbasiłeś MISO i MOSI, może kondensator nie daje rady. Ja miałem podpięte kabelki pod 9 i 10, łatwiej było zmienić w kodzie.
    Możesz sobie zobaczyć jeszcze taki przykład, odbiornik:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Nadajnik:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Faktycznie, zamieniłem, bo ktoś jeszcze nie zauważy :D.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #10 17826615
    Konto nie istnieje
    Poziom 1  
  • #11 17830462
    wygryw882
    Poziom 2  
    Posty: 4
    kaczakat napisał:
    Schemat jest dobry, 10uF nie mam, mam przylutowane 100nF, "u mnie działa". Może pokiełbasiłeś MISO i MOSI, może kondensator nie daje rady. Ja miałem podpięte kabelki pod 9 i 10, łatwiej było zmienić w kodzie.
    Możesz sobie zobaczyć jeszcze taki przykład


    Dzięki za pomoc, wszystko jest dobrze podłączone, ale dalej jest ten sam problem, nawet po wgraniu Twojego przykładu z mocniejszymi kondensatorami i na innych Arduino, chyba kupię nowe moduły nrf, może to coś da.
  • Pomocny post
    #12 17830557
    Konto nie istnieje
    Poziom 1  
  • #13 17830614
    kaczakat
    Poziom 34  
    Posty: 1748
    Pomógł: 317
    Ocena: 230
    Zależy co masz na myśli "mocniejsze" kondensatory, większa pojemność nie zawsze jest lepsza, dlatego na schematach przy stabilizatorach jest duży elektrolit i mały ceramik 100nF. Mały ceramiczny szybciej zareaguje niż 1500uF. Przy nRF duży nie zaszkodzi, brak 100nF może przeszkadzać, tym bardziej, że u mnie wystarcza sam 100nF.
    Pomogłem? Kup mi kawę.
  • #14 17830732
    Konto nie istnieje
    Poziom 1  

Podsumowanie tematu

✨ Użytkownik zgłasza problem z modułem nRF24L01, gdzie na monitorze portu szeregowego zamiast oczekiwanych napisów pojawiają się dziwne znaki. W odpowiedziach zasugerowano sprawdzenie ustawień prędkości komunikacji w Serial Monitor oraz poprawności połączeń. Użytkownik dostarczył schemat i kod dla nadajnika oraz odbiornika, jednak nadal występowały problemy. Wskazano na możliwość błędnego podłączenia pinów MISO i MOSI oraz na znaczenie kondensatorów w stabilizacji zasilania. Proponowano również użycie adapterów do nRF24L01, które zapewniają stabilne zasilanie 3V3. Użytkownik rozważa zakup nowych modułów nRF24L01 w celu rozwiązania problemu.
Wygenerowane przez model językowy.
REKLAMA