Hi
I'm trying to use this guide: Software I2C Multiplexer – Arduino Craft Corner
In order to read data from multiple SEN0390 sensors.
Can anybody help?
#include <DFRobot_B_LUX_V30B.h>
#include <FlexWire.h>
#define MAXSENSOR 2
// The pins that we use for the I2C buses
uint8_t sdapin[MAXSENSOR] = { 2, 4 };
uint8_t sclpin[MAXSENSOR] = { 3, 5 };
// Array of Flexwire instances
FlexWire wire[MAXSENSOR] = { {sdapin[0], sclpin[0]}, {sdapin[1], sclpin[1]} };
// Create array of instances of the HTU21D class
DFRobot_B_LUX_V30B mylux[MAXSENSOR];
void setup()
{
Serial.begin(9600);
Serial.println(F("Multi-I2C example with HTU21D"));
for (uint8_t i=0; i < MAXSENSOR; i++) mylux[i].begin(wire[i]);
}
void loop()
{
for (uint8_t i=0; i < MAXSENSOR; i++) {
Serial.print(F("Sensor "));
Serial.print(i+1);
Serial.print(F(": "));
Serial.print(mylux[i].lightStrengthLux(), 1);
Serial.println("lux");
}
Serial.println();
delay(1000);
}
Error :
Arduino: 1.8.19 (Windows 10), Board: "Arduino Uno"
Software_multiplexer:15:35: error: no matching function for call to 'DFRobot_B_LUX_V30B::DFRobot_B_LUX_V30B()'
DFRobot_B_LUX_V30B mylux[MAXSENSOR];
^
In file included from C:\Users\Agri\Documents\Arduino\Software_multiplexer\Software_multiplexer.ino:1:0:
C:\Program Files (x86)\Arduino\libraries\DFRobot_B_LUX_V30B-master/DFRobot_B_LUX_V30B.h:136:3: note: candidate: DFRobot_B_LUX_V30B::DFRobot_B_LUX_V30B(uint8_t, uint8_t, uint8_t)
DFRobot_B_LUX_V30B(uint8_t cEN, uint8_t scl = SCL, uint8_t sda = SDA);
^~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\DFRobot_B_LUX_V30B-master/DFRobot_B_LUX_V30B.h:136:3: note: candidate expects 3 arguments, 0 provided
C:\Program Files (x86)\Arduino\libraries\DFRobot_B_LUX_V30B-master/DFRobot_B_LUX_V30B.h:40:7: note: candidate: constexpr DFRobot_B_LUX_V30B::DFRobot_B_LUX_V30B(const DFRobot_B_LUX_V30B&)
class DFRobot_B_LUX_V30B{
^~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\DFRobot_B_LUX_V30B-master/DFRobot_B_LUX_V30B.h:40:7: note: candidate expects 1 argument, 0 provided
C:\Users\Agri\Documents\Arduino\Software_multiplexer\Software_multiplexer.ino: In function 'void setup()':
Software_multiplexer:21:63: error: no matching function for call to 'DFRobot_B_LUX_V30B::begin(FlexWire&)'
for (uint8_t i=0; i < MAXSENSOR; i++) mylux[i].begin(wire[i]);
^
In file included from C:\Users\Agri\Documents\Arduino\Software_multiplexer\Software_multiplexer.ino:1:0:
C:\Program Files (x86)\Arduino\libraries\DFRobot_B_LUX_V30B-master/DFRobot_B_LUX_V30B.h:145:8: note: candidate: void DFRobot_B_LUX_V30B::begin()
void begin(void);
^~~~~
C:\Program Files (x86)\Arduino\libraries\DFRobot_B_LUX_V30B-master/DFRobot_B_LUX_V30B.h:145:8: note: candidate expects 0 arguments, 1 provided
exit status 1
no matching function for call to 'DFRobot_B_LUX_V30B::DFRobot_B_LUX_V30B()'
Board at COM7 is not available
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.