2X Arduino + TX/RX + prenos cisel
Re: 2X Arduino + TX/RX + prenos cisel
minimálně 1,5m to po RS-232 na TTL úrovni musí dát
Re: 2X Arduino + TX/RX + prenos cisel
Já jsem rád, že jsem někoho něco naučil. To mi stačí
Re: 2X Arduino + TX/RX + prenos cisel
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
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
tady pro ostatni lamy, co resi podobnou kravinu,
Vysilac A-Mega, piny TX1/RX1, Prijimac A-UNO, piny 2 a 3
vysilac:
prijimac:
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
nojo, ale zase tam prenasej jedno pismenko (I2C) ...
to uz mi na stole fungovalo taky. ale co s jednim pismenkem ...??? 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.
to uz mi na stole fungovalo taky. ale co s jednim pismenkem ...??? 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
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 ?
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
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í)
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
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
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
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í
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í
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 32 hostů