Skip to content

Commit 0f8e48a

Browse files
committed
source added
1 parent d3d97f8 commit 0f8e48a

File tree

14 files changed

+458
-0
lines changed

14 files changed

+458
-0
lines changed

SL01demoCC03_CS11/LOOP.ino

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
void main_program(void) {
2+
while (1) {
3+
delay(0);
4+
TaskScheduler();
5+
}
6+
}
7+

SL01demoCC03_CS11/MAIN.ino

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
void main_code(void) {
2+
3+
//Request SLO1 to get the weather measurements and store in the various variables
4+
lux = SL01.getLUX();
5+
6+
// Display the recoreded data on the OLED screen
7+
OD01.set2X();
8+
OD01.println("SL01 Data");
9+
10+
OD01.set1X();
11+
OD01.println("Shine your phone");
12+
OD01.println("flash on the sensor");
13+
OD01.println("to increase LUX");
14+
15+
OD01.print("Light:");
16+
OD01.print(lux);
17+
OD01.println("LUX");
18+
19+
uv = SL01.getUVA();
20+
OD01.print("UVA :");
21+
OD01.print(uv);
22+
OD01.println(" uW/m^2");
23+
24+
uv = SL01.getUVB();
25+
OD01.print("UVB :");
26+
OD01.print(uv);
27+
OD01.print(" uW/m^2");
28+
29+
30+
}
31+

SL01demoCC03_CS11/RGB.ino

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
void red_fade(const long interval, int LED, int limit, int increment) {
2+
currentMilli = millis();
3+
if (currentMilli - previousMilli1 >= interval) {
4+
previousMilli1 = currentMilli;
5+
if (fade_flag1 == true) {
6+
LED_state1 += increment;
7+
if (LED_state1 == limit) {
8+
fade_flag1 = false;
9+
}
10+
}
11+
if (fade_flag1 == false) {
12+
LED_state1 -= increment;
13+
if (LED_state1 == 0) {
14+
fade_flag1 = true;
15+
ledID++;
16+
}
17+
}
18+
}
19+
analogWrite(LED, LED_state1);
20+
}
21+
void blue_fade(const long interval, int LED, int limit, int increment) {
22+
currentMilli = millis();
23+
if (currentMilli - previousMilli2 >= interval) {
24+
previousMilli2 = currentMilli;
25+
if (fade_flag2 == true) {
26+
LED_state2 += increment;
27+
if (LED_state2 == limit) {
28+
fade_flag2 = false;
29+
}
30+
}
31+
if (fade_flag2 == false) {
32+
LED_state2 -= increment;
33+
if (LED_state2 == 0) {
34+
fade_flag2 = true;
35+
ledID = 0;
36+
}
37+
}
38+
}
39+
analogWrite(LED, LED_state2);
40+
}
41+
void green_fade(const long interval, int LED, int limit, int increment) {
42+
currentMilli = millis();
43+
if (currentMilli - previousMilli3 >= interval) {
44+
previousMilli3 = currentMilli;
45+
if (fade_flag3 == true) {
46+
LED_state3 += increment;
47+
if (LED_state3 == limit) {
48+
fade_flag3 = false;
49+
}
50+
}
51+
if (fade_flag3 == false) {
52+
LED_state3 -= increment;
53+
if (LED_state3 == 0) {
54+
fade_flag3 = true;
55+
ledID++;
56+
}
57+
}
58+
}
59+
analogWrite(LED, LED_state3);
60+
}

SL01demoCC03_CS11/SETUP.ino

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
void setup_program(void) {
2+
3+
#if defined(ESP8266)
4+
WiFi.forceSleepBegin();
5+
Wire.begin(2, 14);
6+
Wire.setClockStretchLimit(15000);
7+
8+
#elif defined(ARDUINO_SAMD_ZERO)
9+
Wire.begin();
10+
11+
#elif defined(ARDUINO_AVR_PRO)
12+
Wire.begin();
13+
14+
#elif defined(ESP32)
15+
Wire.begin();
16+
17+
#endif
18+
19+
20+
lux = uv = 0;
21+
22+
// start sensor
23+
SL01.begin();
24+
25+
// start oled
26+
OLED.begin();
27+
28+
// clear oled
29+
OD01.clear();
30+
31+
// set output leds
32+
pinMode(CW01_RED, OUTPUT);
33+
pinMode(CW01_GREEN, OUTPUT);
34+
pinMode(CW01_BLUE, OUTPUT);
35+
36+
// turn rgb on
37+
digitalWrite(CW01_RED, HIGH);
38+
digitalWrite(CW01_GREEN, HIGH);
39+
digitalWrite(CW01_BLUE, HIGH);
40+
41+
delay(2000);
42+
43+
// turn rgb off
44+
digitalWrite(CW01_RED, LOW);
45+
digitalWrite(CW01_GREEN, LOW);
46+
digitalWrite(CW01_BLUE, LOW);
47+
48+
delay(1000);
49+
t.tick_main = millis();
50+
t.tick_poll = millis();
51+
}
52+
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#include <xCore.h>
2+
#include <xOD01.h>
3+
#include "TIMER_CTRL.h"
4+
#include <xSL01.h>
5+
6+
#if defined(ESP8266)
7+
#define RED RED
8+
#define GREEN GREEN
9+
#define BLUE BLUE
10+
#include <ESP8266WiFi.h>
11+
#define Serial Serial
12+
13+
#elif defined(ARDUINO_SAMD_ZERO)
14+
#define RED CC03_RED
15+
#define GREEN CC03_GREEN
16+
#define BLUE CC03_BLUE
17+
#define Serial SerialUSB
18+
19+
#elif defined(ARDUINO_AVR_PRO)
20+
#define RED CC01_RED
21+
#define GREEN CC01_GREEN
22+
#define BLUE CC01_BLUE
23+
#define Serial Serial
24+
25+
#elif defined(ESP32)
26+
#define RED CW02_RED
27+
#define GREEN CW02_GREEN
28+
#define BLUE CW02_BLUE
29+
#define Serial Serial
30+
#endif
31+
32+
xSL01 SL01;
33+
34+
unsigned long currentMilli = 0;
35+
int ledID = 0;
36+
37+
bool fade_flag1 = true;
38+
unsigned long previousMilli1 = 0; // timing variable for LEDS
39+
int LED_state1 = 0;
40+
bool fade_flag2 = true;
41+
unsigned long previousMilli2 = 0; // timing variable for LEDS
42+
int LED_state2 = 0;
43+
bool fade_flag3 = true;
44+
unsigned long previousMilli3 = 0; // timing variable for LEDS
45+
int LED_state3 = 0;
46+
47+
//Create variables to store the light data read from the SL01
48+
float lux;
49+
float uv;
50+
51+
void setup() {
52+
// put your setup code here, to run once:
53+
setup_program();
54+
}
55+
56+
void loop() {
57+
// put your main code here, to run repeatedly:
58+
main_program();
59+
}

SL01demoCC03_CS11/TASKS.ino

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
void TaskScheduler(void) {
2+
3+
if (ledID == 0) {
4+
red_fade(30, CW01_RED, 255, 5);
5+
} else if (ledID == 1) {
6+
green_fade(30, CW01_GREEN, 255, 5);
7+
} else if (ledID == 2) {
8+
blue_fade(30, CW01_BLUE, 255, 5);
9+
}
10+
11+
if((millis() - t.tick_main) > 5000) {
12+
OD01.clear();
13+
main_code();
14+
t.tick_main = millis();
15+
}
16+
17+
if((millis() - t.tick_poll) > 30) {
18+
// poll sensor
19+
SL01.poll();
20+
21+
t.tick_poll = millis();
22+
}
23+
24+
}

SL01demoCC03_CS11/TIMER_CTRL.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#ifndef timer_h
2+
#define timer_h
3+
4+
struct TIMER_CTRL {
5+
unsigned long tick_main;
6+
unsigned long tick_poll;
7+
}t;
8+
9+
#endif
10+

SL01demoCW01/LOOP.ino

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
void main_program(void) {
2+
while (1) {
3+
delay(0);
4+
TaskScheduler();
5+
}
6+
}
7+

SL01demoCW01/MAIN.ino

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
void main_code(void) {
2+
3+
//Request SLO1 to get the weather measurements and store in the various variables
4+
lux = SL01.getLUX();
5+
6+
// Display the recoreded data on the OLED screen
7+
OD01.set2X();
8+
OD01.println("SL01 Data");
9+
10+
OD01.set1X();
11+
OD01.println("Shine your phone");
12+
OD01.println("flash on the sensor");
13+
OD01.println("to increase LUX");
14+
15+
OD01.print("Light:");
16+
OD01.print(lux);
17+
OD01.println("LUX");
18+
19+
uv = SL01.getUVA();
20+
OD01.print("UVA :");
21+
OD01.print(uv);
22+
OD01.println(" uW/m^2");
23+
24+
uv = SL01.getUVB();
25+
OD01.print("UVB :");
26+
OD01.print(uv);
27+
OD01.print(" uW/m^2");
28+
29+
30+
}
31+

SL01demoCW01/RGB.ino

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
void red_fade(const long interval, int LED, int limit, int increment) {
2+
currentMilli = millis();
3+
if (currentMilli - previousMilli1 >= interval) {
4+
previousMilli1 = currentMilli;
5+
if (fade_flag1 == true) {
6+
LED_state1 += increment;
7+
if (LED_state1 == limit) {
8+
fade_flag1 = false;
9+
}
10+
}
11+
if (fade_flag1 == false) {
12+
LED_state1 -= increment;
13+
if (LED_state1 == 0) {
14+
fade_flag1 = true;
15+
ledID++;
16+
}
17+
}
18+
}
19+
analogWrite(LED, LED_state1);
20+
}
21+
void blue_fade(const long interval, int LED, int limit, int increment) {
22+
currentMilli = millis();
23+
if (currentMilli - previousMilli2 >= interval) {
24+
previousMilli2 = currentMilli;
25+
if (fade_flag2 == true) {
26+
LED_state2 += increment;
27+
if (LED_state2 == limit) {
28+
fade_flag2 = false;
29+
}
30+
}
31+
if (fade_flag2 == false) {
32+
LED_state2 -= increment;
33+
if (LED_state2 == 0) {
34+
fade_flag2 = true;
35+
ledID = 0;
36+
}
37+
}
38+
}
39+
analogWrite(LED, LED_state2);
40+
}
41+
void green_fade(const long interval, int LED, int limit, int increment) {
42+
currentMilli = millis();
43+
if (currentMilli - previousMilli3 >= interval) {
44+
previousMilli3 = currentMilli;
45+
if (fade_flag3 == true) {
46+
LED_state3 += increment;
47+
if (LED_state3 == limit) {
48+
fade_flag3 = false;
49+
}
50+
}
51+
if (fade_flag3 == false) {
52+
LED_state3 -= increment;
53+
if (LED_state3 == 0) {
54+
fade_flag3 = true;
55+
ledID++;
56+
}
57+
}
58+
}
59+
analogWrite(LED, LED_state3);
60+
}

0 commit comments

Comments
 (0)