2X Arduino + TX/RX + prenos cisel

Odpovědět
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, 17:55

prosim te, nefunguje to. nevim co mam delat.
puvodni priklady jsem prekopal podle rady, nic to nedela.

vysilac:

Kód: Vybrat vše

byte buff[16];
int i=0;

void setup() {
       
  // put your setup code here, to run once:
Serial.begin(9600);
Serial1.begin(9600);

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

void loop() {
  // put your main code here, to run repeatedly:
String readString;
String Q;

//-------------------------------Check Serial Port---------------------------------------
 
 while (Serial1.available()){
  delay(1);
  if(Serial1.available()>0){
    char c = Serial1.read();
    Serial.print(c);
    if (isControl(c)){
    break;
    }
  }
 }
 
 while (Serial.available()) {
     delay(1);
    if (Serial.available() >0) {
      char c = Serial.read();  //gets one byte from serial buffer
    if (isControl(c)) {
      //'Serial.println("it's a control character");
      break;
    }
      readString += c; //makes the string readString    
    }
 }   


Serial1.write(buff, 16);
delay(1000);


}


prijimac:

Kód: Vybrat vše

byte buff[16];
int i=0;
int readVolty[17];
#include <SoftwareSerial.h>

void setup() {
       
  // put your setup code here, to run once:
  pinMode(13,OUTPUT); 
  Serial.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:


 
//-------------------------------Check Serial Port---------------------------------------
 while (Serial.available()) {
      delay(1);
    if (Serial.available() >0) {
      Serial.readBytes(buff, 16);

      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 ("/");
    }
 }   



}

Uživatelský avatar
kiRRow
Příspěvky: 1190
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, 18:09

u vysílače ...

Kód: Vybrat vše

  // put your main code here, to run repeatedly:
String readString;
String Q;

//-------------------------------Check Serial Port---------------------------------------
 
 while (Serial1.available()){
  delay(1);
  if(Serial1.available()>0){
    char c = Serial1.read();
    Serial.print(c);
    if (isControl(c)){
    break;
    }
  }
 }
 
 while (Serial.available()) {
     delay(1);
    if (Serial.available() >0) {
      char c = Serial.read();  //gets one byte from serial buffer
    if (isControl(c)) {
      //'Serial.println("it's a control character");
      break;
    }
      readString += c; //makes the string readString    
    }
 }   
celý tohle dej do pryč ... pozůstatek examplu ... zatím budeme v loopu jen vysílat ty pěkně nakrmený data z setupu

u přijímače :
https://docs.arduino.cc/tutorials/commu ... ialExample koukni jak se používá knihovna a softwarový seriál ... pak stím budeš moct pracovat uplně stejně jako se dvěma linkami na mega ... škoda že tu u sebe nemám zrovna nic na čem bych to otestoval

Uživatelský avatar
kiRRow
Příspěvky: 1190
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, 18:14

a pak by to mělo jít takhle

Kód: Vybrat vše

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
}

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, 18:31

prosim te, na myserial to hazelo chybu, tak jsem to prepsal na serial

uz to neco dela, pri upgrade UNO musim vytahnout ty dva draty na tx/rx, nahraju program, a pak tam napicham draty zpatky, pise to na monitoru tohle:

defghijklmnopqrs250/251/252/253/254/255/256/257/258/259/260/261/262/263/264/265//
defghijklmnopqrs250/251/252/253/254/255/256/257/258/259/260/261/262/263/264/265//
defghijklmnopqrs250/251/252/253/254/255/256/257/258/259/260/261/262/263/264/265//
defghijklmnopqrd250/251/252/253/254/255/256/257/258/259/260/261/262/263/264/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
efghijklmnopqrsd251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//

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, 18:38

ted jsem zaremoval to //Serial.write(buff, 16);
a vysledek viz nize, takova trosku ducharina

Kód: Vybrat vše

if (Serial.available()) {// je něco na mojemSerialu ?
  Serial.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 ("/");

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

delay(10000);  

250/251/252/253/254/255/256/257/258/259/260/261/262/263/264/265//
250/251/252/253/254/255/256/257/258/259/260/261/262/263/264/265//
250/251/252/253/254/255/256/257/258/259/260/261/262/263/264/265//
250/251/252/253/254/255/256/257/258/259/260/261/262/263/264/250//
251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/250//
251/252/253/254/255/256/257/258/259/260/261/262/263/264/265/264//
265/250/251/252/253/254/255/256/257/258/259/260/261/262/263/258//
259/260/261/262/263/264/265/250/251/252/253/254/255/256/257/251//
252/253/254/255/256/257/258/259/260/261/262/263/264/265/250/250//

Uživatelský avatar
kiRRow
Příspěvky: 1190
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, 18:52

why.jpg
why.jpg (14.01 KiB) Zobrazeno 1835 x
a čím to krmíš ? .. protože defghij..... vypadalo dost nadějně .... odpovídá to číslům 100 101 102 103 atp ... pak se to nějak začíná bortit ty data .... dal bych na stranu přijímače drobný delay na konec loopu ... postupoval bych po 1ms
možná vysílat v pomalejších intervalech

edit :

OMG ---> už jsem konečně pochopil kde se berou ty nesmysly 250 atd ... ty tam někde napočítáváš těch 150 viď

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:02

no jasne, realna cisla budou 250-360

aby se to vlezlo do byte, krmim to 100+i(0-15), a na strane prijmu pricitam +150, takze vysledek by mel spravne 250-265 vypany na monitoru
ale tam nejaky gulaš

Uživatelský avatar
kiRRow
Příspěvky: 1190
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:08

dej u přijímače úplně na konci loopu delay(5); někde občas přeskočí byte a celý se to posune ... pokud to nepomůže tak zvyš delay na straně vysílače ... jinak je super posílat aktuální kód :)

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:09

na prijimaci jsem to nastavil podle toho prikladu, tj mySerial ... bla bla 2,3 TX/RX ... to funguje, tj. ted nemusim vytahovat piny z TR/RX na prijmove strane, mam je napichany v 2 a 3

zkousel jsem i jinou rychlost, ale po case, jako by se posunul registr, a je to celý šoupnutý, mam na konci prijimace delay asi 10000
vysilac ma 1000

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:13

ted mam ten prijimac takhle, dole zkousim nulovat ten registr

Kód: Vybrat vše


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 ("/");

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

delay(1000);  


Odpovědět

Kdo je online

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