Go Down

Topic: Software Serial (Read 257 times) previous topic - next topic

anlfc

Ola,
boa tarde !

Estou com dificuldade em fazer dois Arduinos ( UNO e NANO ) trocarem uma informação usando a biblioteca software serial.
Quero quando um pino de um arduino for para HIGH, acionar o led em outro. COisa simples.
Basicamente estou usando a mesma rotina nos dois.

SEgue o codigo:

//Arduino1
#include <SoftwareSerial.h> //chama biblioteca software serial
byte RX[8]; //pacote recebido
byte TX[8]; //pacote transmitido
int ID = 1; //identificacao do Arduino
SoftwareSerial serial2 (0, 1); //declara porta 0 como RX e 1 como TX

void setup() {
  // put your setup code here, to run once:

  pinMode(4, OUTPUT); // configura o pino do led1
  pinMode(5, OUTPUT); // configura o pino do led2
  pinMode(6, OUTPUT); // configura o pino do led3
  pinMode(7, INPUT); // configura o pino 7 como botao
  ID = 1;          //identifica Arduino 1


}

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

  digitalRead(7);
  if (7 == HIGH) {
    digitalWrite(4, HIGH);
    TX[1] = 1;
    if (7 == LOW) {
      digitalWrite(4, LOW);
      TX[1] = 0;
    }

    //transmissao
    TX[1] = digitalRead(7);
    serial2.write(TX[1]);


    //recepção
    if (serial2.available() > 8)
      for (int i = 0; i < 8; i++)
        RX = serial2.read();
  }

  if ( RX[1] == 1) {
    digitalWrite(5, HIGH);
  }
  else {
    digitalWrite(5, LOW);
  }
}

Se puderem ajudar ou indicar onde estou errando eu agradeço.

bubulindo

Esse código compila?

as portas 0 e 1 são usadas pela porta série que liga à porta USB. Usa outras portas e ao ligar, liga o RX dum ao TX do outro.
This... is a hobby.

Go Up