GP v30 07: Luxes sensor
This is the basic code to manage and read the luxes sensor.
Required Materials
1 x Waspmote 1 x Battery 1 x Gases PRO board v30 1 x Luxes Accuracy Sensor
Notes
- Remember to connect the battery to Waspmote for proper operation. - The connection of the sensor is described in the Gases PRO v30 technical guide. - Cycle time: 30 seconds
Code
/*
* ------------ [GP_v30_07] - Luxes sensor --------------
*
* Explanation: This is the basic code to manage and read the
* luxes sensor.Cycle time: 30 seconds
*
* Copyright (C) 2017 Libelium Comunicaciones Distribuidas S.L.
* http://www.libelium.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Version: 3.1
* Design: David Gascón
* Implementation: Alejandro Gállego
*/
#include <WaspSensorGas_Pro.h>
#include <TSL2561.h>
/*
* Waspmote OEM. Possibilities for this sensor:
* - CENTRAL SOCKET
* P&S! Possibilities for this sensor:
* - SOCKET_E
*/
void setup()
{
USB.println(F("Luxes sensor example"));
// Configures the I2C isolator
pinMode(GP_I2C_MAIN_EN, OUTPUT);
}
void loop()
{
///////////////////////////////////////////
// 1. Turn on the sensor
///////////////////////////////////////////
// Power on the 3v3.
PWR.setSensorPower(SENS_3V3, SENS_ON);
// Enable the communication with the board
digitalWrite(GP_I2C_MAIN_EN, HIGH);
// Power on the sensor.
TSL.ON();
///////////////////////////////////////////
// 2. Read sensor
///////////////////////////////////////////
// Read the luminosity sensor
TSL.getLuminosity();
// And print the value via USB
USB.println(F("***************************************"));
USB.print(F("Luminosity: "));
USB.print(TSL.lux);
USB.println(F(" luxes"));
///////////////////////////////////////////
// 3. Power off sensor
///////////////////////////////////////////
// Disable the communication with the board
digitalWrite(GP_I2C_MAIN_EN, LOW);
// Power off the sensor.
PWR.setSensorPower(SENS_3V3, SENS_OFF);
///////////////////////////////////////////
// 4. Sleep
///////////////////////////////////////////
// Go to deepsleep
// After 30 seconds, Waspmote wakes up thanks to the RTC Alarm
PWR.deepSleep("00:00:00:30", RTC_OFFSET, RTC_ALM1_MODE1, ALL_OFF);
}
Output
H#
Luxes sensor example
***************************************
Luminosity: 15 luxes
***************************************
Luminosity: 18 luxes
***************************************
Luminosity: 16 luxes
***************************************
Luminosity: 20 luxes
Last updated