ПЕРЕДАЧА ДАННЫХ МЕЖДУ ДВУМЯ ARDUINO ПО ПРОВОДАМ (может кому понадобится) - DISTSYS.RU
11 декабря, Среда, 2019

Login Form

Breadcrumbs

ПЕРЕДАЧА ДАННЫХ МЕЖДУ ДВУМЯ ARDUINO ПО ПРОВОДАМ (может кому понадобится)

Собираем стенд 123:

ПЕРЕДАЧА ДАННЫХ МЕЖДУ ДВУМЯ ARDUINO ПО ПРОВОДАМ

 

 

Подключаем, как на стенде, RX первой ардуино к TX второй и TX первой к RX второй. Соединяем GND обеих ардуин. Чтобы загрузить скетч, будет необходимо разъединить их.


//Sender Code char str[4];
int testvar = 1230;
void setup(){
Serial.begin(9600);
}
void loop(){
if (testvar < 1239){
testvar = testvar + 1;
}else{
testvar = 1230;
}
// Serial.println(testvar);
itoa(testvar, str, 10);   //Turn value into a character array
Serial.write(str, 4);
delay(1500);
}

 


//Receiver Code
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
char incoming;
char str[4];
int i=0;
Adafruit_PCD8544
display = Adafruit_PCD8544(7, 6, 5, 4, 3);
void setup(){ 
display.begin(); // инициализируем дисплей 
display.setContrast(50);  // устанавливаем контраст LCD 
display.clearDisplay();  // очищаем экран  Serial.begin(9600);}
void loop() {
while (Serial.available()) {
incoming = Serial.read();
if (incoming < '0' || incoming > '9')break;
str[i] = incoming;
i++;
// Serial.println(i);
}
if (i > 3) //на данные отводим 4 знака
{
str[i] = 0;
//Serial.println(atoi(str));
i=0;
}
  display.clearDisplay(); 
display.setTextSize(1); 
display.println("DISTSYS.RU"); 
display.drawLine(0, 11, 84, 11, BLACK); 
display.println(" "); 
display.print(" str = "); 
display.println((atoi(str))); // это и ест данные 
display.println(" "); 
display.drawLine(0, 35, 84, 35, BLACK); 
display.println(" "); 
display.println(incoming); // это последний символ 
display.display(); 
delay(100);
} 
void set_text(int x,int y,String text,int color){ 
display.setTextColor(color); 
display.setCursor(x,y); 
display.println(text); 
display.display();
}

 

 


все...

 

 

Добавить комментарий


Защитный код
Обновить