• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Nrf24l01 Mysensor Problem
#1
Question 
Witam mam mały problem z komunikacją za pomocą modułów nrf24l01. Jeden modułami podpięty do arduino uno a rdugi do arduino nano. Z arduino uno wszystko działa ok ale z arduino mini jest problem bo po ok 2s komunikacji zrywa połączenie. To wyrzuca na serial monitor


Kod:
send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,st=fail:
req node id
send: 255-255-255-0 s=255,c=3,t=3,pt=0,l=0,st=fail:
read: 0-0-255 s=255,c=3,t=8,pt=1,l=1:0
new parent=0, d=1
repeater started, id 255
req node id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
req node id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,st=fail:
req node id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,st=fail:


I nie wiem gdzie jest problem? Z góry dziękuje za pomoc.
 
Odpowiedź
#2
Sam bawię się tymi modułami i szczerze mogę powiedzieć że są naprawdę super.

Mam kilka pytań:

1) jakiej biblioteki używasz?
2) w jakiej konfiguracji masz moduły tzn Receiver - Repeater - node ?
3) jak adresujesz moduły?
4) ile bitów informacji wysyłasz na raz i jaki jest odstęp czasu między wysyłaniem?
 
Odpowiedź
#3
Pierwsza sprawa, kolego nie wrzucaj coś takiego
Kod:
send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,st=fail:
req node id
send: 255-255-255-0 s=255,c=3,t=3,pt=0,l=0,st=fail:
read: 0-0-255 s=255,c=3,t=8,pt=1,l=1:0
new parent=0, d=1
repeater started, id 255
req node id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
req node id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,st=fail:
req node id
send: 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,st=fail:
bo powiedz jak ci mamy pomóc kiedy kodu nie widzimy zamiesi listing programu opisz problem z tego nic nie wynika tyko ze zrywa a dlaczego może byk w listingu gdzie nie wiadomo bo nie widzę
 
Odpowiedź
#4
jeszcze 1 sprawa bardzo ważna 

Czasem trzeba dodać kondensator na module nrf24l01 między Vcc a GND wystarczy zwykły elektrolit 10uF /16V, może być większy.
 
Odpowiedź
#5
Z przerywaniem komunikacji poradziłem sobie. Wymieniłem arduino mini na nano i wszystko działa ok. Tylko teraz mam problem z obsługą 2 czujników na jednym arduino. W moim przypadku ds18b20 i przekaźników.
Mój kod http://pastebin.pl/view/df49eaca
Co wyrzuca serial monitor
Kod:
repeater started, id 2
send: 2-2-0-0 s=255,c=0,t=18,pt=0,l=5,st=ok:1.4.2
send: 2-2-0-0 s=255,c=3,t=6,pt=1,l=1,st=ok:0
send: 2-2-0-0 s=255,c=3,t=11,pt=0,l=15,st=fail:Temp and Relays
send: 2-2-0-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.0
send: 2-2-0-0 s=0,c=0,t=0,pt=0,l=0,st=fail:
send: 2-2-0-0 s=2,c=0,t=3,pt=0,l=0,st=ok:
send: 2-2-0-0 s=0,c=1,t=0,pt=7,l=5,st=ok:20.0

A gdy w domoticzu zmienię stan przekaźnika:
Kod:
repeater started, id 2
send: 2-2-0-0 s=255,c=0,t=18,pt=0,l=5,st=ok:1.4.2
send: 2-2-0-0 s=255,c=3,t=6,pt=1,l=1,st=ok:0
send: 2-2-0-0 s=255,c=3,t=11,pt=0,l=15,st=fail:Temp and Relays
send: 2-2-0-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.0
send: 2-2-0-0 s=0,c=0,t=0,pt=0,l=0,st=fail:
send: 2-2-0-0 s=2,c=0,t=3,pt=0,l=0,st=ok:
send: 2-2-0-0 s=0,c=1,t=0,pt=7,l=5,st=ok:20.0
read: 0-0-2 s=2,c=1,t=2,pt=0,l=1:0
Incoming change for sensor:2
Incoming change for sensor:2, New status: 0
send: 2-2-0-0 s=0,c=1,t=0,pt=7,l=5,st=fail:21.0
send: 2-2-0-0 s=0,c=1,t=0,pt=7,l=5,st=fail:22.1

Ktoś pomoże?
 
Odpowiedź
#6
ds18b20 te czujniki posiadają adresy wystarczy użyć adresowania i podpinasz je pod jeden pin, możesz pod osobne ale to strata portów maksymalnie do jednego pinu możesz podpiąć 225 sztuk czujników
 
Odpowiedź
#7
(10-10-2015, 22:15)adix napisał(a): ds18b20 te czujniki posiadają adresy wystarczy użyć adresowania i podpinasz je pod jeden pin, możesz pod osobne ale to strata portów maksymalnie do jednego pinu możesz podpiąć 225 sztuk czujników

Tak wiem. Ale mi chodzi o jednoczesne używanie na jednym arduino czujnika temp i przekaźników i tu niestety mam problem.
 
Odpowiedź
#8
Pod każdy przekaźnik potrzebujesz 1 wolny dowolny pin jeżeli ci brakuje pinów pod przekaźniki użyj scalaka PCF8574P jest to rozszerzenie pinów po i2c , sprawdź w specyfikacji ale chyba można podłączyć max 4 co daje dodatkowe 32 porty tracąc 2 na komunikację .

A w czym jest ten problem ? Wink
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#9
(12-10-2015, 13:46)JasQ napisał(a): Pod każdy przekaźnik potrzebujesz 1 wolny dowolny pin jeżeli ci brakuje pinów pod przekaźniki użyj scalaka PCF8574P jest to rozszerzenie pinów po i2c , sprawdź w specyfikacji ale chyba można podłączyć max 4 co daje dodatkowe 32 porty tracąc 2 na komunikację .

A w czym jest ten problem ? Wink

No gdy mam kod przekaźników i temperatury na jednym arduino zdarzają się problemy gdy np. arduino wysyła temperaturę a raspberry wysyła zmieniony stan przekaźnika i jest problem wtedy bo arduino wywala fail. Chyba trzeba będzie użyć 2 arduino.
 
Odpowiedź
#10
Jak to się objawia albo co się dzieje z arduino może jest jakiś pik i ardu się wisza
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości