Skip to content

Commit f9a2f30

Browse files
committed
Examples added
1 parent 58cc184 commit f9a2f30

File tree

5 files changed

+273
-0
lines changed

5 files changed

+273
-0
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
/*
2+
Set the relays with touch pads
3+
*/
4+
#include <Arduino_MKRIoTCarrier.h>
5+
MKRIoTCarrier carrier;
6+
bool CARRIER_CASE = false;
7+
8+
//False means Normally closed
9+
bool newRelay1 = false;
10+
bool newRelay2 = false;
11+
12+
//uint32_t myColor = carrier.leds.Color(green, red, blue)
13+
uint32_t c_orange = carrier.leds.Color(15, 40, 0);
14+
uint32_t c_green = carrier.leds.Color(40, 0, 0);
15+
16+
void setup() {
17+
// put your setup code here, to run once:
18+
Serial.begin(9600);
19+
carrier.begin();
20+
21+
carrier.leds.setPixelColor(0, c_green);
22+
carrier.leds.setPixelColor(4, c_green);
23+
carrier.leds.setPixelColor(2, c_green);
24+
carrier.leds.show();
25+
}
26+
27+
void loop() {
28+
// put your main code here, to run repeatedly:
29+
carrier.Buttons.update();
30+
31+
/* Qtouch events
32+
ButtonX.
33+
34+
onTouchDown()
35+
onTouchUp()
36+
onTouchChange()
37+
getTouch()
38+
39+
*/
40+
41+
//Side pads set the new status for each relay
42+
//The LED changes to Green its going to be NC (Normally Closed) or Orange to NO (Normally Open)
43+
//Then the middle pad its going to upload the relay status, to confirm both new status
44+
45+
if (carrier.Button1.onTouchDown()) {
46+
newRelay2 = !newRelay2;
47+
if (newRelay2) {
48+
carrier.leds.setPixelColor(0, c_orange);
49+
} else {
50+
carrier.leds.setPixelColor(0, c_green);
51+
}
52+
carrier.leds.show();
53+
54+
}
55+
if (carrier.Button5.onTouchDown()) {
56+
newRelay1 = !newRelay1;
57+
if (newRelay1) {
58+
carrier.leds.setPixelColor(4, c_orange);
59+
} else {
60+
carrier.leds.setPixelColor(4, c_green);
61+
}
62+
carrier.leds.show();
63+
}
64+
65+
if (carrier.Button3.onTouchDown()) {
66+
carrier.leds.setPixelColor(2, c_orange);
67+
carrier.leds.show();
68+
69+
//Set the relays
70+
//Relay 1
71+
if (newRelay1) {
72+
carrier.Relay1.open();
73+
} else {
74+
carrier.Relay1.close();
75+
}
76+
//Relay 1
77+
if (newRelay2) {
78+
carrier.Relay2.open();
79+
} else {
80+
carrier.Relay2.close();
81+
}
82+
83+
delay(250);
84+
carrier.leds.setPixelColor(2, 0);
85+
carrier.leds.show();
86+
delay(250);
87+
carrier.leds.setPixelColor(2, c_green);
88+
carrier.leds.show();
89+
}
90+
91+
delay(20);
92+
93+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
Arduino_Qtouch - Sensor data read Example
3+
This example shows how to configure and read data
4+
from touch sensors bottons on MKR IoT Carrier and
5+
prints updates to the Serial Monitor.
6+
7+
The circuit:
8+
- Arduino MKR baord;
9+
- MKR IoT carrier.
10+
11+
This example code is in the public domain.
12+
*/
13+
#include <Arduino_MKRIoTCarrier.h>
14+
MKRIoTCarrier carrier;
15+
bool CARRIER_CASE = false;
16+
17+
18+
void setup() {
19+
Serial.begin(9600);
20+
while (!Serial);
21+
// Qtouch initialization
22+
if (!carrier.begin()) {
23+
Serial.println("Error in sensors initialization!");
24+
while (1);
25+
}
26+
Serial.println("Touch initialization Done!");
27+
}
28+
29+
void loop() {
30+
// polling the sensor for new measure
31+
carrier.Buttons.update();
32+
33+
if (carrier.Button1.onTouchDown()) {
34+
Serial.println("Touched Down Button 1");
35+
}
36+
if (carrier.Button2.onTouchUp()) {
37+
Serial.println("Release Touch Button 2");
38+
}
39+
if (carrier.Button3.onTouchChange()) {
40+
Serial.println("Changed Touch Button 3");
41+
}
42+
if (carrier.Button4.getTouch()) {
43+
Serial.println("Touching Button 4");
44+
}
45+
if (carrier.Button5.getTouch()) {
46+
Serial.println("Touching Button 5");
47+
}
48+
delay(20);
49+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
#include <Arduino_MKRIoTCarrier.h>
2+
MKRIoTCarrier carrier; //Constructor of the carrier maybe we can include it on the library itself
3+
4+
//Auto configure the sense distance for the touch pads
5+
bool CARRIER_CASE = false;
6+
7+
void setup() {
8+
// put your setup code here, to run once:
9+
Serial.begin(9600);
10+
while (!Serial);
11+
12+
//Init all the components from the board
13+
carrier.begin();
14+
}
15+
16+
void loop() {
17+
// put your main code here, to run repeatedly:
18+
19+
//Each time you want to update the reads from the pads use this
20+
//It will update all the pads at the same time
21+
carrier.Buttons.update();
22+
23+
//Different types of touches
24+
//When you first touch it
25+
if (carrier.Button1.onTouchDown()) {
26+
Serial.println("Touched Down Button 1");
27+
carrier.leds.setPixelColor(0, 20, 20, 20); // 'Off' pixel at tail
28+
carrier.leds.show(); // Refresh strip
29+
delay(50);
30+
} else {
31+
carrier.leds.setPixelColor(0, 0);
32+
carrier.leds.show(); // Refresh strip
33+
}
34+
35+
//When you release it
36+
if (carrier.Button2.onTouchUp()) {
37+
Serial.println("Release Touch Button 2");
38+
carrier.leds.setPixelColor(1, 20, 20, 20); // 'Off' pixel at tail
39+
carrier.leds.show(); // Refresh strip
40+
delay(50);
41+
} else {
42+
carrier.leds.setPixelColor(1, 0);
43+
carrier.leds.show(); // Refresh strip
44+
}
45+
46+
//When it detects a change, down or up
47+
if (carrier.Button3.onTouchChange()) {
48+
Serial.println("Changed Touch Button 3");
49+
carrier.leds.setPixelColor(2, 20, 20, 20); // 'Off' pixel at tail
50+
carrier.leds.show(); // Refresh strip
51+
delay(50);
52+
} else {
53+
carrier.leds.setPixelColor(2, 0);
54+
carrier.leds.show(); // Refresh strip
55+
}
56+
57+
//Normal, if it is being pressed
58+
if (carrier.Button4.getTouch()) {
59+
Serial.println("Touching Button 4");
60+
carrier.leds.setPixelColor(3, 20, 20, 20); // 'Off' pixel at tail
61+
carrier.leds.show(); // Refresh strip
62+
delay(5);
63+
} else {
64+
carrier.leds.setPixelColor(3, 0);
65+
carrier.leds.show(); // Refresh strip
66+
}
67+
68+
if (carrier.Button5.getTouch()) {
69+
Serial.println("Touching Button 5");
70+
carrier.leds.setPixelColor(4, 20, 20, 20); // 'Off' pixel at tail
71+
carrier.leds.show(); // Refresh strip
72+
delay(5);
73+
} else {
74+
carrier.leds.setPixelColor(4, 0);
75+
carrier.leds.show(); // Refresh strip
76+
}
77+
78+
79+
Serial.println();
80+
delay(10);
81+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
Arduino_Qtouch - Sensor data read Example
3+
This example shows how to configure and read data
4+
from touch sensors bottons on MKR IoT Carrier and
5+
prints updates to the Serial Monitor.
6+
7+
The circuit:
8+
- Arduino MKR baord;
9+
- MKR IoT carrier.
10+
11+
This example code is in the public domain.
12+
*/
13+
#include <Arduino_MKRIoTCarrier.h>
14+
MKRIoTCarrier carrier;
15+
bool CARRIER_CASE = false;
16+
17+
18+
void setup() {
19+
Serial.begin(9600);
20+
while (!Serial);
21+
// Qtouch initialization
22+
if (!carrier.begin()) {
23+
Serial.println("Error in sensors initialization!");
24+
while (1);
25+
}
26+
Serial.println("Touch initialization Done!");
27+
}
28+
29+
void loop() {
30+
// polling the sensor for new measure
31+
carrier.Buttons.update();
32+
33+
// Checks if new data are available
34+
if (carrier.Button1.getTouch()) {
35+
Serial.println("Touching Button 1");
36+
}
37+
if (carrier.Button2.getTouch()) {
38+
Serial.println("Touching Button 2");
39+
}
40+
if (carrier.Button3.getTouch()) {
41+
Serial.println("Touching Button 3");
42+
}
43+
if (carrier.Button4.getTouch()) {
44+
Serial.println("Touching Button 4");
45+
}
46+
if (carrier.Button5.getTouch()) {
47+
Serial.println("Touching Button 5");
48+
}
49+
50+
}

0 commit comments

Comments
 (0)