Skip to content

Commit 0a533a5

Browse files
committed
Merge branch 'main' into canchebagur/max-carrier-lora
2 parents f92f4a0 + 6fa6538 commit 0a533a5

File tree

188 files changed

+22432
-5085
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+22432
-5085
lines changed

content/built-in-examples/09.usb/KeyboardAndMouseControl/KeyboardAndMouseControl.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ tags:
1212

1313
This example illustrates the use of the Mouse and Keyboard libraries together. Five momentary switches act as directional buttons for your cursor. When a button is pressed, the cursor on your screen will move, and a keypress, corresponding to the letter associated with the direction, will be sent to the computer. Once you have the Leonardo, Micro or Due programmed and wired up, open up your favorite text editor to see the results.
1414

15-
**NB: When you use the Mouse and Keyboard library functions, the Arduino takes over your computer's cursor! To insure you don't lose control of your computer while running a sketch with this function, make sure to set up a controller before you call Mouse.move().**
15+
**NB: When you use the Mouse and Keyboard library functions, the Arduino takes over your computer's cursor! To ensure you don't lose control of your computer while running a sketch with this function, make sure to set up a controller before you call Mouse.move().**
1616

1717
### Hardware Required
1818

@@ -57,4 +57,4 @@ You can find more basic tutorials in the [built-in examples](/built-in-examples)
5757

5858
You can also explore the [language reference](https://www.arduino.cc/reference/en/), a detailed collection of the Arduino programming language.
5959

60-
*Last revision 2015/07/29 by SM*
60+
*Last revision 2015/07/29 by SM*
Loading

content/cloud/iot-cloud/tutorials/03.cloud-scheduler/cloud-scheduler.md

Lines changed: 58 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ software:
77
- iot-cloud
88
---
99

10-
It is now possible to schedule jobs with the [Arduino IoT Cloud](https://create.arduino.cc/iot/), using the new `CloudSchedule` variable type. You can pick a start & end date for when the variable should be triggered, and for how long it should be active. This is done through the IoT Cloud dashboards.
10+
It is now possible to schedule jobs with the [Arduino IoT Cloud](https://create.arduino.cc/iot/), using the new `CloudSchedule` variable type. You can pick a start & end date for when the variable should be triggered, and for how long it should be active. This variable can be controlled in real time using a graphical widget that you can place on an IoT Cloud dashboard.
1111

1212
We can for example have:
1313

14-
- One trigger scheduled to go off every minute, and last for 10 seconds
15-
- One trigger scheduled to go off every hour, and last for 10 minutes.
14+
- One trigger scheduled to run every minute for 10 seconds
15+
- One trigger scheduled to run every hour for 10 minutes
1616

1717
## Goals
1818

@@ -21,48 +21,18 @@ The goals of this project are:
2121
- Learn how the `CloudSchedule` variable works.
2222
- Learn how to access local time in your sketch.
2323

24-
## Hardware & Software Needed
25-
26-
For this tutorial, you will need a cloud compatible board. You can see the full list below:
27-
28-
- [MKR 1000 WiFi](https://store.arduino.cc/arduino-mkr1000-wifi)
29-
- [MKR WiFi 1010](https://store.arduino.cc/arduino-mkr-wifi-1010)
30-
- [MKR GSM 1400](https://store.arduino.cc/arduino-mkr-gsm-1400)\*
31-
- [MKR NB 1500](https://store.arduino.cc/arduino-mkr-nb-1500-1413)\*
32-
- [Nano RP2040 Connect](https://store.arduino.cc/nano-rp2040-connect)
33-
- [Nano 33 IoT](https://store.arduino.cc/arduino-nano-33-iot)
34-
- [Portenta H7](https://store.arduino.cc/portenta-h7)
35-
36-
***The MKR GSM 1400 & MKR NB 1500 requires a SIM card with a data plan to work. You can read more about it in [this page](https://store.arduino.cc/digital/sim).***
24+
Make sure you have a [cloud-compatible board](/cloud/iot-cloud/tutorials/technical-reference#compatible-hardware).
3725

3826
## How Does it Work?
3927

40-
The working principle of the scheduler is pretty straight forward. The `CloudSchedule` variable can be configured to go off at a specific time, with a specific duration. In the code, you do not need to worry about any timers, as this is done in the Arduino IoT Cloud. The "jobs" are created in the dashboard, through a widget associated to the variable.
28+
A variable of `CloudSchedule` type can be configured to trigger at a specific time, with a specific duration. In the code, you do not need to worry about the logic for this. The configuration of the variable is done in the dashboard, through a widget associated to the variable.
4129

42-
For example, we can set `schedule_variable` to be:
30+
For example, we can set such variable to be:
4331
- ON for 10 seconds, every minute.
4432
- ON for 8 hours, every day.
4533
- ON for a week, and then finish.
4634

47-
![Example of how a scheduler works.](assets/cloud-scheduler-img-01.png)
48-
49-
## API
50-
51-
The two **variables types** introduced in this tutorial are `CloudTime` and `CloudSchedule`. These are used to retrieve local time and to schedule a job respectively.
52-
53-
The `CloudSchedule` variable is of a **complex type**. It has a **internal boolean state**, which can be checked through the `isActive()` function (returns `true` or `false`).
54-
55-
```arduino
56-
if(schedule_variable.isActive()) {
57-
//do something
58-
}
59-
```
60-
61-
The `CloudTime` variable is an unsigned integer which is used to store current time. We can use the `getLocalTime()` function to retrieve local time.
62-
63-
```arduino
64-
time_variable = ArduinoCloud.getLocalTime();
65-
```
35+
![Example of a schedule configured to run for 10 seconds every minute.](assets/cloud-scheduler-img-01.png)
6636

6737
## Application Examples
6838

@@ -75,15 +45,12 @@ There are countless examples where schedulers can be used, but predominantly it
7545
To test out functionality of your scheduler job, we can turn on an LED while the job is active.
7646

7747
```arduino
78-
// whenever the job is "active", turn on the LED
79-
if(schedule_variable.isActive()){
80-
digitalWrite(LED, HIGH);
81-
}
82-
83-
84-
// whenever the job is "not active", turn off the LED
85-
else{
86-
digitalWrite(LED, LOW);
48+
if (schedule_variable.isActive()) {
49+
// whenever the job is "active", turn on the LED
50+
digitalWrite(LED, HIGH);
51+
} else {
52+
// whenever the job is "not active", turn off the LED
53+
digitalWrite(LED, LOW);
8754
}
8855
```
8956

@@ -96,23 +63,22 @@ You can set up **multiple scheduler variables.** This way, you can have a differ
9663
- Change a string.
9764

9865
```arduino
99-
//scheduler 1 (write a high state to a pin)
100-
if(schedule_variable_1.isActive()){
101-
digitalWrite(3, HIGH);
102-
}
103-
else{
104-
digitalWrite(3, HIGH);
66+
// scheduler 1 (write a high state to a pin)
67+
if (schedule_variable_1.isActive()) {
68+
digitalWrite(3, HIGH);
69+
} else {
70+
digitalWrite(3, LOW);
10571
}
10672
107-
//scheduler 2 (read a sensor)
108-
if(schedule_variable_2.isActive()){
109-
sensor_variable = analogRead(A1);
73+
// scheduler 2 (read a sensor)
74+
if(schedule_variable_2.isActive()) {
75+
sensor_variable = analogRead(A1);
11076
}
11177
112-
//scheduler 3 (change a string)
113-
if(schedule_variable_3.isActive()){
114-
string_variable = "";
115-
string_variable = "Update something here!";
78+
// scheduler 3 (change a string)
79+
if (schedule_variable_3.isActive()) {
80+
string_variable = "";
81+
string_variable = "Update something here!";
11682
}
11783
```
11884

@@ -122,14 +88,12 @@ string_variable = "Update something here!";
12288
Turning on and off light sources can be a great power saver for the office, home or vacation home. This can be achieved with a few lines of code and a [relay shield](https://store.arduino.cc/products/arduino-mkr-relay-proto-shield).
12389

12490
```arduino
125-
//can be configured to be ON between 8am - 5pm
126-
if(schedule_variable.isActive()){
127-
digitalWrite(relay, HIGH);
128-
}
129-
130-
//can be set to OFF between 5pm - 8am the next morning
131-
else{
132-
digitalWrite(relay, LOW);
91+
if (schedule_variable.isActive()) {
92+
// can be configured to be ON between 8am - 5pm
93+
digitalWrite(relay, HIGH);
94+
} else {
95+
//can be set to OFF between 5pm - 8am the next morning
96+
digitalWrite(relay, LOW);
13397
}
13498
```
13599

@@ -140,25 +104,21 @@ digitalWrite(relay, LOW);
140104
For a "smart watering" setup, if you connect a pump through a relay, you can schedule a job to be on for a period of time (pumping water) and then turn off. This could for example occur for a few seconds every day to keep your plants alive.
141105

142106
```arduino
143-
//configure to be "on" for 10 seconds every day
144-
if(schedule_variable.isActive()){
145-
digitalWrite(pump, HIGH);
146-
}
147-
148-
else{
149-
digitalWrite(pump, LOW);
107+
// configure to be "on" for 10 seconds every day
108+
if (schedule_variable.isActive()) {
109+
digitalWrite(pump, HIGH);
110+
} else {
111+
digitalWrite(pump, LOW);
150112
}
151113
```
152114

153115
Or, if you use a driver, such as **L298N**, you can control the pump through:
154116

155117
```arduino
156-
if(schedule_variable.isActive()){
157-
analogWrite(pump, 127); //range between 0-255
158-
}
159-
160-
else{
161-
analogWrite(pump, 0);
118+
if (schedule_variable.isActive()) {
119+
analogWrite(pump, 127); // range between 0-255
120+
} else {
121+
analogWrite(pump, 0);
162122
}
163123
```
164124

@@ -171,6 +131,24 @@ In this section you will find a step by step tutorial that will guide you to cre
171131
- Create a basic sketch & upload it to the board.
172132
- Create a dashboard.
173133

134+
### API
135+
136+
The two **variables types** introduced in this tutorial are `CloudTime` and `CloudSchedule`. These are used to retrieve local time and to schedule a job respectively.
137+
138+
The `CloudSchedule` variable is of a **complex type**. It has a **internal boolean state**, which can be checked through the `isActive()` function (returns `true` or `false`).
139+
140+
```arduino
141+
if(schedule_variable.isActive()) {
142+
//do something
143+
}
144+
```
145+
146+
The `CloudTime` variable is an unsigned integer which is used to store current time. We can use the `getLocalTime()` function to retrieve local time.
147+
148+
```arduino
149+
time_variable = ArduinoCloud.getLocalTime();
150+
```
151+
174152
### Create a Thing
175153

176154
***If you are new to the Arduino IoT Cloud, you can either visit the [Getting Started with Arduino IoT Cloud](https://docs.arduino.cc/cloud/iot-cloud/tutorials/iot-cloud-getting-started) guide, or any of the tutorials in the [Arduino IoT Cloud documentation](https://docs.arduino.cc/cloud/iot-cloud). There you will find detailed step by step guides.***

content/hardware/01.mkr/01.boards/mkr-1000-wifi/product.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ url_shop: https://store.arduino.cc/arduino-mkr1000-wifi
44
url_guide: /software/ide-v1/installing-samd21-core
55
core: arduino:samd
66
forumCategorySlug: '/hardware/mkr-boards/mkr1000/137'
7+
status: end-of-life
8+
productCode: '017'
79
---
810

911
The Arduino MKR 1000 WiFi is the easiest point of entry to basic IoT and pico-network application design. Whether you are looking at setting up a sensor network for your office or building a smart home, the MKR 1000 WiFi will make that journey easy.

content/hardware/01.mkr/01.boards/mkr-fox-1200/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: MKR FOX 1200
33
url_guide: /software/ide-v1/installing-samd21-core
44
core: arduino:samd
55
forumCategorySlug: '/mkr-boards/mkrfox1200/142'
6+
status: end-of-life
67
---
78

89
The MKR FOX 1200 is your entry point to start working with the European Sigfox networks. The board can easily be added to the Sigfox infrastructure. It also features very low power consumption, and is designed to run on batteries for a longer period of time.

content/hardware/01.mkr/01.boards/mkr-gsm-1400/product.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: MKR GSM 1400
33
url_guide: /software/ide-v1/installing-samd21-core
44
core: arduino:samd
55
forumCategorySlug: '/hardware/mkr-boards/mkrgsm1400/146'
6+
status: end-of-life
7+
productCode: '021'
68
---
79

810
The Arduino MKR GSM 1400 is a great starting point for building IoT projects connected to GSM / 3G network. Whether you are looking at building a sensor network for agricultural projects, or for urban data collection, the MKR GSM 1400 is your go-to board for IoT projects when Wi-Fi is not available.

content/hardware/01.mkr/01.boards/mkr-nb-1500/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ url_guide: /software/ide-v1/installing-samd21-core
55
core: arduino:samd
66
forumCategorySlug: '/hardware/mkr-boards/mkrnb1500/156'
77
certifications: [RCM]
8+
productCode: '022'
89
---
910

1011
The Arduino MKR NB 1500 adds Narrowband communication to your projects. It can communicate over NB-IoT and LTE-M networks, and is excellent to use for low-power projects in remote areas. The MKR NB 1500 is also compatible with the Arduino IoT Cloud, making it easy to access wherever you are in the world.

content/hardware/01.mkr/01.boards/mkr-vidor-4000/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ url_shop: https://store.arduino.cc/arduino-mkr-vidor-4000
44
url_guide: /software/ide-v1/installing-samd21-core
55
core: arduino:samd
66
forumCategorySlug: '/hardware/mkr-boards/mkrvidor4000/150'
7+
productCode: '024'
78
---
89

910
The Arduino MKR VIDOR 4000 is without a doubt the most advanced and featured-packed board in the MKR family, and the only one with a FPGA chip on board. With a camera & HDMI connector, a Wi-Fi / Bluetooth® module and up to 25 configurable pins, the sky is really the limit with this board.

content/hardware/01.mkr/01.boards/mkr-wan-1310/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ url_guide: /software/ide-v1/installing-samd21-core
55
core: arduino:samd
66
forumCategorySlug: '/hardware/mkr-boards/mkrwan1310/161'
77
certifications: [FCC, REACH, CE, RoHS, IC, UKCA, WEEE, GB4943]
8+
productCode: '030'
89
---
910

1011
The Arduino MKR WAN 1310 provides a practical and cost effective solution to add LoRa® connectivity to projects requiring low power. This open source board can connect to the Arduino IoT Cloud, your own LoRa® network using the Arduino LoRa® PRO Gateway, existing LoRaWAN® infrastructure like The Things Network, or even other boards using the direct connectivity mode.

content/hardware/01.mkr/01.boards/mkr-wan-1310/tutorials/mkr-wan-library-examples/mkr-wan-library-examples.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ tags: [LoRa, WAN]
55
author: Arduino
66
---
77

8-
These examples will show you how to set up your board to use the LoRa network and how to send and receive data from the LoRa network.
8+
These examples will show you how to set up your board to use the LoRa® network and how to send and receive data from the LoRa® network.
99

1010
## Hardware Required
1111

content/hardware/01.mkr/01.boards/mkr-wifi-1010/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ draft: true
66
core: arduino:samd
77
forumCategorySlug: '/hardware/mkr-boards/mkrwifi1010/147'
88
certifications: [FCC,UKCA, IC, REACH, RED, RoHS, WEEE]
9+
productCode: '025'
910
---
1011

1112
<SubTitle>The easiest entry point to basic IoT and pico-network application design.</SubTitle>

content/hardware/01.mkr/01.boards/mkr-zero/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ url_shop: https://store.arduino.cc/arduino-mkr-zero-i2s-bus-sd-for-sound-music-d
44
url_guide: /software/ide-v1/installing-samd21-core
55
core: arduino:samd
66
forumCategorySlug: '/hardware/mkr-boards/mkrzero/140'
7+
productCode: '016'
78
---
89

910
The Arduino MKR Zero is a development board for music makers! With an SD card holder and dedicated SPI interfaces (SPI1), you are able to play music files without extra hardware.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: MKR Connector Carrier
33
url_shop: https://store.arduino.cc/arduino-mkr-connector-carrier
4-
url_guide: https://www.arduino.cc/en/Guide/MKRConnectorCarrier
4+
url_guide: /tutorials/mkr-connector-carrier/connector-basics
55
---
66

77
The MKR Connector Carrier is a really useful extension for MKR family boards. It features 14 grove compatible connectors, which allows you to choose between hundreds of different sensors and actuators for your project.

content/hardware/02.hero/boards/due/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ url_shop: https://store.arduino.cc/arduino-due
44
url_guide: /software/ide-v1/installing-sam-core
55
core: arduino:sam
66
forumCategorySlug: '/hardware/arduino-due/64'
7+
productCode: '009'
78
---
89

910
The Arduino Due is the first Arduino board based on a 32-bit ARM core microcontroller. With 54 digital input/output pins, 12 analog inputs, 2 DAC and 2 CAN it is the perfect board for powerful larger scale Arduino projects.

content/hardware/02.hero/boards/leonardo/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: Leonardo
33
url_shop: https://store.arduino.cc/arduino-leonardo-with-headers
44
url_guide: https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro
55
core: arduino:avr
6+
productCode: '008'
67
---
78

89
The Leonardo differs from all preceding boards in that the ATmega32u4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Leonardo to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port.

content/hardware/02.hero/boards/mega-2560/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: Mega 2560 Rev3
33
url_shop: https://store.arduino.cc/arduino-mega-2560-rev3
44
url_guide: https://www.arduino.cc/en/Guide/ArduinoMega2560
55
core: arduino:avr
6+
productCode: '002'
67
---
78

89
The 8-bit board with 54 digital pins, 16 analog inputs, and 4 serial ports.

content/hardware/02.hero/boards/micro/product.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: Micro
33
url_shop: https://store.arduino.cc/arduino-micro
44
url_guide: https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro
55
core: arduino:avr
6+
productCode: '006'
67
---
78

8-
The Micro runs on an ATmega32u4 processor with native USB communication. Configure via software whether the board is recognised as a standard Arduino, a mouse or keyboard.
9+
The Micro runs on an ATmega32u4 processor with native USB communication. Configure via software whether the board is recognised as a standard Arduino, a mouse or keyboard.

content/hardware/02.hero/boards/uno-mini-le/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: UNO Mini Limited Edition
33
url_shop: https://store.arduino.cc/products/uno-mini-le
44
url_guide: /tutorials/uno-mini/uno-mini-guide
55
core: arduino:avr
6+
productCode: '117'
67
---
78

89
The Arduino UNO Mini Limited Edition (LE) is a unique black & gold board, that pays tribute to everyones favorite maker board: [the Arduino UNO](https://store-usa.arduino.cc/products/arduino-uno-rev3). It is only 25% of the area size of the original UNO, comes with a USB-C connector and is delivered in a special case.

content/hardware/02.hero/boards/uno-rev3/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ url_shop: https://store.arduino.cc/arduino-uno-rev3
44
url_guide: https://www.arduino.cc/en/Guide/ArduinoUno
55
core: arduino:avr
66
certifications: [CE, FCC, GB4943, IC, RCM, REACH, RoHS, UKCA, WEEE]
7+
productCode: '001'
78
---
89

910
The Arduino UNO is the best board to get started with electronics and coding. If this is your first experience tinkering with the platform, the UNO is the most robust board you can start playing with. The UNO is the most used and documented board of the whole Arduino family.

content/hardware/02.hero/boards/uno-wifi-rev2/product.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: UNO WiFi Rev2
33
url_shop: https://store.arduino.cc/arduino-uno-wifi-rev2
44
url_guide: /software/ide-v1/installing-megaavr-core
55
core: arduino:megaavr
6+
productCode: '023'
67
---
78

89
The Arduino UNO WiFi Rev 2 is the easiest point of entry to basic IoT with the standard form factor of the UNO family. Whether you are looking at building a sensor network connected to your office or home router, or if you want to create a Bluetooth® Low Energy device sending data to a cellphone, the Arduino UNO WiFi Rev 2 is your one-stop-solution for many of the basic IoT application scenarios.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Yún Rev2
3-
url_shop: https://store.arduino.cc/arduino-yun-rev-2
43
core: arduino:avr
4+
status: end-of-life
55
---
66

7-
The Yún Rev2, Linux powered board with the Arduino simplicity, is the perfect board for your IoT projects!
7+
The Yún Rev2, Linux powered board with the Arduino simplicity, is the perfect board for your IoT projects!

0 commit comments

Comments
 (0)