Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino pomiędzy Bluetooth a drugim arduino

error105 12 Lut 2018 19:17 327 5
  • #1 12 Lut 2018 19:17
    error105
    Poziom 5  

    Hej,
    chciałem zmontować na Arduino przewalanie z jednego SoftwareSerial na drugi SoftwareSerial danych.
    W sensie arduino1 byłoby mostem pomiędzy drugim arduino2 a układem HC-06.
    Wstępnie napisałem coś takiego:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Niestety nic się nie przesyła :(

    0 5
  • #2 13 Lut 2018 21:41
    error105
    Poziom 5  

    Ktos cos ??

    0
  • #3 14 Lut 2018 00:51
    alienHater
    Poziom 10  

    Hmm to cały kod?
    Nie do końca rozumiem założeń.
    Arduino1 - Arduino 2(kod powyżej) - moduł BT.
    Arduino łączy się przez uart(rs) ?

    Jaki model płytki?
    Masz 1 hardware Uart? Byłoby lepiej uźyć dwóch sprzętowych...

    1 sprawa, co to za wejście/ pin Bluetooth?

    Podciągasz do stanu wysokiego(input pullup) i odpalasz transmisję gdy jest w stanie wysokim:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Tak ma być?
    Może masz ją odpalać dla digitalRead(Bluetooth) == LOW?

    0
  • #4 14 Lut 2018 03:31
    error105
    Poziom 5  

    Wiec tak, uklad HC ma stan wysoki gdy jest polaczony, stan niski gdy czeka na polaczenie - stad kod wykonywany tylko gdy zostanie podany stan wysoki :)

    Plytki to 2x Arduino NANO, czyli maja po jednym serial porcie sprzetowym ?


    Arduino1 - Arduino 2(kod powyżej) - moduł BT
    Arduino1(kod powyzej) - Arduino 2 - moduł BT

    Czemu tak ? Jak dodam gotowe biblioteki, to niestety zaczyna brakowac mi pamieci dynamicznej, a tak sobie odciaze jedna atmege od drugiej, dodatkowo bede mogl latwo usypiac ta jedna - przy moim zakresie wiedzy z programowania to latwiejsze rozwiazanie, z czasem jak opanuje juz to troche mysle ze optymalizacja kodu wystarczy.

    0
  • #5 14 Lut 2018 07:58
    JacekCz
    Poziom 36  

    error105 napisał:

    Czemu tak ? Jak dodam gotowe biblioteki, to niestety zaczyna brakowac mi pamieci dynamicznej, a tak sobie odciaze jedna atmege od drugiej, dodatkowo bede mogl latwo usypiac ta jedna - przy moim zakresie wiedzy z programowania to latwiejsze rozwiazanie, z czasem jak opanuje juz to troche mysle ze optymalizacja kodu wystarczy.


    Dziwna argumentacja. Im więcej klocków, tym większa mozliwość, że pójdzie nie tak.
    Zwiększenie złożoności "bo tak łatwiej" nigdy nie jest lekarstwem. Zajmujesz jedyny "popularny sposób do debugowania" czyli Serial

    0
  • #6 14 Lut 2018 09:59
    alienHater
    Poziom 10  

    1) Przetestowałeś wcześniej komunikację z modułem BT?
    Musisz sprawdzić czy 1 moduł wgl coś wysyła.

    Zmniejsz może baud na 9600 na początek. Dobrze by było sprawdzić czy na pewno twój most przesyła dane w niezmienionej postaci.
    Dla modułu BT, z przykładowej aplikacji: 9600 baud rate, N, 8, 1.
    Instrukcje należy wysyłać bez znaku zakończenia linii.

    Software.serial może mieć znaczne opóźnienia.

    0