Code used for order of the arrow stem fest
Dependencies: ADXL362 TSL2561 mbed
main.cpp
- Committer:
- bhimebau
- Date:
- 2018-07-24
- Revision:
- 1:30b301d09229
- Parent:
- 0:81d75634beee
File content as of revision 1:30b301d09229:
#include "mbed.h"
/*------------------------------------------------------------------------------
Before to use this example, ensure that you an hyperterminal installed on your
computer. More info here: https://developer.mbed.org/handbook/Terminals
The default serial comm port uses the SERIAL_TX and SERIAL_RX pins (see their
definition in the PinNames.h file).
The default serial configuration in this case is 9600 bauds, 8-bit data, no parity
If you want to change the baudrate for example, you have to redeclare the
serial object in your code:
Serial pc(SERIAL_TX, SERIAL_RX);
Then, you can modify the baudrate and print like this:
pc.baud(115200);
pc.printf("Hello World !\n");
------------------------------------------------------------------------------*/
DigitalOut led(LED1);
int main()
{
int i = 1;
printf("Hello World !\n");
while(1) {
wait(1); // 1 second
led = !led; // Toggle LED
printf("This program runs since %d seconds.\n", i++);
}
}
/* #include "mbed.h"
#include "ADXL362.h"
ADXL362 adxl362(D9);
int main() {
adxl362.reset();
wait_ms(600); // we need to wait at least 500ms after ADXL362 reset
adxl362.set_mode(ADXL362::MEASUREMENT);
uint8_t x,y,z;
while(1) {
x=adxl362.scanx_u8();
y=adxl362.scany_u8();
z=adxl362.scanz_u8();
printf("x = %x y = %x z = %x\r\n",x,y,z);
wait_ms(100);
}
}
#include "mbed.h"
#include "TSL2561.h"
Serial PC(USBTX, USBRX);
#define PC_PRINTX(z,x) if(z==1) PC.printf(x);
#define PC_PRINTLNX(z,x) if(z==1) {PC.printf(x); PC.printf("\r\n");}
#define PC_PRINTXY(z,x, y) if(z==1) PC.printf(x, y);
#define PC_PRINTLNXY(z,x, y) if(z==1) {PC.printf(x, y); PC.printf("\r\n");}
DigitalOut myled(LED1);
TSL2561 tsl2561(TSL2561_ADDR_FLOAT);
Timer setuptimer;
Timer executetimer;
void setup(void){
if (tsl2561.begin()) {
PC_PRINTLNX(1,"TSL2561 Sensor Found");
} else {
PC_PRINTLNX(1,"TSL2561 Sensor not Found");
}
// You can change the gain on the fly, to adapt to brighter/dimmer tsl2561 situations
tsl2561.setGain(TSL2561_GAIN_0X); // set no gain (for bright situtations)
//tsl2561.setGain(TSL2561_GAIN_16X); // set 16x gain (for dim situations)
// Changing the integration time gives you a longer time over which to sense tsl2561
// longer timelines are slower, but are good in very low tsl2561 situtations!
//tsl2561.setTiming(TSL2561_INTEGRATIONTIME_13MS); // shortest integration time (bright tsl2561)
//tsl2561.setTiming(TSL2561_INTEGRATIONTIME_101MS); // medium integration time (medium tsl2561)
tsl2561.setTiming(TSL2561_INTEGRATIONTIME_402MS); // longest integration time (dim tsl2561)
// Now we're ready to get readings!
}
int main() {
PC_PRINTLNX(1,"----------START-------------");
setuptimer.start();
setup();
setuptimer.stop();
PC_PRINTLNXY(1,"Setup time: %f",setuptimer.read());
setuptimer.reset();
uint16_t x,y,z;
while(1) {
// Simple data read example. Just read the infrared, fullspecrtrum diode
// or 'visible' (difference between the two) channels.
// This can take 13-402 milliseconds! Uncomment whichever of the following you want to read
executetimer.start();
x = tsl2561.getLuminosity(TSL2561_VISIBLE);
y = tsl2561.getLuminosity(TSL2561_FULLSPECTRUM);
z = tsl2561.getLuminosity(TSL2561_INFRARED);
executetimer.stop();
PC_PRINTLNXY(1,"Visible: %d",x);
PC_PRINTLNXY(1,"Full Spectrum: %d",y);
PC_PRINTLNXY(1,"Infrared: %d",z);
PC_PRINTLNXY(1,"Execution Time: %f",executetimer.read());
executetimer.reset();
//More advanced data read example. Read 32 bits with top 16 bits IR, bottom 16 bits full spectrum
//That way you can do whatever math and comparisons you want!
// uint32_t lum = tsl2561.getFullLuminosity();
// uint16_t ir, full;
// ir = lum >> 16;
// full = lum & 0xFFFF;
// PC_PRINTLNXY(1,"Visible: %d",full - ir);
// PC_PRINTLNXY(1,"Full Spectrum: %d",full);
// PC_PRINTLNXY(1,"Infrared: %d",ir);
// wait(1);
PC_PRINTLNX(1,"----------COMPLETE-------------");
}
}
*/