Stránka 4 z 7

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

Napsal: 09 úno 2022, 19:44
od kiRRow
minimálně 1,5m to po RS-232 na TTL úrovni musí dát :)

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

Napsal: 09 úno 2022, 19:48
od kiRRow
Já jsem rád, že jsem někoho něco naučil. To mi stačí :)

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

Napsal: 09 úno 2022, 19:59
od Viktor_EX
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

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

Napsal: 09 úno 2022, 20:17
od Viktor_EX
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);  
}


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

Napsal: 10 úno 2022, 15:48
od kiRRow

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

Napsal: 10 úno 2022, 16:55
od Viktor_EX
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.

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

Napsal: 10 úno 2022, 17:30
od kiRRow
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 ?

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

Napsal: 10 úno 2022, 17:35
od kiRRow
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í)

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

Napsal: 10 úno 2022, 17:51
od Viktor_EX
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("");

  }

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

Napsal: 10 úno 2022, 17:56
od kiRRow
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í