Code used for order of the arrow stem fest

Dependencies:   ADXL362 TSL2561 mbed

Committer:
bhimebau
Date:
Tue Jul 24 18:49:42 2018 +0000
Revision:
1:30b301d09229
Parent:
0:81d75634beee
Done. ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bhimebau 0:81d75634beee 1 #include "mbed.h"
bhimebau 0:81d75634beee 2
bhimebau 0:81d75634beee 3 /*------------------------------------------------------------------------------
bhimebau 0:81d75634beee 4 Before to use this example, ensure that you an hyperterminal installed on your
bhimebau 0:81d75634beee 5 computer. More info here: https://developer.mbed.org/handbook/Terminals
bhimebau 0:81d75634beee 6
bhimebau 0:81d75634beee 7 The default serial comm port uses the SERIAL_TX and SERIAL_RX pins (see their
bhimebau 0:81d75634beee 8 definition in the PinNames.h file).
bhimebau 0:81d75634beee 9
bhimebau 0:81d75634beee 10 The default serial configuration in this case is 9600 bauds, 8-bit data, no parity
bhimebau 0:81d75634beee 11
bhimebau 0:81d75634beee 12 If you want to change the baudrate for example, you have to redeclare the
bhimebau 0:81d75634beee 13 serial object in your code:
bhimebau 0:81d75634beee 14
bhimebau 0:81d75634beee 15 Serial pc(SERIAL_TX, SERIAL_RX);
bhimebau 0:81d75634beee 16
bhimebau 0:81d75634beee 17 Then, you can modify the baudrate and print like this:
bhimebau 0:81d75634beee 18
bhimebau 0:81d75634beee 19 pc.baud(115200);
bhimebau 0:81d75634beee 20 pc.printf("Hello World !\n");
bhimebau 0:81d75634beee 21 ------------------------------------------------------------------------------*/
bhimebau 0:81d75634beee 22
bhimebau 0:81d75634beee 23 DigitalOut led(LED1);
bhimebau 0:81d75634beee 24
bhimebau 0:81d75634beee 25 int main()
bhimebau 0:81d75634beee 26 {
bhimebau 0:81d75634beee 27 int i = 1;
bhimebau 0:81d75634beee 28
bhimebau 0:81d75634beee 29 printf("Hello World !\n");
bhimebau 0:81d75634beee 30
bhimebau 0:81d75634beee 31 while(1) {
bhimebau 0:81d75634beee 32 wait(1); // 1 second
bhimebau 0:81d75634beee 33 led = !led; // Toggle LED
bhimebau 0:81d75634beee 34 printf("This program runs since %d seconds.\n", i++);
bhimebau 0:81d75634beee 35 }
bhimebau 0:81d75634beee 36 }
bhimebau 0:81d75634beee 37
bhimebau 0:81d75634beee 38
bhimebau 0:81d75634beee 39 /* #include "mbed.h"
bhimebau 0:81d75634beee 40 #include "ADXL362.h"
bhimebau 0:81d75634beee 41
bhimebau 0:81d75634beee 42 ADXL362 adxl362(D9);
bhimebau 0:81d75634beee 43
bhimebau 0:81d75634beee 44 int main() {
bhimebau 0:81d75634beee 45
bhimebau 0:81d75634beee 46 adxl362.reset();
bhimebau 0:81d75634beee 47 wait_ms(600); // we need to wait at least 500ms after ADXL362 reset
bhimebau 0:81d75634beee 48 adxl362.set_mode(ADXL362::MEASUREMENT);
bhimebau 0:81d75634beee 49 uint8_t x,y,z;
bhimebau 0:81d75634beee 50 while(1) {
bhimebau 0:81d75634beee 51 x=adxl362.scanx_u8();
bhimebau 0:81d75634beee 52 y=adxl362.scany_u8();
bhimebau 0:81d75634beee 53 z=adxl362.scanz_u8();
bhimebau 0:81d75634beee 54 printf("x = %x y = %x z = %x\r\n",x,y,z);
bhimebau 0:81d75634beee 55 wait_ms(100);
bhimebau 0:81d75634beee 56 }
bhimebau 0:81d75634beee 57 }
bhimebau 0:81d75634beee 58
bhimebau 0:81d75634beee 59 #include "mbed.h"
bhimebau 0:81d75634beee 60 #include "TSL2561.h"
bhimebau 0:81d75634beee 61
bhimebau 0:81d75634beee 62 Serial PC(USBTX, USBRX);
bhimebau 0:81d75634beee 63
bhimebau 0:81d75634beee 64 #define PC_PRINTX(z,x) if(z==1) PC.printf(x);
bhimebau 0:81d75634beee 65 #define PC_PRINTLNX(z,x) if(z==1) {PC.printf(x); PC.printf("\r\n");}
bhimebau 0:81d75634beee 66 #define PC_PRINTXY(z,x, y) if(z==1) PC.printf(x, y);
bhimebau 0:81d75634beee 67 #define PC_PRINTLNXY(z,x, y) if(z==1) {PC.printf(x, y); PC.printf("\r\n");}
bhimebau 0:81d75634beee 68
bhimebau 0:81d75634beee 69 DigitalOut myled(LED1);
bhimebau 0:81d75634beee 70 TSL2561 tsl2561(TSL2561_ADDR_FLOAT);
bhimebau 0:81d75634beee 71
bhimebau 0:81d75634beee 72 Timer setuptimer;
bhimebau 0:81d75634beee 73 Timer executetimer;
bhimebau 0:81d75634beee 74
bhimebau 0:81d75634beee 75 void setup(void){
bhimebau 0:81d75634beee 76
bhimebau 0:81d75634beee 77 if (tsl2561.begin()) {
bhimebau 0:81d75634beee 78 PC_PRINTLNX(1,"TSL2561 Sensor Found");
bhimebau 0:81d75634beee 79 } else {
bhimebau 0:81d75634beee 80 PC_PRINTLNX(1,"TSL2561 Sensor not Found");
bhimebau 0:81d75634beee 81 }
bhimebau 0:81d75634beee 82
bhimebau 0:81d75634beee 83 // You can change the gain on the fly, to adapt to brighter/dimmer tsl2561 situations
bhimebau 0:81d75634beee 84 tsl2561.setGain(TSL2561_GAIN_0X); // set no gain (for bright situtations)
bhimebau 0:81d75634beee 85 //tsl2561.setGain(TSL2561_GAIN_16X); // set 16x gain (for dim situations)
bhimebau 0:81d75634beee 86
bhimebau 0:81d75634beee 87 // Changing the integration time gives you a longer time over which to sense tsl2561
bhimebau 0:81d75634beee 88 // longer timelines are slower, but are good in very low tsl2561 situtations!
bhimebau 0:81d75634beee 89 //tsl2561.setTiming(TSL2561_INTEGRATIONTIME_13MS); // shortest integration time (bright tsl2561)
bhimebau 0:81d75634beee 90 //tsl2561.setTiming(TSL2561_INTEGRATIONTIME_101MS); // medium integration time (medium tsl2561)
bhimebau 0:81d75634beee 91 tsl2561.setTiming(TSL2561_INTEGRATIONTIME_402MS); // longest integration time (dim tsl2561)
bhimebau 0:81d75634beee 92
bhimebau 0:81d75634beee 93 // Now we're ready to get readings!
bhimebau 0:81d75634beee 94 }
bhimebau 0:81d75634beee 95
bhimebau 0:81d75634beee 96 int main() {
bhimebau 0:81d75634beee 97
bhimebau 0:81d75634beee 98 PC_PRINTLNX(1,"----------START-------------");
bhimebau 0:81d75634beee 99 setuptimer.start();
bhimebau 0:81d75634beee 100 setup();
bhimebau 0:81d75634beee 101 setuptimer.stop();
bhimebau 0:81d75634beee 102 PC_PRINTLNXY(1,"Setup time: %f",setuptimer.read());
bhimebau 0:81d75634beee 103 setuptimer.reset();
bhimebau 0:81d75634beee 104
bhimebau 0:81d75634beee 105 uint16_t x,y,z;
bhimebau 0:81d75634beee 106
bhimebau 0:81d75634beee 107 while(1) {
bhimebau 0:81d75634beee 108
bhimebau 0:81d75634beee 109
bhimebau 0:81d75634beee 110 // Simple data read example. Just read the infrared, fullspecrtrum diode
bhimebau 0:81d75634beee 111 // or 'visible' (difference between the two) channels.
bhimebau 0:81d75634beee 112 // This can take 13-402 milliseconds! Uncomment whichever of the following you want to read
bhimebau 0:81d75634beee 113
bhimebau 0:81d75634beee 114 executetimer.start();
bhimebau 0:81d75634beee 115 x = tsl2561.getLuminosity(TSL2561_VISIBLE);
bhimebau 0:81d75634beee 116 y = tsl2561.getLuminosity(TSL2561_FULLSPECTRUM);
bhimebau 0:81d75634beee 117 z = tsl2561.getLuminosity(TSL2561_INFRARED);
bhimebau 0:81d75634beee 118 executetimer.stop();
bhimebau 0:81d75634beee 119
bhimebau 0:81d75634beee 120 PC_PRINTLNXY(1,"Visible: %d",x);
bhimebau 0:81d75634beee 121 PC_PRINTLNXY(1,"Full Spectrum: %d",y);
bhimebau 0:81d75634beee 122 PC_PRINTLNXY(1,"Infrared: %d",z);
bhimebau 0:81d75634beee 123 PC_PRINTLNXY(1,"Execution Time: %f",executetimer.read());
bhimebau 0:81d75634beee 124 executetimer.reset();
bhimebau 0:81d75634beee 125
bhimebau 0:81d75634beee 126 //More advanced data read example. Read 32 bits with top 16 bits IR, bottom 16 bits full spectrum
bhimebau 0:81d75634beee 127 //That way you can do whatever math and comparisons you want!
bhimebau 0:81d75634beee 128 // uint32_t lum = tsl2561.getFullLuminosity();
bhimebau 0:81d75634beee 129 // uint16_t ir, full;
bhimebau 0:81d75634beee 130 // ir = lum >> 16;
bhimebau 0:81d75634beee 131 // full = lum & 0xFFFF;
bhimebau 0:81d75634beee 132
bhimebau 0:81d75634beee 133 // PC_PRINTLNXY(1,"Visible: %d",full - ir);
bhimebau 0:81d75634beee 134 // PC_PRINTLNXY(1,"Full Spectrum: %d",full);
bhimebau 0:81d75634beee 135 // PC_PRINTLNXY(1,"Infrared: %d",ir);
bhimebau 0:81d75634beee 136
bhimebau 0:81d75634beee 137 // wait(1);
bhimebau 0:81d75634beee 138 PC_PRINTLNX(1,"----------COMPLETE-------------");
bhimebau 0:81d75634beee 139 }
bhimebau 0:81d75634beee 140 }
bhimebau 0:81d75634beee 141
bhimebau 0:81d75634beee 142 */
bhimebau 0:81d75634beee 143
bhimebau 0:81d75634beee 144