Boa noite a todos,
Este é o meu primeiro tópico me desculpem se eu fizer algo de errado.
Gente eu estou tentado fazer duas placas do Arduino Mega se comunicarem. As duas estão na mesma fonte e ambas com o GND interligadas...
Eu dei uma pesquisada aqui no forum e tentei uns 3 programas adaptados esse é o ultimo que tentei:
Quando acertar o programa a placa transmissora vai enviar variáveis e a placa receptora vai tratá-las...
//Placa transmissora:
void setup()
{
Serial3.begin(9600);
}
void loop()
{
delay(100);
Serial3.print("TESTE");
delay(100);
Serial.flush ();
delay(100);
}
___________________________________________________________________________________
// Placa Receptora
#include <LiquidCrystal.h>// Biblioteca LCD
//DETERMINA PINAGEM/NOMES **************************************************************
LiquidCrystal lcd(53, 51, 49, 47, 45, 43); // Determina os pinos da LCD
int contador=0;
char buffer[5];
//Determina nome aos pinos
int RELE_LED_VERDE = 52;
int RELE_LED_VERMMELHO= 50;
int RELE_LED_AMARELO = 48;
int RELE_FORCA = 46;
int porta_rele5 = 44;
int porta_rele6 = 42;
int porta_rele7 = 40;
int porta_rele8 = 38;
int porta_rele9 = 36;
int porta_rele10 = 34;
int porta_rele11 = 32;
int porta_rele12 = 30;
int porta_rele13 = 28;
int porta_rele14 = 26;
int porta_rele15 = 24;
int porta_rele16 = 22;
void setup()
{
pinMode(RELE_LED_VERDE, OUTPUT); //Define pino como saida
pinMode(RELE_LED_VERMMELHO, OUTPUT); //Define pino como saida
pinMode(RELE_LED_AMARELO, OUTPUT); //Define pino como saida
pinMode(RELE_FORCA, OUTPUT); //Define pino como saida
pinMode(porta_rele5, OUTPUT); //Define pino como saida
pinMode(porta_rele6, OUTPUT); //Define pino como saida
pinMode(porta_rele7, OUTPUT); //Define pino como saida
pinMode(porta_rele8, OUTPUT); //Define pino como saida
pinMode(porta_rele9, OUTPUT); //Define pino como saida
pinMode(porta_rele10, OUTPUT); //Define pino como saida
pinMode(porta_rele11, OUTPUT); //Define pino como saida
pinMode(porta_rele12, OUTPUT); //Define pino como saida
pinMode(porta_rele13, OUTPUT); //Define pino como saida
pinMode(porta_rele14, OUTPUT); //Define pino como saida
pinMode(porta_rele15, OUTPUT); //Define pino como saida
pinMode(porta_rele16, OUTPUT); //Define pino como saida
lcd.begin(20, 4);
Serial3.begin(9600);
}
void loop()
{
Serial.flush ();
contador=0;
while(Serial3.available() == 0){ }
// Necessario para preencher o buffer
delay(100);
// Enquanto encontrar algo para ler na Serial e o contador de caracteres não estourar...
while((Serial3.available() > 0)&&(contador<=5))
{
buffer[contador]=Serial3.read();
contador++;
}
lcd.clear();
delay(1000);
while(contador >= 0)
{
lcd.print(buffer[contador]);
contador--;
}
delay(3000);
}
Ele esta retornando 7 caracteres todos misturados.... no LCD...
Obrigado pela ajuda de todos!!!
Tags:
Pessoal no serial monitor aparece corretamente... A placa receptora...que não ta conseguindo ler..
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por