Erstmal vielen Dank für die ganzen Antworten und Ideen für mein Problem.
Ich habe es jetzt so weit geschafft, dass die einzelnen Werte schön untereinander, Spalte für Spalte angezeigt werden.
Mein nächstes Problem betriftt die Anzahl der Daten. Bei 3 Thermoelementen funktioniert die Übertragung problemlos. Ich hätte aber gerne 8 Thermoelemente am Arduino.
Mein neuer Code:
Zero:
#include <Adafruit_MAX31856.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <SPI.h>
RF24 radio(6,7); // CNS, CE
const byte address[6] = "00001";
//Adafruit_MAX31856 tc1 = Adafruit_MAX31856(10, 11, 12, 13);
//Adafruit_MAX31856 tc2 = Adafruit_MAX31856(9, 11, 12, 13);
//Adafruit_MAX31856 tc3 = Adafruit_MAX31856(8, 11, 12, 13);
//Adafruit_MAX31856 tc4 = Adafruit_MAX31856(7, 11, 12, 13);
//Adafruit_MAX31856 tc5 = Adafruit_MAX31856(5, 11, 12, 13);
Adafruit_MAX31856 tc6 = Adafruit_MAX31856(4, 11, 12, 13);
Adafruit_MAX31856 tc7 = Adafruit_MAX31856(3, 11, 12, 13);
Adafruit_MAX31856 tc8 = Adafruit_MAX31856(2, 11, 12, 13);
void setup() {
Serial.begin(9000);
// tc1.begin();
// tc1.setThermocoupleType(MAX31856_TCTYPE_K);
//
// tc2.begin();
// tc2.setThermocoupleType(MAX31856_TCTYPE_K);
//
// tc3.begin();
// tc3.setThermocoupleType(MAX31856_TCTYPE_K);
//
// tc4.begin();
// tc4.setThermocoupleType(MAX31856_TCTYPE_K);
//
// tc5.begin();
// tc5.setThermocoupleType(MAX31856_TCTYPE_K);
//
tc6.begin();
tc6.setThermocoupleType(MAX31856_TCTYPE_K);
tc7.begin();
tc7.setThermocoupleType(MAX31856_TCTYPE_K);
tc8.begin();
tc8.setThermocoupleType(MAX31856_TCTYPE_K);
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_HIGH);
radio.setDataRate( RF24_250KBPS );
radio.stopListening();
}
void loop() {
// float tempout1 = tc1.readThermocoupleTemperature();
//
// float tempout2 = tc2.readThermocoupleTemperature();
//
// float tempout3 = tc3.readThermocoupleTemperature();
// float tempout4 = tc4.readThermocoupleTemperature();
//
// float tempout5 = tc5.readThermocoupleTemperature();
//
float tempout6 = tc6.readThermocoupleTemperature();
float tempout7 = tc7.readThermocoupleTemperature();
float tempout8 = tc8.readThermocoupleTemperature();
// radio.write(&tempout1, sizeof(tempout1));
// radio.write(&tempout2, sizeof(tempout2));
// radio.write(&tempout3, sizeof(tempout3));
// radio.write(&tempout4, sizeof(tempout4));
// radio.write(&tempout5, sizeof(tempout5));
radio.write(&tempout6, sizeof(tempout6));
radio.write(&tempout7, sizeof(tempout7));
radio.write(&tempout8, sizeof(tempout8));
}
Mega:
#include <nRF24L01.h>
#include <RF24.h>
#include <SPI.h>
RF24 radio(6, 7); // CNS, CE
const byte address[6] = "00001";
void setup() {
Serial.begin(9000);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_HIGH);
radio.setDataRate( RF24_250KBPS );
radio.startListening();
}
void loop() {
// float got_tempout1;
// if (radio.available()) {
// radio.read(&got_tempout1, sizeof(got_tempout1));
// }
//
// float got_tempout2;
// if (radio.available()) {
// radio.read(&got_tempout2, sizeof(got_tempout2));
// }
//
// float got_tempout3;
// if (radio.available()) {
// radio.read(&got_tempout3, sizeof(got_tempout3));
// }
//
// float got_tempout4 = 0;
// if (radio.available()) {
// radio.read(&got_tempout3, sizeof(got_tempout4));
// }
//
// float got_tempout5 = 0;
// if (radio.available()) {
// radio.read(&got_tempout5, sizeof(got_tempout5));
// }
//
float got_tempout6 = 0;
if (radio.available()) {
radio.read(&got_tempout6, sizeof(got_tempout6));
}
float got_tempout7 = 0;
if (radio.available()) {
radio.read(&got_tempout7, sizeof(got_tempout7));
}
float got_tempout8 = 0;
if (radio.available()) {
radio.read(&got_tempout8, sizeof(got_tempout8));
}
// Serial.print(got_tempout1);
// Serial.print("\t");
// Serial.print(got_tempout2);
// Serial.print("\t");
// Serial.print(got_tempout3);
// Serial.print("\t");
// Serial.print(got_tempout4);
// Serial.print("\t");
// Serial.print(got_tempout5);
// Serial.print("\t");
Serial.print(got_tempout6);
Serial.print("\t");
Serial.print(got_tempout7);
Serial.print("\t");
Serial.print(got_tempout8);
Serial.println(" ");
delay(3200);
}
1-5 sind hier auskommentiert. Für 6-8 funktioniert es... sobald ich noch ein weiteres dazuschalte oder gar alle 8 dann bekomme ich zwar 8 spalten aber es zeigt mir nur die Werte 0.00 oder -0.01 an.
Kann es sein dass dann einfach zuviele daten gesendet werden bzw. wie kann ich das verbessern?
Danke!
LG Flo