Avaliação da biblioteca SoftIIC – Programa Master 1

Software desenvolvido para a análise descrita no artigo Testes e avaliação da biblioteca SoftIIC, no ambito da exploração das interfaces disponiveis no Arduino para comunicação entre microcontroladores.

Hardware

  • Arduino1 – Nano 328P + MPU6050 (bus I2C normal)
  • Arduino2 –  Nano 168 + VL53L0X  (bus I2C normal)

O Arduino1 liga-se no bus I2C normal ao bus I2C secundário do Arduino2.

O endereço, e o número de bytes em: Wire.requestFrom(0x52, 32) deve ser ajustado ao programa Slave que estiver a ser executado.

Os dois programas slave associados a este nestes testes são:

Este programa deve ser executado no Arduino1.

SoftIIC_example_wire_master1

#include <Wire.h>

#define WAIT 30
byte loopcount = 0;

void setup() {
Serial.begin(115200); // start serial for output
Serial.println("START");
Wire.begin(); // join i2c bus (address optional for master)
}

void loop() {

Serial.print(loopcount); Serial.print("\t");
// request X bytes from slave device 0x5x
Wire.requestFrom(0x52, 32); 
// receive may send less bytes
while (Wire.available()) {
byte b = Wire.read();
Serial.print(b); Serial.print(" ");
}
delay(WAIT);
Serial.println("");
loopcount++;
}