Buonasera, premesso che ho già cercato, per qualche giorno, sia tra i vari blog sia sul forum topic che potessero venirmi in aiuto e non ho trovato nulla che potesse aiutarmi passo ad esporre il mio problema.
Ho un Arduino NANO v3.3 che legge dei dati (int) da 6 sensori MLX90614 tramite I2C. questi dati vorrei venissero passati al mio Arduino DUE tramite seriale
lo sketch del NANO è questo:
#include <SoftwareSerial.h>
#include <Adafruit_MLX1.h>
#include <Adafruit_MLX2.h>
#include <Adafruit_MLX3.h>
#include <Adafruit_MLX4.h>
#include <Adafruit_MLX5.h>
#include <Adafruit_MLX6.h>
Adafruit_MLX1 mlx1 = Adafruit_MLX1();
Adafruit_MLX2 mlx2 = Adafruit_MLX2();
Adafruit_MLX3 mlx3 = Adafruit_MLX3();
Adafruit_MLX4 mlx4 = Adafruit_MLX4();
Adafruit_MLX5 mlx5 = Adafruit_MLX5();
Adafruit_MLX6 mlx6 = Adafruit_MLX6();
SoftwareSerial mySerial(10, 11);
void setup() {
Serial.begin(9600);
mlx1.begin();
mlx2.begin();
mlx3.begin();
mlx4.begin();
mlx5.begin();
mlx6.begin();
mySerial.begin(9600);
}
void loop()
{
int t[5];
t[0] = mlx1.readObjectTempC();
t[1] = mlx2.readObjectTempC();
t[2] = mlx3.readObjectTempC();
t[3] = mlx4.readObjectTempC();
t[4] = mlx5.readObjectTempC();
t[5] = mlx6.readObjectTempC();
while (mySerial.available() > 0)
{
for (int i = 0; i < 5; i++)
{
mySerial.print(t[i]);
}
for (int i = 0; i < 5; i++)
{
Serial.print(t[i]);Serial.print(" sensore n*");Serial.print(i+1);Serial.println();
}
}
}
mentre lo sketch del DUE è:
void setup() {
Serial1.begin(9600);
Serial.begin(9600);
}
void loop() {
int t[6];
Serial1.write(1);
for (int i = 0; i < 6; i++)
{
Serial.print(t[i]); Serial.print("sensore n*"); Serial.print(i + 1); Serial.println();
}
delay(500);
}
in realtà a me servirebbe che NANO rispondesse ad una chiamata di DUE passandogli i dati dei sensori
Sarebbe anche meglio se potessi, invece di passare un array, passare i singoli dati differenziando la richiesta che DUE fa a NANO ad esempio poter chiedere solamente la lettura del sensore 2 o 4 ecc..
Grazie mille