kriswiner / as7265x Goto Github PK
View Code? Open in Web Editor NEW18-channel, 40-nm FWHM spectrometer
18-channel, 40-nm FWHM spectrometer
I run it on UNO
intpin -> Digital 3 ;
reset -> Reset
It runs on terminal and
Returns Scanning...
I2C device found at address 0x49 !
done
I2C scan done
AS72651 Device Type = 0x40 should be 0x40
AS72651 HW Version = 0x41 should be 0x41
AS72651 FW Major Version = 0xC
AS72651 FW Patch Version = 0x0
AS72651 FW Build Version = 0x0
any ideas ?
Hi Kris,
Do you still have by a chance one unpopulated PCB of the previous version i.e. PCB with the vertical sensor layout (as it is shown in your project Readme)? I checked at Tindie but they have only the new board with "triad" sensor arrangement.
My plan is to evaluate your spectrometer for transmission measurement with a cuvette samples and for that that vertical layout is more suitable.
regards
Jacek
Hey Kris,
thanks for your work, we have read a lot about your project and it was very inspiring to see your solution. Hope it is selling good on tindie!
We have an AS7265x spectrometer running, but we struggle with understanding the unit (& converting it). According to the datasheet, the unit is counts/(μW/cm2), but we cannot find more information on what counts are and how to convert it to a unit that represents light intensity.
We would love to be able to convert the counts/(μW/cm²)
value to something like μmol * m⁻² * s⁻¹
which is used for light recipes for plants for example.
Do you know what the counts are and how to convert the measurements from the spectrometer in other units?
Thanks in advance!
I'm having a couple issues with your demo sketch, listed below.
Line 38 is: Wire.begin(/*TWI_PINS_20_21*/); // set master mode
, which fails compile time since TWI_PINS_20_21
is not defined. Furthermore, the arduino documentation specifies that adding an argument to Wire.begin() will join i2c as slave with the 7 bit address specified, which seems counterintuitive to what this code is doing. I managed to get it working using just 'Wire.begin(), which joins i2c as master.
Line 79 is: (delay(100);
where it should be delay(100);
In your header file, you write:
`#define AS72651_CAL_CHAN0_0 0x14
#define AS72651_CAL_CHAN0_1 0x15
#define AS72651_CAL_CHAN0_2 0x16
#define AS72651_CAL_CHAN0_3 0x17
#define AS72651_CAL_CHAN1_0 0x18
#define AS72651_CAL_CHAN1_1 0x19
#define AS72651_CAL_CHAN1_2 0x1A
#define AS72651_CAL_CHAN1_3 0x1B
#define AS72651_CAL_CHAN2_0 0x1C
#define AS72651_CAL_CHAN2_1 0x1D
#define AS72651_CAL_CHAN2_2 0x1E
#define AS72651_CAL_CHAN2_3 0x1F
#define AS72651_CAL_CHAN3_0 0x20
#define AS72651_CAL_CHAN3_1 0x21
#define AS72651_CAL_CHAN3_2 0x22
#define AS72651_CAL_CHAN3_3 0x23
#define AS72651_CAL_CHAN4_0 0x24
#define AS72651_CAL_CHAN4_1 0x25
#define AS72651_CAL_CHAN4_2 0x26
#define AS72651_CAL_CHAN4_3 0x27
#define AS72651_CAL_CHAN4_0 0x28
#define AS72651_CAL_CHAN4_1 0x29
#define AS72651_CAL_CHAN4_2 0x2A
#define AS72651_CAL_CHAN4_3 0x2B
`
What is the purpose of redefining all of these values multiple times? Won't the final values be the last 4 lines?
void loop()
function is not entered. I believe it is because the final AS7265X.getStatus()
does not return. For example, this code Serial.print("attaching interrupt to myIntHandler()..."); attachInterrupt(intPin, myIntHandler, FALLING); Serial.println("done"); Serial.println("status:" + AS7265X.getStatus());
attaching interrupt to myIntHandler()...done
and nothing else.Thanks for the help
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.