Comandi I2C da Arduino a microcontrollore

Salve,
dovrei instaurare, via I2C, con uno Slave, delle istruzioni con:
Wire.read()
Wire.write(value)
qualcuno mi da una mano a scrivere il codice?
grazie

questi i parametri

Certamente, ma ... hai presente il REGOLAMENTO al punto 16.1?

Tenete sempre presente che qui sul forum nessuno scrive software per conto terzi o realizza schemi su ordinazione, ma si aiuta chi viene qui a correggere/ottimizzare il software che lui scrive o gli schemi che lui realizza .

Quindi ... tu scrivi il codice e noi ti aiutiamo a correggere gli errori ... :wink:

Guglielmo

ok, scusami.
sono un principiante dunque alle "prime armi" nell'uso di Arduino.
Come dicevo dovrei inviare dei comandi a un microcontrollore e testare la movimentazione di una meccanica CD.
Il chip da controllare in questione è un SAA7327 "Digital servo processor and Compact Disc decoder with integrated DAC for video CD" della Philips.
I dati sono stati ricavati collegando un Alalizzatore Logico ai seguenti pin:
PIN39 - CH1 - SDA
PIN40 - CH3 - SCL
PIN41 - CH5 - RAB
PIN42 - CH7 - SILD

il risultato è questo

Ora, dai dati ricavati dagli esempi sopra vorrei provare ad inviare manualmete i comandi di controllo del microprocessore tramite Arduino via SDA - SCL.
Dunque dovrei scrivere il codice appunto con
Wire.read()
Wire.write(value)

potrei immaginare il codice compilato in questo modo...

#include <Wire.h>

void setup() {
Wire.begin(); // attiva il bus I2C; il dispositivo è predisposto come master
Serial.begin(9600);
}
void loop() {
  Wire.requestFrom(x, x);
  while (Wire.available()){
    char c = Wire.read();
    Serial.print(c);
  }
  Serial.println();

  Wire.beginTransmission();
  Wire.write("xxx");
  Wire.endTransmission();
  delay(500);
  
  }

Si, la logica della libreria Wire è quella, nell'IDE trovi anche alcuni esempi già scritti.

Ricorda solo una cosa ... il bus I2C è open-drain quindi occorono le resistenze di pull-up da qualche parte :wink:

Guglielmo

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.