2X Arduino + TX/RX + prenos cisel

Odpovědět
Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od kiRRow » 09 úno 2022, 19:44

minimálně 1,5m to po RS-232 na TTL úrovni musí dát :)

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od kiRRow » 09 úno 2022, 19:48

Já jsem rád, že jsem někoho něco naučil. To mi stačí :)

Viktor_EX
Příspěvky: 40
Registrován: 19 črc 2021, 11:18
Reputation: 0

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od Viktor_EX » 09 úno 2022, 19:59

bomba... no, na tyto veci by mely byt priklady. vzdyt to neni nic jineho, nez co jsem psal, 20+20 řádek, mozna ani ne. jeste jednou dik.

podobny prenos po I2C, resp prenos textu, by me take zajimal. nejsou nekde nejake priklady? ted jsem si tady vyresil muj problem s berlickou. ale u jineho prenosu bych byl zase lama

Viktor_EX
Příspěvky: 40
Registrován: 19 črc 2021, 11:18
Reputation: 0

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od Viktor_EX » 09 úno 2022, 20:17

tady pro ostatni lamy, co resi podobnou kravinu,
Vysilac A-Mega, piny TX1/RX1, Prijimac A-UNO, piny 2 a 3


vysilac:

Kód: Vybrat vše

byte buff[16];
int i=0;
int ii=0;

void setup() {
       
Serial.begin(9600);
Serial1.begin(9600);
}

void loop() {

  for(i = 0; i < 16; i++){
    buff[i] = 100 + i + ii;
  }

Serial1.write(buff, 16);
delay(800);
ii++;
}

prijimac:

Kód: Vybrat vše


byte buff[16];
int i=0;
int readVolty[17];
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX

void setup() {
  Serial.begin(9600);     
  mySerial.begin(9600);
}

void loop() {

  if (mySerial.available()) {// je něco na mojemSerialu ?
    mySerial.readBytes(buff, 16); // čti seriovou linku po 16bytech a nasyp ji do bufferu
    //Serial.write(buff, 16); // vypsat do pc ... odkomentovat pro debug
  }
  for(i = 0; i < 16; i++){
    readVolty[i+1] = buff[i] + 150;
  }
  for(i = 1; i < 17; i++){
    Serial.print (readVolty[i]);
    Serial.print ("/");
  }
  Serial.println ("/");
  delay(10);  
}


Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od kiRRow » 10 úno 2022, 15:48


Viktor_EX
Příspěvky: 40
Registrován: 19 črc 2021, 11:18
Reputation: 0

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od Viktor_EX » 10 úno 2022, 16:55

nojo, ale zase tam prenasej jedno pismenko (I2C) ...
to uz mi na stole fungovalo taky. ale co s jednim pismenkem ...??? :oops: to jako kdyz ti daj cuchnout k cokolade, ale nedaj ti ani kousek.

pak jsem to pozdeji vecer zkousel nejak prekopat na prenos textu, "Ahoj", nebo tak neco .... nerozbehal.
https://www.youtube.com/watch?v=xkiFPxFCcAI
nechapu to proste. takhle to vypada brnkacka, to co udela on mi funguje taky. ale prenest to po lince do jinyho arduina... bez sance. sedel jsem u toho do jedne do rana. pak jsem se vratil zpet k puvodnimu projektu, nejdriv musim dodelat to. pak si muzu hrat s timhle. a me je jasny, ze ten kod zaznamena jen zmenu ve 3 radkach oproti tomu co mam. ale co nadelas. takze az se k tomu vratim, jakasi lama tu bude prudit se samozrejmostma

ale musis uznat, ze ten priklad na I2C je proste k ho*nu. prenasi jedno pismenko. no a 2 pismenka? a priklad je k nicemu.

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od kiRRow » 10 úno 2022, 17:30

Komunikace ale vždy na těhle linkách probíhá po bytech. Ať už je nějak nastavuji, vyžaduji po nich data, nebo chci přes to prohnat řetězec textových znaků. Vždy je posíláno to byte za byte.

Ten příklad slouží k tomu, aby ti ukázal jak poslat jeden byte. Pokud chceš poslat toho více, musíš hledat příklady, které učí jak rozdělovat a opětovně skládat data.

Uložit si odesílané data v poli (bufferu) už jsi měl možnost poznat. For taky umíš, takže projet celý pole a poslat jeden byte po druhém taky zvládneš. Jak příjmout na druhé straně balíček o pevně daném počtu byte jsi taky spráskal. Tak kde je problém ?

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od kiRRow » 10 úno 2022, 17:35

Dále je třeba si uvědomit i rozdíly mezi linkami. RS-232 je obousměrná v tom smyslu, že najednou může vysílač i přijímač mluvit jako v mobilu.
I2C spíš připomíná vysílačku. Zařízení na této lince mohou mluvit jedině pokud je k tomu vyzval master linky.
RS232 je uzpůsobeno na mnohem větší vzdálenosti než I2C.
Každý má svou max rychlost přenosu (snižuje se s délkou [kapacitou] vedení)

Viktor_EX
Příspěvky: 40
Registrován: 19 črc 2021, 11:18
Reputation: 0

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od Viktor_EX » 10 úno 2022, 17:51

ale ten v tom videu poslal svoje jmeno pres seriovou linku, a zadny pismenka neskladal ... proto mi to hlava nebere. kde je rozdil seriova linka usb, a seriova linka A-A pres tx/rx

krome jinyho mi ten prenos nefunguje tohle se protlaci na druhou stranu: ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮jgjjj
priznam se ze to 4-linka nestinena. takze to bude chtit stineni? drat je asi 3/4 metru dlouhy.

prijemce je ted A-Mega..

takze tam mam

Kód: Vybrat vše

Serial1.begin(9600);


  if (Serial1.available()) {// kontrola jestli něco čeká na seriové lince
      Serial1.readBytes(buff, 16); // čte seriovou linku po 16bytech a nasype ji do bufferu
      Serial.write(buff, 16); // pro vypsání do pc ... odkomentovat
      Serial.println("");

  }

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: 2X Arduino + TX/RX + prenos cisel

Příspěvek od kiRRow » 10 úno 2022, 17:56

A poslední věc (snad), arduino bylo "vynalezeno", aby se lidem s touhou něco tvořit tak trochu pootevřel onen tajemný svět programování. Vše je navrženo tak, aby to alespoň z počátku programování moc nepřipomínalo ( na všechno je tutoriál, někde je kus kódu, co nacpu do druhýho kusu kódu - a ono to nějak zázrakem funguje ).

Ale nakonec, když už nechceš kopírovat, ale vymýšlet. Budeš muset hlouběj.

edit :
Rozdíl už je jen mezi USB a RS-232 (často jmenováno jako sériová linka) ... ono i USB je sériová linka, ale je řízeno dosti komplikovaným protokolem ... RS-232 je oproti tomu velmi jednoduchý protokol.

edit2 : https://bastlirna.hwkitchen.cz/ ... sežeň si elektronickou verzi tý knihy .... fakt dobrý počtení

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů