comunicación entre arduinos por medio de pines.

hola, quisiera saber si hay alguna manera de comunicar dos arduinos pero por medio de pines, enviando solo valores analogicos como por ejemplo un analogWrite(salida_arduino, 200); y que el otro arduino reciba ese valor de 200. gracias por su atención. (por motivos de que ya estoy usando tx y rx, de preferncia que sea por otro metodo que no sea ese)

Transmitir datos mediante ancho de pulsos no es muy fiable (o al menos complicado de implementar en el receptor).

Todavía tienes I2C y SoftwareSerial, ¿ya los has probado?

Intentaste por medio de I2C?

Lucario448:
Transmitir datos mediante ancho de pulsos no es muy fiable (o al menos complicado de implementar en el receptor).

Todavía tienes I2C y SoftwareSerial, ¿ya los has probado?

Ya lo he probado pero de ambas formas pero se me complica el I2C por que los dos deben enviar y recibir informacion, y como uno de los dos arduinos debe usar 2 software serial, solo me detecta y recibe la informacion de uno, aunque pongo el listen();

[/#include <SoftwareSerial.h>
SoftwareSerial SIM900(11, 12); // Configura el puerto serial para el SIM900. Para el Arduino MEGA utilizar pines 10 y 11
SoftwareSerial otroarduino(8, 9);
unsigned long time;


int respuesta;
char aux_str[50];
char incoming_char = 0; //Variable para guardar los caracteres que envía el SIM900
String mensaje = "";
char modo;
char nmensaje;

void setup()
{
  SIM900.begin(19200); //Configura velocidad del puerto serie para el SIM900
  Serial.begin(19200); //Configura velocidad del puerto serie del Arduino
  delay(1000);
  Serial.println("Iniciando...");
  power_on();
  iniciar();
 modo = 'a';
}

void loop (){
//---------------------------------------------------------------------------------------------------------
 
time = micros()/ 1000000;
Serial.println(time);  //prints time since program started

SIM900.listen();
while (SIM900.available() > 0)
  {
    incoming_char = SIM900.read(); //Guardamos el carácter del GPRS
    Serial.print(incoming_char); //Mostramos el carácter en el monitor serie
    mensaje = mensaje + incoming_char ; // Añadimos el carácter leído al mensaje
  }
  identifica_SMS();
  Serial.println();

otroarduino.listen();
if ((otroarduino.available()))
  {
    char inByte = otroarduino.read(); //Guardamos el carácter del otro arduino
    Serial.print(inByte); //Mostramos el carácter en el monitor serie 
    nmensaje=inByte;  
  }
  otroarduino.print(modo);
   Serial.println();
   Serial.println(nmensaje);
   Serial.println(modo);
   Serial.println();

if (time>=20 && time<22){
   

}




  delay (10000);

}]

este es el codigo que estoy utilizando, sin embargo no envia ni recibe nada del puerto serial del otro arduino

Compartes GND entre los arduinos?