Ciao a tutti, sono nuovo
Ho un piccolo problema che adesso vi spiego.
Ho collegato tramite i2c un arduino uno(master) e un arduino nano(slave), e fin qui nessun problema.
Ho fatto delle prove e funziona quindi i collegamenti sono ok.
Il problema viene qua:
La mia idea è quella di collegare un passo-passo allo slave e tramite il master dirgli quanti passi deve fare.
Nel master ho fatto una matrice dove ho inserito le posizioni per poi mandarle. Il problema è che lo slave non mi legge la posizione e quindi il passo-passo non si avvia. Ho provato a cercare ma non ho trovato niente di simile. Nel master ho messo il transmission e nello slave il receive, dovrebbe essere corretto.
Questo è il master
int stepsMatrix[15][6] = {
{1, 1024, 15, 000, 000, 000},
{2, 1024, 10, 000, 000, 000},
{3, 50, 17, 000, 000, 000},
{1, 0, 10, 000, 000, 000},
{2, 0, 15, 000, 000, 000},
{3, 100, 12, 000, 000, 000},
{1, 1024, 15, 000, 000, 000},
{2, 2048, 10, 000, 000, 000},
{3, 150, 15, 000, 000, 000},
{1, 0, 25, 000, 000, 000},
{2, 0, 25, 000, 000, 000},
{3, 122, 15, 000, 000, 000},
{1, 0, 10, 000, 000, 000},
{2, 0, 10, 000, 000, 000},
{3, 33, 15, 000, 000, 000},
};
void setup() {
Serial.begin(9600);Â
Wire.begin();
}
Â
 void loop() {
Â
NEWPASSO =stepsMatrix[TOT_RIGA*3][1]; // passaggio contatore posizione in matrice a motore PASSO
TT = stepsMatrix [TOT_RIGA*3][2];
Â
  Wire.beginTransmission(3);
 Â
   Wire.write(NEWPASSO);
   Wire.write(TT);
   Serial.println(NEWPASSO);
   Serial.println(TT);
  Wire.endTransmission();
Per lo slave ho fatto così
void setup() {
 Serial.begin(9600);
Wire.begin(3);
Wire.onReceive(receiveEvent);
}
Â
 void loop() {
 Â
 delay(100);
 }
void receiveEvent() {
Â
 while (Wire.available() > 0) {
  int long NEWPASSO2 = Wire.read();
  int long TT2 = Wire.read();
  Serial.println(NEWPASSO2);
  Serial.println(TT2);
 // Serial.println(Wire.read());
  //Serial.println(Wire.read());
 }
}
So che sicuramente c'è qualche problema, ma nel mio caso, come faccio a leggere il valore del "NEWPASSO" del master nello slave ed eseguirlo?
p.s. non ho scritto tutto il programma perchè sarebbe troppo lungo, comunque il problema è con il Wire che non ho capito troppo bene come funziona, per il resto va bene perchè l'ho già testato ( anche se ripeto che mancano parti del programma)
Qualcuno riesce a darmi una dritta? Grazie