25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/search/variables_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['_5fdistance',['_distance',['../class_easyuino_1_1_distance_meter.html#ae10df1a21d2acfec3aa3eef57ea3a632',1,'Easyuino::DistanceMeter']]],
4 | ['_5fechopin',['_echoPin',['../class_easyuino_1_1_distance_meter.html#a6f4a18c48dc147102f1fae8cb12e24a2',1,'Easyuino::DistanceMeter']]],
5 | ['_5fisechoing',['_isEchoing',['../class_easyuino_1_1_distance_meter.html#ae2b9e4d3e8704c8f1a73639afd53614d',1,'Easyuino::DistanceMeter']]],
6 | ['_5fisinitialized',['_isInitialized',['../class_easyuino_1_1_device.html#aa0b9574dae06ba9fc2180cba67d63126',1,'Easyuino::Device']]],
7 | ['_5flastpulsetimestamp',['_lastPulseTimestamp',['../class_easyuino_1_1_water_flow_sensor.html#a28f717a1424eaa47eb6cf08d5de76fb0',1,'Easyuino::WaterFlowSensor']]],
8 | ['_5fsensorpin',['_sensorPin',['../class_easyuino_1_1_water_flow_sensor.html#a7efef15ef9da3a66bd40183c4ea908ff',1,'Easyuino::WaterFlowSensor']]],
9 | ['_5ftriggerpin',['_triggerPin',['../class_easyuino_1_1_distance_meter.html#a39f2305fe998cd3212eef389dfe036fe',1,'Easyuino::DistanceMeter']]]
10 | ];
11 |
--------------------------------------------------------------------------------
/docs/splitbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/docs/splitbar.png
--------------------------------------------------------------------------------
/docs/sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/docs/sync_off.png
--------------------------------------------------------------------------------
/docs/sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/docs/sync_on.png
--------------------------------------------------------------------------------
/docs/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/docs/tab_a.png
--------------------------------------------------------------------------------
/docs/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/docs/tab_b.png
--------------------------------------------------------------------------------
/docs/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/docs/tab_h.png
--------------------------------------------------------------------------------
/docs/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/docs/tab_s.png
--------------------------------------------------------------------------------
/examples/ButtonExample/ButtonExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | ButtonExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::Button; // Necessary in order to use Button API
8 |
9 | int pressedPin = 7; // Arduino pin that connects to Button (used to know if button is pressed or not)
10 |
11 | Button button(pressedPin); // Create the Button API object
12 |
13 | void setup() {
14 | Serial.begin(9600);
15 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
16 |
17 | button.begin(); // Initialize the Button API
18 | }
19 |
20 | void loop() {
21 | unsigned long timePressed = 0;
22 |
23 | /*
24 | - API call used to verify if the button is being pressed.
25 | */
26 | if (button.isPressed()) {
27 | Serial.println(F("PRESSED!!"));
28 |
29 | /*
30 | - API call used to obtain how many milliseconds have past since the button is being pressed.
31 | */
32 | timePressed = button.getPressedTimeMilliseconds();
33 | Serial.println(timePressed);
34 | }
35 | else {
36 | Serial.println(F("IDLE"));
37 | }
38 |
39 | }
--------------------------------------------------------------------------------
/examples/DistanceMeterAccurateExample/DistanceMeterAccurateExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | DistanceMeterAccurateExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::DistanceMeterAccurate; // Necessary in order to use DistanceMeterAccurate API
8 | using Easyuino::TemperatureScale; // Necessary to use the Temperature Scale options
9 |
10 | int triggerPin = 7; // Arduino pin that connects to Ultrasonic Module trigger pin
11 | int echoPin = 2; // Arduino pin that connects to Ultrasonic Module echo pin (it should be a pin that support external interruptions https://www.arduino.cc/en/Reference/AttachInterrupt)
12 | float currentAirTemperature = 26.7f; // The current air temperature to be considered when measuring the distance
13 |
14 | DistanceMeterAccurate distanceMeterACC(triggerPin, echoPin); // Create the DistanceMeterAccurate API object
15 |
16 | void setup() {
17 | Serial.begin(9600);
18 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
19 |
20 | distanceMeterACC.begin(); // Initialize the DistanceMeterNonBlock API
21 | }
22 |
23 | /*
24 | - This API is an extension to DistanceMeterNonBlock API. You can do the sam as DistanceMeterNonBlock plus the following calls.
25 | */
26 | void loop() {
27 | /*
28 | - This call does the same as updateDistanceNonBlock() in the DistanceMeterNonBlockExample.ino
29 | - The difference is that we can provide the measurement with the current air temperature.
30 | Why??? Well because the temperature can change a lot around the world and even during the day, which
31 | affects the sound speed in the air that is used to calculate the distance.
32 | See https://en.wikipedia.org/wiki/Speed_of_sound if you have curiosity.
33 | - The first parameter is the air temperature (If the argument is not provided the
34 | default temperature used to calculate the sound speed is 20.0 Celsius)
35 | - The second parameter is the temperature scale which can be KELVIN, CELSIUS or FAHRENHEIT
36 | (If the argument is not provided the API consider CELSIUS, sorry American users I like you too :) )
37 | */
38 | distanceMeterACC.updateDistanceNonBlock(currentAirTemperature, TemperatureScale::CELSIUS);
39 |
40 | /*
41 | See DistanceMeterExample.ino for the explanation
42 | */
43 | float distanceCentimeters = distanceMeterACC.getDistanceCentimeters();
44 | Serial.println(distanceCentimeters);
45 |
46 | delay(300);
47 | }
--------------------------------------------------------------------------------
/examples/DistanceMeterExample/DistanceMeterExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | DistanceMeterExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::DistanceMeter; // Necessary in order to use DistanceMeter API
8 |
9 | int triggerPin = 7; // Arduino pin that connects to Ultrasonic Module trigger pin
10 | int echoPin = 2; // Arduino pin that connects to Ultrasonic Module echo pin
11 |
12 | DistanceMeter distanceMeter(triggerPin, echoPin); // Create the DistanceMeter API object
13 |
14 | void setup() {
15 | Serial.begin(9600);
16 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
17 |
18 | distanceMeter.begin(); // Initialize the DistanceMeter API
19 | }
20 |
21 | void loop() {
22 | /*
23 | - This call makes the Ultrasonic Module update its distance to the closer object.
24 | - To get the distance measure you need call getDistanceCentimeters(); or getDistanceInches();
25 | presented below.
26 | - Info: The Arduino will wait when you call this in order to let the Ultrasonic Module make the measurement.
27 | So the next instructions will only execute when the measurement is done. Measurement can take tens of miliseconds.
28 | */
29 | distanceMeter.updateDistance();
30 |
31 | /*
32 | - This call will return the last distance measurement the Ultrasonic Module did.
33 | - The distance value will be in centimeters
34 | */
35 | float distanceCentimeters = distanceMeter.getDistanceCentimeters();
36 | Serial.print("Centimeters: ");
37 | Serial.println(distanceCentimeters);
38 |
39 | /*
40 | - This call will return the last distance measurement the Ultrasonic Module did.
41 | - The distance value will be in inches.
42 | */
43 | float distanceInches = distanceMeter.getDistanceInches();
44 | Serial.print("Inches: ");
45 | Serial.println(distanceInches);
46 |
47 | delay(300);
48 | }
--------------------------------------------------------------------------------
/examples/DistanceMeterNonBlockExample/DistanceMeterNonBlockExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | DistanceMeterNonBlockExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::DistanceMeterNonBlock; // Necessary in order to use DistanceMeterNonBlock API
8 |
9 | int triggerPin = 7; // Arduino pin that connects to Ultrasonic Module trigger pin
10 | int echoPin = 2; // Arduino pin that connects to Ultrasonic Module echo pin (it should be a pin that support external interruptions https://www.arduino.cc/en/Reference/AttachInterrupt)
11 |
12 | DistanceMeterNonBlock distanceMeterNB(triggerPin, echoPin); // Create the DistanceMeterNonBlock API object
13 |
14 | void setup() {
15 | Serial.begin(9600);
16 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
17 |
18 | distanceMeterNB.begin(); // Initialize the DistanceMeterNonBlock API
19 | }
20 |
21 | /*
22 | - This API is an extension to DistanceMeter API. You can do the sam as DistanceMeter plus the following calls.
23 | */
24 | void loop() {
25 | /*
26 | - This call makes the Ultrasonic Module update its distance to the closer object.
27 | - To get the distance measure you need call getDistanceCentimeters(); or getDistanceInches();
28 | - The difference to the updateDistance() method is that the Arduino will NOT WAIT for the Ultrasonic
29 | module to finish the measurement. So the instructions after this call will execute while the distance is measured.
30 | - WARNING-1: When using this method the arduino echo pin must support external interruptions you can see
31 | in this link what are pins of your board that support it https://www.arduino.cc/en/Reference/AttachInterrupt
32 | - WARNING-2: The measurement with this call are more unstable and less accurate due to the mechanism
33 | used to achieve this non blocking.
34 | */
35 | distanceMeterNB.updateDistanceNonBlock();
36 |
37 | /*
38 | See DistanceMeterExample.ino for the explanation.
39 | */
40 | float distanceCentimeters = distanceMeterNB.getDistanceCentimeters();
41 | Serial.println(distanceCentimeters);
42 |
43 | delay(300);
44 | }
--------------------------------------------------------------------------------
/examples/GSMServiceExample/GSMServiceExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | GSMServiceExample.ino
3 |
4 | WARNING: Running this sketch may cause you to send and SMS from the GSM board expending money.
5 | In this sketch the SMS is only sent if the SIM in GSM board receives one SMS.
6 | */
7 |
8 | #include // Include the library in order to the compiler know you want Easyuino library
9 |
10 | using Easyuino::GSMService; // Necessary in order to use gSMService API
11 | using Easyuino::SMS; // Necessary to send an receive SMS
12 |
13 | int tx_pin = 7; // Arduino pin connected to TX pin of the GSM board
14 | int rx_pin = 8; // Arduino pin connected to RX pin of the GSM board
15 | int power_pin = 9; // Arduino pin connected to power pin of the GSM board
16 |
17 | GSMService gsmService(tx_pin, rx_pin, power_pin); // Create the GSMService API object
18 |
19 | void setup() {
20 | Serial.begin(9600);
21 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
22 |
23 | /*
24 | - Turns ON the GSM board.
25 | - Initialize the GSM Service API with baud rate to talk with the board.
26 | - You should consult what is the factory baud rate of your gsm board. Some auto detect it so you can choose it.
27 | */
28 | gsmService.begin(9600);
29 |
30 | /*
31 | - This call will make the GSM service listen for incoming SMSs.
32 | */
33 | gsmService.beginListenForSMS();
34 | }
35 |
36 | void loop() {
37 | bool newSMS = false; // Used to know if there are new SMS available
38 | bool isOn = false; // Used to check if the GSM board is turned on
39 | SMS receivedSMS; // SMS object used to receive SMS from the API
40 |
41 | /*
42 | - This API call is used to verify if the gsm board is turned on.
43 | - The boolean argument is set to true or false inside the method depending on the state of the board.
44 | */
45 | gsmService.isOn(isOn);
46 | if (isOn) {
47 | Serial.println(F("GSM Board is ON!"));
48 | }
49 | else {
50 | Serial.println(F("GSM Board is OFF!"));
51 | }
52 |
53 | delay(1000);
54 |
55 | /*
56 | - This call will verify if there are new SMS available.
57 | - The first argument is the sms object that will be filled by the API with the new sms details.
58 | - The second argument is a boolean that will be true after the call if there are a new sms and false otherwise.
59 | */
60 | gsmService.availableSMS(receivedSMS, newSMS);
61 |
62 | if (newSMS) {
63 | SMS replySms;
64 |
65 | Serial.println(F("SMS RECEIVED!!!"));
66 | Serial.print(F("Country Prefix Code: "));
67 | Serial.println(receivedSMS.getCountryPrefixCode());
68 | Serial.print(F("From: "));
69 | Serial.println(receivedSMS.getNumber());
70 | Serial.print(F("Content: "));
71 | Serial.println(receivedSMS.getMessage());
72 |
73 | replySms.setCountryPrefixCode(receivedSMS.getCountryPrefixCode());
74 | replySms.setNumber(receivedSMS.getNumber());
75 | replySms.setMessage("Arduino is replying :o !!!");
76 |
77 | /*
78 | - This call will send the reply SMS that we filled (If you have money).
79 | */
80 | gsmService.sendSMS(replySms);
81 |
82 | /*
83 | - This call deletes all sms (sent and received) that are stored in the GSM Board/SIM.
84 | - Attention: It is good idea to delete the messages after they are received in order
85 | to maintain space to store new ones. This is special true if you are using the messages
86 | to send commands to arduino.
87 | */
88 | gsmService.deleteAllSMS();
89 | }
90 | else {
91 | Serial.println(F("WAITING FOR A SMS!!!"));
92 | }
93 |
94 | delay(1000);
95 | }
--------------------------------------------------------------------------------
/examples/GSMServiceSecureExample/GSMServiceSecureExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | GSMServiceSecureExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::GSMServiceSecure; // Necessary in order to use GSMServiceSecure API
8 | using Easyuino::SMS; // Necessary to send an receive SMS
9 |
10 | int tx_pin = 7; // Arduino pin connected to TX pin of the GSM board
11 | int rx_pin = 8; // Arduino pin connected to RX pin of the GSM board
12 | int power_pin = 9; // Arduino pin connected to power pin of the GSM board
13 | unsigned long allowedPhoneNumber = 976323122; // Phone number that are allowed to send SMS to the GSMService
14 |
15 | GSMServiceSecure gsmServiceSecure(tx_pin, rx_pin, power_pin);
16 |
17 | void setup() {
18 | bool isAllowed = false;
19 |
20 | Serial.begin(9600);
21 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
22 |
23 | /*
24 | - Turns ON the GSM board.
25 | - Initialize the GSM Service API with baud rate to talk with the board.
26 | - You should consult what is the factory baud rate of your gsm board. Some auto detect it so you can choose it.
27 | */
28 | gsmServiceSecure.begin(9600);
29 |
30 | /*
31 | - This will add the phone number to a list of phone numbers that can send SMS to the GSMServiceSecure.
32 | - GSMServiceSecure API will never make available to the application SMS's from other numbers that are not in the list.
33 | - You can add up to four phone numbers.
34 | - IF you don't add any number the default behaviour is accept SMSs from all numbers as in GSMService normal API.
35 | - You can use API call removeAllowedNumber(phoneNumber) to remove it from the list.
36 | */
37 | gsmServiceSecure.addAllowedNumber(allowedPhoneNumber);
38 |
39 | /*
40 | - API call used to verify if a given numver is in the allowed list.
41 | */
42 | gsmServiceSecure.isAllowed(allowedPhoneNumber, isAllowed);
43 |
44 | if (isAllowed) {
45 | Serial.println(F("Number Allowed"));
46 | }
47 |
48 | /*
49 | - This call will make the GSM service listen for incoming SMSs.
50 | */
51 | gsmServiceSecure.beginListenForSMS();
52 | }
53 |
54 |
55 | void loop() {
56 | SMS receivedSMS; // SMS object used to receive SMS from the API
57 | bool newSMS = false; // Used to know if there are new SMSs available
58 |
59 | gsmServiceSecure.availableSMS(receivedSMS, newSMS);
60 |
61 | if (newSMS) {
62 | Serial.println(F("SMS FROM AN ALLOWED NUMBER RECEIVED!!!"));
63 | Serial.print(F("Country Prefix Code: "));
64 | Serial.println(receivedSMS.getCountryPrefixCode());
65 | Serial.print(F("From: "));
66 | Serial.println(receivedSMS.getNumber());
67 | Serial.print(F("Content: "));
68 | Serial.println(receivedSMS.getMessage());
69 | }
70 |
71 | delay(1000);
72 | }
--------------------------------------------------------------------------------
/examples/RGBLedExample/RGBLedCircuit.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/examples/RGBLedExample/RGBLedCircuit.jpg
--------------------------------------------------------------------------------
/examples/RGBLedExample/RGBLedExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | RGBLedExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::RGBLed; // Necessary in order to use RGBLed
8 | using Easyuino::Color; // Necessary for some method calls
9 |
10 | int red_pin = 9; // Arduino pin connected to led red pin
11 | int green_pin = 10; // Arduino pin connected to led green pin
12 | int blue_pin = 11; // Arduino pin connected to led blue pin
13 |
14 | RGBLed led(red_pin, green_pin, blue_pin); // Create the RGBLed object that exposes the API to use
15 |
16 | void setup() {
17 | led.begin(); // Called in setup method to initialize the RGBLed API
18 | }
19 |
20 | void loop() {
21 | /*
22 | - This method call sets the color to YELLOW. There are several ones
23 | you can chose normally as seen in the list below.
24 | - List of Colors Available: RED, GREEN, BLUE, YELLOW, WHITE, ORANGE,
25 | PINK, SALMON, VIOLET, AQUA, BROWN, FIREBRICK, DARKGREY, OLIVE, SKYBLUE
26 | */
27 | led.setColor(Color::YELLOW);
28 |
29 | delay(2000);
30 |
31 | /*
32 | - This method call set the led color to RED.
33 | - First parameter controls the amount of red (0-255).
34 | - First parameter controls the amount of green (0-255).
35 | - First parameter controls the amount of blue (0-255).
36 | - The color of the led will be the overlap of the amount of 3 colors. See: https://en.wikipedia.org/wiki/Additive_color
37 | - You can use this link to pick up RGB colors: https://www.w3schools.com/colors/colors_picker.asp
38 | */
39 | led.setColor(255, 0, 0);
40 |
41 | delay(2000);
42 |
43 | /* This method call set the led to WHITE. */
44 | led.setColor(255, 255, 255);
45 |
46 | delay(2000);
47 |
48 | /* This method call will TURN OFF the led. */
49 | led.turnOff();
50 |
51 | delay(2000);
52 |
53 | /*
54 | - This method will set the color to BLUE. See Hexadecimal color code on how to use it.
55 | - You can use this link to pick up Heaxadecimal codes https://www.w3schools.com/colors/colors_picker.asp
56 | */
57 | led.setColor("#0000ff");
58 |
59 | delay(2000);
60 | }
--------------------------------------------------------------------------------
/examples/RelayExample/RelayExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | RelayExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::Relay; // Necessary in order to use Relay
8 |
9 | int arduinoPin = 6; // Arduino pin that controls the relay
10 |
11 | Relay relay(arduinoPin); // Create the Relay object that exposes the API to use
12 |
13 | void setup() {
14 | /*
15 | - Initialize the Relay API.
16 | - The first parameter is TRUE if we connect something to the Normally Closed (NC) of the relay,
17 | and FALSE if we connect to the Normally Open (NO).
18 | - The second parameter is the digital level of the relay when it is in Normally Closed state.
19 | This is needed because some relays activate when we put HIGH on the pin and others on LOW.
20 | */
21 | relay.begin(false, HIGH); // Equivalent to: relay.begin() which is the common configuration.
22 | }
23 |
24 | void loop() {
25 | /*
26 | - Makes the device connected to relay to turn on.
27 | */
28 | relay.turnOn();
29 |
30 | delay(2000);
31 |
32 | /*
33 | - Makes the device connected to relay to turn off.
34 | */
35 | relay.turnOff();
36 |
37 | delay(2000);
38 |
39 | /*
40 | - Return true if the device is on and false if it is off.
41 | */
42 | bool result = relay.isOn();
43 |
44 | delay(2000);
45 | }
--------------------------------------------------------------------------------
/examples/RelayNamedExample/RelayNamedExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | RelayNamedExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::RelayNamed; // Necessary in order to use RelayNamed
8 |
9 | int arduinoPin = 6; // Arduino pin that controls the relay
10 | const char* controlledDevice = "Lamp"; // The difference for normal relay is that the relay stays with a name identifier name attached
11 |
12 | RelayNamed relayNamed(arduinoPin, controlledDevice); // Create the RelayNamed object that exposes the API to use
13 |
14 | void setup() {
15 | Serial.begin(9600); // Used to start the serial connection with the computer. Change the 9600 if needed.
16 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
17 |
18 | relayNamed.begin(false, HIGH); // See RelayExample.ino for the explanation
19 | }
20 |
21 | void loop() {
22 | bool result;
23 |
24 | relayNamed.turnOn(); // Makes the device connected to relay to turn on
25 | result = relayNamed.isOn(); // result would be true
26 |
27 | delay(2000);
28 |
29 | relayNamed.turnOff(); // Makes the device connected to relay to turn off
30 | result = relayNamed.isOn(); // result would be false
31 |
32 | delay(2000);
33 |
34 | /*
35 | - State would be "Lamp:Off" which is useful for print into the serial monitor to debug.
36 | */
37 | char* state = relayNamed.toString();
38 |
39 | /*
40 | - When you don't need the content of the state string you must
41 | call this to avoid filling the memory and crashing the program.
42 | */
43 | free(state);
44 |
45 | delay(2000);
46 |
47 | /*
48 | - This instruction will automatically print the toString() method result to the serial monitor.
49 | - BEGINNERS should use this code to print instead of the one above because this frees the string automatically.
50 | - It is equally of doing the following code:
51 | char* state = relay.toString();
52 | Serial.print(state);
53 | free(state);
54 | */
55 | Serial << relayNamed;
56 | Serial.println(); // It is here only to print a new line
57 |
58 | delay(2000);
59 |
60 | relayNamed.turnOn();
61 |
62 | delay(2000);
63 |
64 | Serial << relayNamed;
65 | Serial.println();
66 |
67 | delay(2000);
68 | }
--------------------------------------------------------------------------------
/examples/SevenSegmentsExample/SevenSegmentsExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | SevenSegmentsExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::SevenSegments; // Necessary in order to use SevenSegments API
8 |
9 | int clkPin = 6; // Arduino pin connected to CLK pin of the display
10 | int dataPin = 7; // Arduino pin connected to DATA pin of the display
11 |
12 | SevenSegments display(clkPin, dataPin); // Create SevenSegments API object
13 |
14 | void setup() {
15 | display.begin(); // Initializes the SevenSegments API
16 | }
17 |
18 | void loop() {
19 |
20 | delay(3000);
21 |
22 | /*
23 | - Sets the brigthness of the display.
24 | - It accepts values from 0 to 7, in increasing order of brightness.
25 | */
26 | display.setBrightness(1);
27 |
28 | delay(2000);
29 |
30 | /*
31 | - Prints the given number into the display.
32 | */
33 | display.print(4379);
34 |
35 | delay(2000);
36 |
37 | /*
38 | - Prints the given number into the display.
39 | */
40 | display.print(-367);
41 |
42 | delay(2000);
43 |
44 | /*
45 | - Prints the digit (0-9) given in first argument, to the position (0-3) given in the second.
46 | - The positions start with left most seven segment display.
47 | */
48 | display.print(7, 0);
49 |
50 | delay(2000);
51 |
52 | while (true) {
53 | /*
54 | - Prints the given string into the display.
55 | */
56 | display.print("HeLo");
57 |
58 | delay(500);
59 |
60 | display.print("");
61 |
62 | delay(500);
63 | }
64 |
65 | }
--------------------------------------------------------------------------------
/examples/WaterDetectorExample/WaterDetectorExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | WaterDetectorExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::WaterDetector; // Necessary in order to use WaterDetector API
8 | using Easyuino::WaterStatus; // Necessary for some methods calls
9 |
10 | int digitalPin = 7; // Arduino pin that connects to the digital pin of the sensor (normally called D0)
11 | int analogPin = 6; // Arduino pin that conencts to the analog pin of the sensor (normally called A0)
12 |
13 | WaterDetector waterDetector(digitalPin, analogPin); // Create the WaterDetector object that exposes the API to use
14 |
15 | void setup() {
16 | Serial.begin(9600);
17 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
18 |
19 | /*
20 | - Initialize the WaterDetector API.
21 | - The first parameter is the digital level (HIGH or LOW) that appear in the digital pin when
22 | the water touches the sensor and the amount of it is above the pre-defined threshold set by the
23 | potentiometer of the board. This is necessary because some sensor versions use HIGH others LOW.
24 | */
25 | waterDetector.begin(LOW); // Equivalent to: waterDetector.begin(); which is the common configuration
26 | }
27 |
28 | void loop() {
29 | /*
30 | - This API call will return true when water is detected in the sensor and false otherwise.
31 | */
32 | bool res = waterDetector.isWaterDetected();
33 | Serial.println(res);
34 |
35 | delay(2000);
36 |
37 | /*
38 | This API call will return a set of results (see C++ enumerates) that you can compare to see
39 | how much water is touching the sensor.
40 | WARNING: This reading is independent from the above one because the above one is controlled by
41 | the physical potentiometer and digital pin of the sensor. On the other hand the
42 | getWaterStatus uses the analog pin to decide how "wet" :) the sensor is.
43 | */
44 | WaterStatus status = waterDetector.getWaterStatus();
45 |
46 | if (status == WaterStatus::DRY) {
47 | Serial.println(F("Sensor is dry!"));
48 | }
49 | else if (status == WaterStatus::FEW_DROPS) {
50 | Serial.println(F("Sensor has a few drops in it!"));
51 | }
52 | else if (status == WaterStatus::WET) {
53 | Serial.println(F("Sensor is wet!"));
54 | }
55 | else if (status == WaterStatus::FLOOD) {
56 | Serial.println(F("Sensor is flooded!"));
57 | }
58 | else if (status == WaterStatus::INVALID) {
59 | Serial.println(F("Sensor had a strange invalid reading!"));
60 | }
61 | else {
62 | Serial.println(F("Begin method was not called!"));
63 | }
64 |
65 | delay(2000);
66 |
67 | /*
68 | This API call is more advanced basically it gives you a number from [0,1023] to describe how "wet"
69 | :) the sensor is. 1023 is when the sensor is completely dry and 0 when is completely flooded.
70 | Note: The method getWaterStatus is based on this call.
71 | */
72 | unsigned int howWet = waterDetector.getWaterStatusRange();
73 | Serial.println(howWet);
74 |
75 | delay(2000);
76 | }
--------------------------------------------------------------------------------
/examples/WaterFlowMeterExample/WaterFlowMeterExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | WaterFlowMeterExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::WaterFlowMeter; // Necessary in order to use WaterFlowSensor API
8 |
9 | int sensorPin = 2; // Arduino pin connected to the sensor pin (it should be a pin that support external interruptions https://www.arduino.cc/en/Reference/AttachInterrupt)
10 | float sensorCalibrationFactor = 0.2f; // This calibration factor depends on the sensors (see the images to check where it is written in sensors)
11 |
12 | WaterFlowMeter waterFlowMeter(sensorPin, sensorCalibrationFactor); // Creates the WaterFlowMeter object API
13 |
14 | void setup() {
15 | Serial.begin(9600);
16 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
17 |
18 | /*
19 | - Initializes the WaterFlowMeter API.
20 | */
21 | waterFlowMeter.begin();
22 | }
23 |
24 | /*
25 | - Attention: The WaterFlowMeter API is and extension of the WaterFlowSensor API in
26 | other other words it can do the same and more. Here we only present the extended calls.
27 | */
28 | void loop() {
29 | /*
30 | - Obtains the current flow rate in Liters/Min.
31 | */
32 | float flowingRate = waterFlowMeter.getFlowRateLitersMin();
33 |
34 | Serial.print(F("Rate: "));
35 | Serial.println(flowingRate);
36 |
37 | delay(100);
38 | }
--------------------------------------------------------------------------------
/examples/WaterFlowSensorExample/WaterFlowSensorExample.ino:
--------------------------------------------------------------------------------
1 | /*
2 | WaterFlowSensorExample.ino
3 | */
4 |
5 | #include // Include the library in order to the compiler know you want Easyuino library
6 |
7 | using Easyuino::WaterFlowSensor; // Necessary in order to use WaterFlowSensor API
8 |
9 | int sensorPin = 2; // Arduino pin connected to the sensor pin (it should be a pin that support external interruptions https://www.arduino.cc/en/Reference/AttachInterrupt)
10 |
11 | WaterFlowSensor waterFlowSensor(sensorPin); // Creates the WaterFlowSensor object API
12 |
13 | void setup() {
14 | Serial.begin(9600);
15 | while (!Serial); // Necessary for Arduino Leonardo serial monitor use
16 |
17 | /*
18 | - Initializes the WaterFlowSensor API.
19 | */
20 | waterFlowSensor.begin();
21 | }
22 |
23 | void loop() {
24 | /*
25 | - This API call returns true if it is flowing something through the sensor and false otherwise.
26 | */
27 | bool isFlowing = waterFlowSensor.isFlowing();
28 |
29 | if (isFlowing) {
30 | Serial.println(F("Flowing!!"));
31 | }
32 | else {
33 | Serial.println(F("Idle"));
34 | }
35 | }
--------------------------------------------------------------------------------
/extras/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/extras/.gitkeep
--------------------------------------------------------------------------------
/library.properties:
--------------------------------------------------------------------------------
1 | name=Easyuino
2 | version=1.2.0
3 | author=Andre Pires
4 | maintainer=Andre Pires
5 | sentence=It offers a set of APIs to easily make beginners use several different sensors and devices using only the Easyuino
6 | paragraph=It is developed to provide a modular and simple API to interact with Relays, RGB Leds, Ultrasonic Modules, GSM Modules, etc in order to make a beginner do a lot of different stuff with the same library
7 | category=Device Control
8 | url=https://github.com/strabox/Easyuino
9 | architectures=avr
10 | includes=Easyuino.h
--------------------------------------------------------------------------------
/src/Button.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/Button.h
--------------------------------------------------------------------------------
/src/Device.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/Device.h
--------------------------------------------------------------------------------
/src/DistanceMeter.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/DistanceMeter.h
--------------------------------------------------------------------------------
/src/DistanceMeterAccurate.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/DistanceMeterAccurate.h
--------------------------------------------------------------------------------
/src/DistanceMeterNonBlock.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/DistanceMeterNonBlock.h
--------------------------------------------------------------------------------
/src/DistanceMeterPrintable.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/DistanceMeterPrintable.h
--------------------------------------------------------------------------------
/src/Easyuino.h:
--------------------------------------------------------------------------------
1 | /*
2 | MIT License
3 |
4 | Copyright (c) 2017 André Pires
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in all
14 | copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 | */
24 | /*
25 | Easyuino.h
26 |
27 | Name: Easyuino.h
28 | Created: 10/13/2017 12:40:16 AM
29 | Author: André Pires
30 | Editor: http://www.visualmicro.com
31 | */
32 |
33 | #ifndef _EASYUINO_h
34 | #define _EASYUINO_h
35 |
36 | #if defined(ARDUINO) && ARDUINO >= 100
37 | #include "Arduino.h"
38 | #else
39 | #include "WProgram.h"
40 | #endif
41 | #include "GSMService.h"
42 | #include "GSMServiceSecure.h"
43 | #include "SMS.h"
44 |
45 | #include "Relay.h"
46 | #include "RelayNamed.h"
47 |
48 | #include "DistanceMeter.h"
49 | #include "DistanceMeterNonBlock.h"
50 | #include "DistanceMeterAccurate.h"
51 | #include "DistanceMeterPrintable.h"
52 |
53 | #include "SevenSegments.h"
54 |
55 | #include "WaterDetector.h"
56 | #include "WaterFlowSensor.h"
57 | #include "WaterFlowMeter.h"
58 |
59 | #include "Button.h"
60 | #include "RGBLed.h"
61 |
62 | #include "Utilities.h"
63 | #endif
64 |
65 |
--------------------------------------------------------------------------------
/src/EasyuinoTests.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/EasyuinoTests.h
--------------------------------------------------------------------------------
/src/GSMService.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/GSMService.h
--------------------------------------------------------------------------------
/src/GSMServiceSecure.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/GSMServiceSecure.h
--------------------------------------------------------------------------------
/src/InfraRedReceiver.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/InfraRedReceiver.h
--------------------------------------------------------------------------------
/src/Printable.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/Printable.h
--------------------------------------------------------------------------------
/src/RGBLed.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/RGBLed.h
--------------------------------------------------------------------------------
/src/Relay.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/Relay.h
--------------------------------------------------------------------------------
/src/RelayNamed.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/RelayNamed.h
--------------------------------------------------------------------------------
/src/SMS.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/SMS.h
--------------------------------------------------------------------------------
/src/SevenSegments.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/SevenSegments.h
--------------------------------------------------------------------------------
/src/Utilities.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/Utilities.h
--------------------------------------------------------------------------------
/src/WaterDetector.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/WaterDetector.h
--------------------------------------------------------------------------------
/src/WaterFlowMeter.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/WaterFlowMeter.h
--------------------------------------------------------------------------------
/src/WaterFlowSensor.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/WaterFlowSensor.h
--------------------------------------------------------------------------------
/src/main/Button/Button.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Button/Button.cpp
--------------------------------------------------------------------------------
/src/main/Device.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Device.cpp
--------------------------------------------------------------------------------
/src/main/Display/SevenSegments.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Display/SevenSegments.cpp
--------------------------------------------------------------------------------
/src/main/GSM/GSMService.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/GSM/GSMService.cpp
--------------------------------------------------------------------------------
/src/main/GSM/GSMServiceSecure.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/GSM/GSMServiceSecure.cpp
--------------------------------------------------------------------------------
/src/main/GSM/SMS.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/GSM/SMS.cpp
--------------------------------------------------------------------------------
/src/main/InfraRedReceiver/InfraRedReceiver.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/InfraRedReceiver/InfraRedReceiver.cpp
--------------------------------------------------------------------------------
/src/main/Led/RGBLed.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Led/RGBLed.cpp
--------------------------------------------------------------------------------
/src/main/Relay/Relay.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Relay/Relay.cpp
--------------------------------------------------------------------------------
/src/main/Relay/RelayNamed.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Relay/RelayNamed.cpp
--------------------------------------------------------------------------------
/src/main/Ultrasonic/DistanceMeter.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Ultrasonic/DistanceMeter.cpp
--------------------------------------------------------------------------------
/src/main/Ultrasonic/DistanceMeterAccurate.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Ultrasonic/DistanceMeterAccurate.cpp
--------------------------------------------------------------------------------
/src/main/Ultrasonic/DistanceMeterNonBlock.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Ultrasonic/DistanceMeterNonBlock.cpp
--------------------------------------------------------------------------------
/src/main/Ultrasonic/DistanceMeterPrintable.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Ultrasonic/DistanceMeterPrintable.cpp
--------------------------------------------------------------------------------
/src/main/Utilities/Printable.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Utilities/Printable.cpp
--------------------------------------------------------------------------------
/src/main/Utilities/Utilities.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/Utilities/Utilities.cpp
--------------------------------------------------------------------------------
/src/main/WaterDetector/WaterDetector.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/WaterDetector/WaterDetector.cpp
--------------------------------------------------------------------------------
/src/main/WaterFlow/WaterFlowMeter.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/WaterFlow/WaterFlowMeter.cpp
--------------------------------------------------------------------------------
/src/main/WaterFlow/WaterFlowSensor.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/main/WaterFlow/WaterFlowSensor.cpp
--------------------------------------------------------------------------------
/src/tests/DistanceMeterAccurateTest.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/tests/DistanceMeterAccurateTest.h
--------------------------------------------------------------------------------
/src/tests/DistanceMeterNonBlockTest.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/tests/DistanceMeterNonBlockTest.h
--------------------------------------------------------------------------------
/src/tests/DistanceMeterTest.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/tests/DistanceMeterTest.h
--------------------------------------------------------------------------------
/src/tests/ManualTest.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/tests/ManualTest.cpp
--------------------------------------------------------------------------------
/src/tests/ManualTest.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/tests/ManualTest.h
--------------------------------------------------------------------------------
/src/tests/RGBLedTest.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/tests/RGBLedTest.h
--------------------------------------------------------------------------------
/src/tests/RelayNamedTest.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/tests/RelayNamedTest.h
--------------------------------------------------------------------------------
/src/tests/RelayTest.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/tests/RelayTest.h
--------------------------------------------------------------------------------
/src/tests/WaterDetectorTest.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Strabox/Easyuino/65d8aa2cb853dcfd6c81126e9fa2adfdcfaa942b/src/tests/WaterDetectorTest.h
--------------------------------------------------------------------------------