Mi sento scemo, eppure non riesco a far andare la comunicazione tra due arduini usando due SN75176. BP per la precisione..
Per favore, ditemi quale evidente particolare non riesco a vedere!
Allora, trattasi di un Duemilanove e un clone Mega1280 (precisamente quello di DFRobot.com)
il 2009 trasmette,
2009 - SN75176
pin1 -> pin4 (Driver in)
+5Vdc -> pin8
+5Vdc -> pin3 (Driver Enable, when HIGH)
GND -> pin5
Mega - SN75176
pin19 (serial1-RX) -> pin1 (Receiver out)
+5Vdc -> pin8
GND -> pin5
GND -> pin2 (Receiver Enable, when LOW)
poi i segnali A e B degli SN75176 connessi tra loro (A con A e B con B)
nessun segnale.. ho provato sia con delle resistenze da 470 ohm tra A e B su ogni SN75, sia senza resistenze.
sul trasmettitore c'è questo:
int LED_PIN = 13;
int i;
boolean b;
void setup() {
Serial.begin(9600);
i = 0;
b = 0;
pinMode(LED_PIN, OUTPUT);
Serial.println("Init() complete");
}
void loop() {
i ++;
Serial.println(i);
b = !b;
digitalWrite(LED_PIN, b);
delay(1000);
}
mentre sul ricevente questo:
int LED_PIN = 13;
int i;
boolean b;
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
i = 0;
b = 0;
pinMode(LED_PIN, OUTPUT);
Serial.println("Init() complete");
}
void loop() {
if (Serial1.available()) {
i = Serial1.read();
Serial.println(i);
digitalWrite(LED_PIN, b);
b = !b;
}
}
entrambi sono collegati via USB al PC, ma ho anche provato a scollegare il trasmittente alimentandolo con un trasformatore.
non leggo dati, niente.
ho provato anche a stampare Serial.read senza provare "available", ma mi da sempre -1.
Vi viene in mente qualcosa?