Skocz do zawartości

Przesyłanie miedzy dwoma arduino wartości z czterech potencjometrów


koik

Pomocna odpowiedź

Witam, tak jak w temacie. Chcę na jednym arduino odczytać wartości czterech potencjometrów i przesłać do drugiego, który będzie sterował serwomechanizmami.

Pierwsze arduino:

void loop() {
 odczytADC = analogRead(SERVO_PIN);
 Serial.println(odczytADC);

Drugie:

void loop() {

if(Serial.available()>0){
 odczytADC= Serial.readStringUntil('\n');

odcz = odczytADC.toInt();
Serial.println(odcz);
kat = map(odcz,0,1023,10,170);
servo.write(kat);

To przykład wysłania jednej wartości, nie wiem czy jest ona dobra. Cztery wartości trzeba wysłać w tablicy, ale niestety nie za bardzo mogę zrozumieć przykłady. Czy mógłby mi ktoś w tym pomóc?

[ Dodano: 29-02-2016, 14:17 ]

Po uruchomieniu na szeregowym monitorze wartości joysticka to:

Pozycja Y: 0

Pozycja X: 0

Pozycja Y: 349

Pozycja X: 338

Pozycja Y: 327

Pozycja X: 321

Pozycja Y: 0

Pozycja X: 0

Pozycja Y: 349

Pozycja X: 338

Pozycja Y: 327

Pozycja X: 321

Pozycja Y: 0

Pozycja X: 0

Pozycja Y: 349

Pozycja X: 338

Pozycja Y: 327

Pozycja X: 321

Pozycja Y: 0

Pozycja X: 0

Pozycja Y: 349

Pozycja X: 338

Pozycja Y: 327

Pozycja X: 321

Pozycja Y: 0

Pozycja X: 0

Pozycja Y: 349

Pozycja X: 338

Pozycja Y: 327

Pozycja X: 321

Pozycja Y: 0

Pozycja X: 0

Czy ma ktoś pomysł dlaczego czasami odczyty są równe zero?

Link do komentarza
Share on other sites

Chcesz odczytać wartość z 4 potencjometrów ( jak rozumiem 2* joystick x/y ) a z wysyłanych danych wyraźnie widać, że robisz to z 6 potencjometrów ( powtarzają się sekwencję y/x 0/0 , y/x 349/338, y/x 327/321 ).

Czyli pewnie błąd w kodzie pętli, ale kodu w całości nie zamieściłeś, więc nie mamy o czym debatować.

Link do komentarza
Share on other sites

To kod do pracy inżynierskiej i jeżeli wrzucę go w całości to później będzie on traktowany jako plagiat :/

Czy jest możliwość, aby arduina wysyłały między sobą informacje? Np jest samochód przewodowy, sterowany po rx, a w samochodzie jest czujnik temperatury.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Skoro każde Arduino ma np. dwukierunkowy UART umiejący jednocześnie wysyłać i odbierać informacje szeregowo to wystarczy byś zapewnił, że gdzieś po drodze będzie się to mijało. Przecież zrobiłeś przesyłanie czegośtam z jednej płytki do drugiej. Dlaczego miałoby to samo nie zadziałać w drugą stronę?

Trochę to dziecinne pytanie jak na OMC inżyniera 😐

Link do komentarza
Share on other sites

To kod do pracy inżynierskiej i jeżeli wrzucę go w całości to później będzie on traktowany jako plagiat :/

Bzdura. Jak może być plagiatem coś tego samego autora? Czy może piszesz tą pracę komuś?

Jakim problemem jest udowodnienie, że to ty wrzuciłeś?

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.