Hola Marcos ¡
he pensado en varias configuraciones pero lo que intento de momento es
mandar desde un arduino a otro ,
por ejemplo : los pines digitales ,3,4,5,6,7,8,12,13 mandaran a otro arduino el valor que tengan
1 o 0 y afectando a los mismos pines en el otro arduino,
si el pin 1 es high en el que manda en el que recibe se pondra en high tambien , por otro lado por ej: con potenciometros en los pines analogicos del que manda ,
enviar el valor de 0-255 a los canales 9,10 y 11 en modo pwm . (pero esto mas adelante todavia no consigo mandar mas de un pin digital)
Lo estaba intentando de esta manera pero creo que no es la mas adecuada por que el puero se satura
al mandar todo el rato , lo suyo seria mandar solo cuando haya cambio creo , he estado hechando un vistazo a shiftOut en referencia , se ve un poco mas complejo pero quizas sea la manera de sincronizarlos o no vale para esto ?
aqui va un codigo de salida para uno y de entrada para otro
int manda13 = 13; // Pin que manda 1 o 2 cuando on ,off
int manda12 = 12; // Pin que manda 3 o 4 cuando on ,off
void setup() {
pinMode(manda12, INPUT);
pinMode(manda13, INPUT);
Serial.begin(19200);
}
void loop() {
if(digitalRead(manda13) == HIGH) //
{
Serial.print ('1');
}else{
Serial.print ('2');
}
Serial.print(' ');
if(digitalRead(manda12) == HIGH)
{
Serial.print ('3');
}else{
Serial.print ('4');
}
Serial.print(' ');
{
}
delay(200);
}
int pin12 = 12; //Pin digital entrada on y off si recibe a o b
int pin13 = 13;// Pin digital 13 entrada on y off si recibe c o d
int onoff = 0; //Entrada puerto serie
int datain = 0; //serial disponible
void setup() {
pinMode(pin12,OUTPUT);
pinMode(pin13,OUTPUT);
Serial.begin(19200);
}
void loop() {
datain = Serial.available();
if(datain > 0) {
onoff = Serial.read();
}
if(onoff=='1'){
digitalWrite(pin12,HIGH);
}
if (onoff =='2') {
digitalWrite(pin12,LOW);
}
if(onoff=='3'){
digitalWrite(pin13,HIGH);
}
if (onoff =='4') {
digitalWrite(pin13,LOW);
}
delay(100);
}
En cuanto le meto mas de un pin no me funciona o no cambia , cambiando un pelin el ejemplo de H y L , me ha funcionado cuando en el 13 es high en el otro tambine pero again , cuando meto mas canales no va , debe de existi runa mejor manera de comunicarlos verdad ?
int pin13 = 13; // Pin que manda 1 o 2 cuando on ,off
void setup() {
pinMode(pin13, INPUT);
Serial.begin(19200);
}
void loop() {
if(digitalRead(pin13) == HIGH)
{
Serial.print ('H');
}else{
Serial.print ('L');
}
delay(100);
}
int outputPin = 13;
int val;
void setup()
{
Serial.begin(19200);
pinMode(outputPin, OUTPUT);
}
void loop()
{
if (Serial.available()) {
val = Serial.read();
if (val == 'H') {
digitalWrite(outputPin, HIGH);
}
if (val == 'L') {
digitalWrite(outputPin, LOW);
}
}
}
Un saludin ;D