Otázka:
Odeslání hodnoty z jednoho arduina do druhého
Camilo
2015-09-21 12:18:16 UTC
view on stackexchange narkive permalink

Zajímalo by mě, zda je možné poslat hodnotu z jednoho arduina do druhého.

V podstatě mám jedno měření Arduina, řekněme váhu, ale chci tuto hodnotu zobrazit pomocí LCD v jiném Arduinu. Je možné poslat hodnotu na pin pomocí analogového zápisu nebo digitálního zápisu do arduina provádějícího měření a použít analogread / digitalread na druhém arduinu vytvářejícím displej?

Nevím, jestli je to možné, ale atraktivní je, že jeden může mít několik arduino provádějících měření hmotnosti, vše se zobrazuje na displeji pouze jednoho centrálního ...

Tři odpovědi:
Hans Kilian
2015-09-21 19:25:39 UTC
view on stackexchange narkive permalink

Můžete mít LCD Arduino jako I2C master a všichni vážící Arduinové jako otroci. Zde je příklad komunikace master / slave a kabeláže: https://www.arduino.cc/en/Tutorial/MasterReader.

I2C podporuje až 128 zařízení a zapojení je velmi jednoduché.

Přesně to, co jsem také hledal, děkuji!
Lokanath
2015-09-21 12:32:16 UTC
view on stackexchange narkive permalink

Ano, je to možné, odpověď poskytuje jednu ze základních metod, jak toho dosáhnout

Připojení

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

Arduino1 Sketch:

  void setup ( ) {Serial.begin (9600); delay (2000);} void loop () {//// načíst data senzoru do proměnné Serial.println (sensorDataVariable); zpoždění (2000); // Nezaplavit sériový port}  

Arduino2 Sketch:

  int byteRead; void setup () {Serial.begin (9600); delay (2000);} void loop () {/ * zkontrolujte, zda byla data odeslána z počítače: * / while (Serial.available ()) {/ * přečtěte si poslední bajt * / byteRead = Serial.read () ; // nyní byteRead bude mít nejnovější senzor // data odeslaná z Arduino1} // Napište kód pro zobrazení hodnot na LCD}  

doufám, že to pomůže

Bude tato možnost omezena pouze na dvě arduinos? Chtěl bych, aby několik arduinos přenášelo váhové hodnoty na centrální arduino.
můžete ale použít náčrt Arduino 2 na všech ostatních přijímačích, „obsazení od jednoho arduina a přijímat od mnoha ,,, měli byste udělat další průzkum
Jak toho můžeme dosáhnout, pokud bychom chtěli dělat naopak? Arduino 2 odesílá data do Arduino 1.
Majenko
2015-09-21 14:25:31 UTC
view on stackexchange narkive permalink

Chcete-li spojit více Arduin, musíte přijít s nějakou topologií sítě a nějakou formou síťového protokolu.

Požadavky jsou:

  1. Arduinos nesmí (elektricky) se navzájem ovlivňují
  2. Musí existovat nějaký způsob, jak zjistit, které Arduino posílá, co a kam

Tyto dva body lze vyřešit samostatnou připojení pro každé Arduino, ale to skončí komplikovaně, a na vytvoření takového připojení má Arduino pouze omezené zdroje (musíte skutečně použít hardwarové porty UART a Uno má pouze 1. Mega má 4).

Lepším řešením je použití systému bus (také známého jako multi-drop network ). Existuje řada existujících a dobře podporovaných metod, jak toho dosáhnout. V automobilovém systému se používá CAN Bus. V průmyslu je velmi používán systém RS-485.

Osobně preferuji RS-485, protože je dobře zavedený. Na RS-485 běží celá řada standardních protokolů, například MODBUS, ale pro svět Arduino jsem napsal svůj vlastní lehký protokol, se kterým je mnohem jednodušší začít. Další informace naleznete zde: https://github.com/MajenkoLibraries/ICSC



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...