belkocik Napisano Lipiec 14, 2019 Udostępnij Napisano Lipiec 14, 2019 (edytowany) Czesc. Zmontowalem sobie uklad ktory bedzie sterowal silnikami: przod i tyl. Program wgrany do nadajnika i odbiornika, ladnie pieknie wszystko pokazane w monitorze portu szergowego, ze pozycje joysticka sa odczytane lecz silniki nie ruszaja sie. Moze mi ktos wytlumaczyc dlaczego tak sie dzieje? Zasilanie 2x 18650 przetwornica wyregulowane na 6V - silniki + arduino uno/ joystick shield + uno - zasilanie z portu usb. Silniki normalne kreca sie podpiete jak na schemacie i podanie tych wartosci co w kodzie, ale bez nrfa i joysticka wiec sa sprawne oraz mostek h. Sprawdzalem tez na innym joystick shieldzie i tez tez nie dziala Czasami mi w terminalu takie cos wyskakuje (zalacznik) To nie sa bledy? RF24 wersja 1.1.6 Kod Nadajnika (joystick shield+ uno): #include <SPI.h> #include "RF24.h" #define ce 9 #define csn 10 RF24 myRadio (ce, csn); byte addresses[][6] = {"0"}; struct package { int X=1; int Y=1; }; typedef struct package Package; Package data; void setup() { Serial.begin(115200); delay(100); myRadio.begin(); myRadio.setChannel(115); myRadio.setPALevel(RF24_PA_MIN); myRadio.setDataRate( RF24_250KBPS ) ; myRadio.openWritingPipe( addresses[0]); delay(100); } void loop() { myRadio.write(&data, sizeof(data)); Serial.print("X:"); Serial.print(data.X); Serial.print(" Y"); Serial.println(data.Y); data.X = analogRead(A0); data.Y = analogRead(A1); delay(100); } Kod odbiornika (uno + silniki): #include <SPI.h> #include "RF24.h" #define ce 9 #define csn 10 RF24 myRadio (ce, csn); struct package { int X=351; int Y=328; }; byte addresses[][6] = {"0"}; int OUT1 = 5; int OUT2 = 6; int OUT3 = 7; int OUT4 = 8; typedef struct package Package; Package data; void setup() { Serial.begin(115200); delay(1000); myRadio.begin(); myRadio.setChannel(115); myRadio.setPALevel(RF24_PA_MAX); myRadio.setDataRate( RF24_250KBPS ) ; myRadio.openReadingPipe(1, addresses[0]); myRadio.startListening(); pinMode(OUT1, OUTPUT); pinMode(OUT2, OUTPUT); pinMode(OUT3, OUTPUT); pinMode(OUT4, OUTPUT); } void loop() { if ( myRadio.available()) { while (myRadio.available()) { myRadio.read( &data, sizeof(data) ); } Serial.print("X:"); Serial.print(data.X); Serial.print(" Y"); Serial.println(data.Y); int X = data.X; int Y = data.Y; if(Y>400){ digitalWrite(OUT1,1); digitalWrite(OUT2,0); digitalWrite(OUT3,0); digitalWrite(OUT4,1); }else if(Y<200){ digitalWrite(OUT1,0); digitalWrite(OUT2,1); digitalWrite(OUT3,1); digitalWrite(OUT4,0); } else{ digitalWrite(OUT1,0); digitalWrite(OUT2,0); digitalWrite(OUT3,0); digitalWrite(OUT4,0); } } } Edytowano Lipiec 14, 2019 przez belkocik
ethanak Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Chwila moment... Gdzie na tym czymś co uznałeś pewnie za schemat (czyli ładnym kolorowym obrazku z Fritzinga) masz jakąś przetwornicę? Mnie np. nie interesuje to, że potrafisz ładnie narysować z natury jak wygląda Arduino czy bateryjka ale gdzie te zasilanie podłączyłeś (bo pewnie źle)... jeśli nie potrafisz wysłać schematu (tam we Fritzingu jest taki przełącznik na widok schematu) to machnij to ołówkiem na kartce i zrób zdjęcie komórką - da nam to dużo więcej, a obrazek płytki stykowej kunsztownie w kolorach namalowany powieś sobie na ścianie. W programie masz zadeklarowane, że silniki mają się ruszać jak dla Y < 200 lub Y > 400. Czy wartość Y=328 spełnia ten warunek? Bo innych nie pokazałeś... nie wiem, czy te 328 to wynik przesłanego przez radio odczytu joysticka czy może pozostałość po inicjalizacji... czy w ogóle cokolwiek jest czytane... Jeśli nie stosujesz zmiennej długości pakietów to daj dla pewności w setup (zarówno w odbiorniku jak i w nadajniku) coś w stylu: radio.setPayloadSize(sizeof(Package)); Tak przy okazji w ten sposób się nie robi inicjalizacji - nie wiem dlaczego kompilator nie wyrzucił ostrzeżenia. Powinno być co podobnego do: typedef struct { int X; int Y; } Package; Package data = {351, 328}; I jeszcze jedno: jak przesyłasz wyniki z terminala to je skopiuj i wklej na forum używając funkcji "Wstaw kod" w treści, zamiast wklejać screenshoty jako załączniki, bo przede wszystkim nie każdy lubi czytanie z obrazków (szczególnie na komórkach nic nie widać), w większości przypadków połowa (ta ważniejsza) jest ucięta, nie wiadomo do którego zdjęcia odnosi się określenie "w załączniku" i w efekcie możesz w zamian dostać zdjęcie odpowiedzi zamiast odpowiedzi. Jeszcze przy okazji: nieprzypadkowo w każdym praktycznie przykładzie z nRF24 masz wywołanie radio.printDetails() - przynajmniej wiesz, że radio działa (albo nie) prawidłowo, a wyrzucić z gotowego kodu zawsze możesz. 1
belkocik Lipiec 15, 2019 Autor tematu Udostępnij Lipiec 15, 2019 (edytowany) Na wstepie dziekuje, ze sie zainteresowales tematem bo to dla mnie bardzo wazne W zalaczniku jest schemat. Mam nadzieje ze jest czytelny. Zasilanie 6V z jest wpiete do gniazda zasilajacego 2.1/5.5 w arduino. 8 godzin temu, ethanak napisał: W programie masz zadeklarowane, że silniki mają się ruszać jak dla Y < 200 lub Y > 400. Czy wartość Y=328 spełnia ten warunek? Bo innych nie pokazałeś... nie wiem, czy te 328 to wynik przesłanego przez radio odczytu joysticka czy może pozostałość po inicjalizacji... czy w ogóle cokolwiek jest czytane... Czyta pozycje joysticka jak przechylam w tyl i przod. Jest warunek, jesli zadnych z tych nie jest spelniony to silniki nie kreca sie (jak joystick jest na srodku): else{ digitalWrite(OUT1,0); digitalWrite(OUT2,0); digitalWrite(OUT3,0); digitalWrite(OUT4,0); } Czy raczej zrobic to tak?: if ( 300 < Y < 350) { digitalWrite(OUT1,0); digitalWrite(OUT2,0); digitalWrite(OUT3,0); digitalWrite(OUT4,0); } No coz ide dalej testowac. Edytowano Lipiec 15, 2019 przez belkocik
ethanak Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Tak na szybko: Arduino wymaga co najmniej 7V na gnieździe zasilania. Możesz akumulatory podłączyć bezpośrednio, a przetwornicą zasilać tylko silniki. Kod odbiornika (przynajmniej ten rosochaty if) jest w porządku, nie musisz nic kombinować, tyle że pokazałeś nam sytuację kiedy silniki powinny być zatrzymane... coś pisałem o ślicznych fotkach z ekranu? Chciałbym wiedzieć co się dzieje kiedy joystick jest w innej pozycjo niż na środku - bo tu akurat wszystko działa prawidłowo. 1
belkocik Lipiec 15, 2019 Autor tematu Udostępnij Lipiec 15, 2019 (edytowany) 33 minuty temu, ethanak napisał: Tak na szybko: Arduino wymaga co najmniej 7V na gnieździe zasilania. Możesz akumulatory podłączyć bezpośrednio, a przetwornicą zasilać tylko silniki. Kod odbiornika (przynajmniej ten rosochaty if) jest w porządku, nie musisz nic kombinować, tyle że pokazałeś nam sytuację kiedy silniki powinny być zatrzymane... coś pisałem o ślicznych fotkach z ekranu? Chciałbym wiedzieć co się dzieje kiedy joystick jest w innej pozycjo niż na środku - bo tu akurat wszystko działa prawidłowo. Przechylam joystick w osi y na przod -> ponad 600 = 0 reakcji ze strony silnikow, tak samo w druga strone. Ide pokombinowac z tym zasilaniem. https://drive.google.com/open?id=1-HuTl9_AoYUIMBWx9DNJNppB8HiJU4-C Czasami cos przycina i te wartosci powoli sie pojawiaja gdy zmieniam polozenie joysticka. Edytowano Lipiec 15, 2019 przez belkocik
deshipu Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 46 minut temu, belkocik napisał: if ( 300 < Y < 350) { Takie konstrukcje w C++ (a więc i w Arduino) oznaczają co innego niż w Pythonie. Napisz to jako dwa warunki. 1
ethanak Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Podziel sobie problem na cztery etapy. Pierwszy: przesyłanie danych. Nie podłączasz do Arduino nic poza radyjkiem, zasilasz z USB, doprowadzasz do tego, że odbiornik (jakiś print na serialu) będzie prawidłowo reagował na joystick w nadajniku. Drugi: Napisz kod sterujący silnikami (to już podobno masz). Trzeci: podłącz prawidłowo zasilanie. Czwarty: połącz to wszystko do kupy. @deshipu: to nie jest konstrukcja Pythona tylko Icona, jeden z ostatnich iconismów w Pythonie, niestety mimo podobnego wyglądu nie działa tak jak w oryginale, lepiej tego nie stosować. 1
deshipu Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 17 minut temu, ethanak napisał: @deshipu: to nie jest konstrukcja Pythona tylko Icona, jeden z ostatnich iconismów w Pythonie, niestety mimo podobnego wyglądu nie działa tak jak w oryginale, lepiej tego nie stosować. Masz rację, autor na pewno nauczył się tej konstrukcji z Icona.
ethanak Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Dokładnie tak. Konstrukcja typu a<b<c powstała właśnie z Iconowego GDE, chodziło o to, aby w Pythonie było to dopuszczalne. Różnica jest taka, że wyrażenie a<b albo zwraca prawą stronę, albo pada. Jeśli padnie - to dalej nic się nie robi. Jeśli nie - sprawdzamy, czy prawdziwe jest wyrażenie b < c (bo b jest wynikiem działania a<b). W Pythonie powstała jakaś dziwaczna konstrukcja... Trochę szacunku i poznania języków które były przed Pythonem na pewno by Ci nie zaszkodziło. Proponuję zacząć od Snobol4 (bo to był prekursor dzisiejszych języków przeznaczonych do operacjach na tekstach, z regexpami włącznie). 1
deshipu Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 Jestem pewien, że twój post bardzo pomoże autorowi. Mi już bardzo pomógł. Wielkie dzięki!
belkocik Lipiec 15, 2019 Autor tematu Udostępnij Lipiec 15, 2019 (edytowany) Zaczalem od komunikacje pomiedzy dwoma nrfami. Wgralem kod do sprawdzania z robotbloga (nie wiem czy moge kopiowac, ale skopiowalem zeby nie trzeba bylo wchodzic): kod nadajnika #include <SPI.h> #include "nRF24L01.h" #include "RF24.h" #define CE_PIN 9 #define CSN_PIN 10 #define JOYSTICK_X A0 #define JOYSTICK_Y A1 const uint64_t pipe = 0xE8E8F0F0E1LL; RF24 radio(CE_PIN, CSN_PIN); int joystick[6]; int upbut = 2; int rightbut = 3; int downbut = 4; int leftbut = 5; void setup() { Serial.begin(9600); radio.begin(); radio.openWritingPipe(pipe); pinMode(upbut,INPUT); digitalWrite(upbut,LOW); pinMode(rightbut,INPUT); digitalWrite(upbut,LOW); pinMode(downbut,INPUT); digitalWrite(downbut,LOW); pinMode(leftbut,INPUT); digitalWrite(leftbut,LOW); } void loop() { joystick[0] = analogRead(JOYSTICK_X); joystick[1] = analogRead(JOYSTICK_Y); joystick[2] = digitalRead(upbut); joystick[3] = digitalRead(rightbut); joystick[4] = digitalRead(downbut); joystick[5] = digitalRead(leftbut); radio.write( joystick, sizeof(joystick) ); Serial.print("X = "); Serial.print(analogRead(JOYSTICK_X)); Serial.print(" Y = "); Serial.print(analogRead(JOYSTICK_Y)); Serial.print(" Y = "); Serial.print(" Up = "); Serial.print(digitalRead(upbut)); Serial.print(" Right = "); Serial.print(digitalRead(rightbut)); Serial.print(" Down = "); Serial.print(digitalRead(downbut)); Serial.print(" Left = "); Serial.println(digitalRead(leftbut)); } kod odbiornika: #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #define CE_PIN 9 #define CSN_PIN 10 const uint64_t pipe = 0xE8E8F0F0E1LL; RF24 radio(CE_PIN, CSN_PIN); int joystick[6]; void setup() { Serial.begin(9600); delay(1000); Serial.println("START"); radio.begin(); radio.openReadingPipe(1,pipe); radio.startListening();; } void loop() { if ( radio.available() ) { bool done = false; while (!done) { done = radio.read( joystick, sizeof(joystick) ); int joystickX = map(joystick[0],0,1023,0,180); int joystickY = map(joystick[1],0,1023,0,180); int upbut = joystick[2]; int rightbut = joystick[3]; int downbut = joystick[4]; int lefttbut = joystick[5]; Serial.print("X = "); Serial.print(joystickX); Serial.print(" Y = "); Serial.print(joystickY); Serial.print(" Up = "); Serial.print(joystick[2]); Serial.print(" Right = "); Serial.print(joystick[3]); Serial.print(" Down = "); Serial.print(joystick[4]); Serial.print(" Left = "); Serial.println(joystick[5]); delay(15); } } else { Serial.println("Nie znaleziono nadajnika"); } } Do tego zmienilem linijke: void loop() { if ( radio.available() ) { bool done = false; while (!done) { done = radio.read( joystick, sizeof(joystick) ); int joystickX = map(joystick[0],0,1023,0,180); int joystickY = map(joystick[1],0,1023,0,180); (...) na void loop() { if ( radio.available() ) { radio.read( joystick, sizeof(joystick) ); int joystickX = map(joystick[0],0,1023,0,180); int joystickY = map(joystick[1],0,1023,0,180); (...) bo nie chcialo sie kompilowac i to rozwiazanie znalazlem w sieci: https://forum.arduino.cc/index.php?topic=302380.0 I pozniej w monitorze portu szeregowego nadajnika pokazuje mi te wspolrzedne joysticka i zmieniaja sie przy zmianie polozenia joysticka oraz stany na przyciskach. Z drugiej strony w monitorze portu szeregowego odbiornika wyskakuje ze "nie znaleziono nadajnika" i jak ruszam to nie pokazuje wspolrzednych joysticka i stanow na przyciskach podczas klikania jak w przypadku nadajnika. Juz nie wiem co robic kompletnie. Edytowano Lipiec 15, 2019 przez belkocik
ethanak Lipiec 15, 2019 Udostępnij Lipiec 15, 2019 "Nie znaleziono nadajnika" w Twoim przypadku oznacza, że próbowałeś coś odebrać i nie wyszło bo nadajnik akurat w tym momencie nie nadawał. Dałem Ci przykład z ustaleniem rozmiaru przesyłanego pakietu - nie chciałeś go, to Twoja sprawa. Ale więcej nie proś. @deshipu wybacz, że nie uważam Ciebie za "Omnipotens, Omnisapiens et Opera Omnia" (mam nadzieję że wiesz skąd to cytat) ale trochę pokory. Być może mój post nie pomógł koledze (przynajmniej ten o iconismach) ale Twój tym bardziej. Zadzwoń sobie do Rossuma i zapytaj skąd się ta konstrukcja wzięła, może jak będzie miał dobry humor to Ci wyjaśni. A teraz marsz do książek, jak chcesz być postrzegany jako znawca Pythona to poczytaj sobie skąd on się wziął, jak poczytasz to się zgłoś. Nie wcześniej. 1
belkocik Lipiec 15, 2019 Autor tematu Udostępnij Lipiec 15, 2019 (edytowany) Tresc z monitoru portu szereowego: 19:11:45.517 -> CheckConnection Starting 19:11:45.517 -> 19:11:45.517 -> FIRST WITH THE DEFAULT ADDRESSES after power on 19:11:45.550 -> Note that RF24 does NOT reset when Arduino resets - only when power is removed 19:11:45.618 -> If the numbers are mostly 0x00 or 0xff it means that the Arduino is not 19:11:45.721 -> communicating with the nRF24 19:11:45.755 -> 19:11:45.755 -> STATUS = 0x00 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=0 TX_FULL=0 19:11:45.821 -> RX_ADDR_P0-1 = 0x0000000000 0x0000000000 19:11:45.855 -> RX_ADDR_P2-5 = 0x00 0x00 0x00 0xff 19:11:45.889 -> TX_ADDR = 0xffffffffff 19:11:45.924 -> RX_PW_P0-6 = 0xff 0x00 0x00 0x00 0x00 0x00 19:11:45.992 -> EN_AA = 0x00 19:11:45.992 -> EN_RXADDR = 0x00 19:11:46.026 -> RF_CH = 0x00 19:11:46.026 -> RF_SETUP = 0x00 19:11:46.060 -> CONFIG = 0x00 19:11:46.060 -> DYNPD/FEATURE = 0x00 0x00 19:11:46.095 -> Data Rate = 1MBPS 19:11:46.129 -> Model = nRF24L01 19:11:46.129 -> CRC Length = Disabled 19:11:46.164 -> PA Power = PA_MIN 19:11:46.199 -> 19:11:46.199 -> 19:11:46.199 -> AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1 19:11:46.268 -> and 250KBPS data rate 19:11:46.268 -> 19:11:46.268 -> STATUS = 0x00 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=0 TX_FULL=0 19:11:46.336 -> RX_ADDR_P0-1 = 0x0000000000 0x0000000000 19:11:46.403 -> RX_ADDR_P2-5 = 0x00 0x00 0x00 0xff 19:11:46.436 -> TX_ADDR = 0xffffffffff 19:11:46.469 -> RX_PW_P0-6 = 0xff 0x00 0x00 0x00 0x00 0x00 19:11:46.503 -> EN_AA = 0x00 19:11:46.536 -> EN_RXADDR = 0x00 19:11:46.536 -> RF_CH = 0x00 19:11:46.571 -> RF_SETUP = 0x00 19:11:46.571 -> CONFIG = 0x00 19:11:46.605 -> DYNPD/FEATURE = 0x00 0x00 19:11:46.638 -> Data Rate = 1MBPS 19:11:46.638 -> Model = nRF24L01 19:11:46.672 -> CRC Length = Disabled 19:11:46.705 -> PA Power = PA_MIN 19:11:46.705 -> 19:11:46.705 -> po wgraniu tego kodu do sprawdzania polaczenia pomiedzy arduino a nrfem ( w tym przypadku joystick shield + arduino i nrf. Jest duzo tych 0x00 wiec cos jest nie tak. // 18 Mar 2018 - simple program to verify connection between Arduino // and nRF24L01+ // This program does NOT attempt any communication with another nRF24 #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #include <printf.h> #define CE_PIN 9 #define CSN_PIN 10 const byte thisSlaveAddress[5] = {'R','x','A','A','A'}; RF24 radio(CE_PIN, CSN_PIN); char dataReceived[10]; // this must match dataToSend in the TX bool newData = false; void setup() { Serial.begin(9600); printf_begin(); Serial.println("CheckConnection Starting"); Serial.println(); Serial.println("FIRST WITH THE DEFAULT ADDRESSES after power on"); Serial.println(" Note that RF24 does NOT reset when Arduino resets - only when power is removed"); Serial.println(" If the numbers are mostly 0x00 or 0xff it means that the Arduino is not"); Serial.println(" communicating with the nRF24"); Serial.println(); radio.begin(); radio.printDetails(); Serial.println(); Serial.println(); Serial.println("AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1"); Serial.println(" and 250KBPS data rate"); Serial.println(); radio.openReadingPipe(1, thisSlaveAddress); radio.setDataRate( RF24_250KBPS ); radio.printDetails(); Serial.println(); Serial.println(); } void loop() { } A tutaj sam nrf i arduino: 19:17:14.033 -> CheckConnection Starting 19:17:14.033 -> 19:17:14.033 -> FIRST WITH THE DEFAULT ADDRESSES after power on 19:17:14.101 -> Note that RF24 does NOT reset when Arduino resets - only when power is removed 19:17:14.168 -> If the numbers are mostly 0x00 or 0xff it means that the Arduino is not 19:17:14.271 -> communicating with the nRF24 19:17:14.304 -> 19:17:14.304 -> STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0 19:17:14.372 -> RX_ADDR_P0-1 = 0x3130303030 0x4141417852 19:17:14.405 -> RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6 19:17:14.438 -> TX_ADDR = 0xe7e7e7e7e7 19:17:14.472 -> RX_PW_P0-6 = 0x20 0x20 0x00 0x00 0x00 0x00 19:17:14.539 -> EN_AA = 0x3f 19:17:14.539 -> EN_RXADDR = 0x02 19:17:14.572 -> RF_CH = 0x4c 19:17:14.572 -> RF_SETUP = 0x01 19:17:14.606 -> CONFIG = 0x0e 19:17:14.606 -> DYNPD/FEATURE = 0x00 0x00 19:17:14.640 -> Data Rate = 1MBPS 19:17:14.674 -> Model = nRF24L01+ 19:17:14.674 -> CRC Length = 16 bits 19:17:14.674 -> PA Power = PA_MIN 19:17:14.708 -> 19:17:14.708 -> 19:17:14.708 -> AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1 19:17:14.775 -> and 250KBPS data rate 19:17:14.775 -> 19:17:14.775 -> STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0 19:17:14.842 -> RX_ADDR_P0-1 = 0x3130303030 0x4141417852 19:17:14.911 -> RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6 19:17:14.946 -> TX_ADDR = 0xe7e7e7e7e7 19:17:14.981 -> RX_PW_P0-6 = 0x20 0x20 0x00 0x00 0x00 0x00 19:17:15.016 -> EN_AA = 0x3f 19:17:15.051 -> EN_RXADDR = 0x02 19:17:15.051 -> RF_CH = 0x4c 19:17:15.086 -> RF_SETUP = 0x21 19:17:15.086 -> CONFIG = 0x0e 19:17:15.121 -> DYNPD/FEATURE = 0x00 0x00 19:17:15.154 -> Data Rate = 250KBPS 19:17:15.154 -> Model = nRF24L01+ 19:17:15.187 -> CRC Length = 16 bits 19:17:15.221 -> PA Power = PA_MIN 19:17:15.221 -> 19:17:15.221 -> EDIT: Zmienilem joystick shield na inny bo mam drugi i przesyla dane (wczesniej zrobiilem ten test i nie bylo duzo tych 0x00. Boze ale mam przeboje. Wszystko dziala tak jak nalezy - winny byl joystick shield. Na cale szczescie mialem zapasowy. Edytowano Lipiec 17, 2019 przez belkocik
ethanak Lipiec 16, 2019 Udostępnij Lipiec 16, 2019 Fajnie że działa! Co do tych zer: w praktyce moduł radiowy albo działa, albo nie jest wykryty. Wystarczy spojrzeć na "Model" - jeśli jest nRF24L01+ (tak, z plusem na końcu) to znaczy że został wykryty. To samo RX_ADDR i TX_ADDR - mają się zgadzać z tym co podałeś i nie trzeba dalej analizować wyników printDetails() bo na tym etapie są mało interesujące 1
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »