Pytanie:
Wysyłanie wartości z jednego arduino do drugiego
Camilo
2015-09-21 12:18:16 UTC
view on stackexchange narkive permalink

Zastanawiam się, czy możliwe jest przesłanie wartości z jednego arduino do drugiego.

Zasadniczo mam jeden pomiar arduino, powiedzmy, wagę, ale chcę wyświetlić tę wartość za pomocą wyświetlacza LCD w innym arduino. Czy możliwe jest przesłanie wartości do pinu za pomocą zapisu analogowego lub cyfrowego w arduino wykonującym pomiar i użycie odczytu analogowego / cyfrowego w drugim arduino wykonującym wyświetlacz?

Nie wiem, czy jest to możliwe, ale atrakcyjne jest to, że można mieć kilka arduino dokonujących pomiarów wagi, a wszystkie są wyświetlane na ekranie tylko jednego centralnego ...

Trzy odpowiedzi:
Hans Kilian
2015-09-21 19:25:39 UTC
view on stackexchange narkive permalink

Możesz mieć LCD Arduino jako master I2C, a wszystkie ważące Arduino będą niewolnikami. Oto przykład komunikacji i okablowania master / slave: https://www.arduino.cc/en/Tutorial/MasterReader.

I2C obsługuje do 128 urządzeń, a okablowanie jest bardzo proste.

Dokładnie to, czego szukałem, dzięki!
Lokanath
2015-09-21 12:32:16 UTC
view on stackexchange narkive permalink

Tak, jest to możliwe, odpowiedź podaje jedną z podstawowych metod zrobienia tego

Połączenia

  Arduino1 Arduino2 TX ---------- ----- >RX RX --------------- >TX 

Arduino1 Sketch:

  void setup ( ) {Serial.begin (9600); delay (2000);} void loop () {//// odczyt danych z czujnika do zmiennej Serial.println (sensorDataVariable); opóźnienie (2000); // Nie zalewać portu szeregowego}  

Szkic Arduino2:

  int byteRead; void setup () {Serial.begin (9600); delay (2000);} void loop () {/ * sprawdź, czy dane zostały wysłane z komputera: * / while (Serial.available ()) {/ * odczytuje najnowszy bajt * / byteRead = Serial.read () ; // teraz byteRead będzie miał najnowszy czujnik // dane wysłane z Arduino1} // Napisz kod, aby wyświetlić wartości na LCD}  

mam nadzieję, że to pomoże

Will this option be limited to only two arduinos? I would like several arduinos transmitting weigh values to a central arduino.
you can but use Arduino 2 sketch on all other receivers,,broad cast form one arduino and receive from many,,,you should do more research
Jak możemy to osiągnąć, jeśli chcielibyśmy zrobić to odwrotnie? Arduino 2 wysyła dane do Arduino 1.
Majenko
2015-09-21 14:25:31 UTC
view on stackexchange narkive permalink

Aby powiązać wiele Arduino, musisz wymyślić jakąś topologię sieci i jakąś formę protokołu sieciowego.

Wymagania są następujące:

  1. Arduino nie może (elektrycznie) kolidują ze sobą
  2. Musi istnieć sposób, aby dowiedzieć się, które Arduino wysyła co i dokąd

Te dwa punkty można rozwiązać, mając osobny połączenie dla każdego Arduino, ale kończy się to skomplikowaniem, a Arduino ma ograniczone zasoby do tworzenia takich połączeń (naprawdę musisz użyć sprzętowych portów UART, a Uno ma tylko 1. Mega ma 4).

Lepszym rozwiązaniem jest użycie systemu magistrali (znanego również jako sieć wielopunktowa ). Istnieje wiele istniejących i dobrze obsługiwanych metod, aby to zrobić. W systemie motoryzacyjnym używana jest CAN Bus. W przemyśle system RS-485 jest często używany.

Osobiście wolę RS-485, ponieważ jest dobrze ugruntowany. Istnieje wiele standardowych protokołów, które działają na RS-485, na przykład MODBUS, ale dla świata Arduino napisałem własny, lekki protokół, który jest znacznie prostszy w obsłudze. Możesz dowiedzieć się więcej tutaj: https://github.com/MajenkoLibraries/ICSC



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...