Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ In order to configure the feature, we will need to create a project in the IoT C

![Adding a variable.](assets/adding_variable.png)

> **Note:** If you want to know more about how to get started with the Arduino IoT Cloud, visit the [getting started tutorial](https://drive.google.com/file/d/1yW_kH0-O9ehJATrGQUvpuyhWPXLUc_uN/view?usp=sharing).
> **Note:** If you want to know more about how to get started with the Arduino IoT Cloud, visit the [getting started tutorial](/arduino-cloud/getting-started/iot-cloud-getting-started).


**3.** Once you have added the variable, you’ll need to associate your device (Arduino MKR WiFi 1010 or Arduino Nano 33 IoT) to this new thing and add your network credentials.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ author: 'Benjamin Dannegård'

## Introduction

It is possible to download historical data from your [Arduino IoT Cloud]((https://create.arduino.cc/iot/)) Things and Variables. It is downloaded in `.csv` format, and can be used for data comparison.
It is possible to download historical data from your [Arduino IoT Cloud](https://create.arduino.cc/iot/) Things and Variables. It is downloaded in `.csv` format, and can be used for data comparison.

## Goals

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Go to the **Libraries panel** and type **‘Wifi101’** in the search tab, then

As you can see, there are some identifiers like `SECRET_SIID` and `SECRET_PSW`. If you now click on the tab called “Secret,” you will notice some input fields where you can fill in your data.

If you have a [MKR1000](https://store.arduino.cc/arduino-mkr1000-with-headers-mounted) lying around, you can upload this sketch on it and watch your board connect to Internet (just make sure you join a 2GHz WiFi network).
If you have a [MKR1000](/hardware/mkr-1000-wifi) lying around, you can upload this sketch on it and watch your board connect to Internet (just make sure you join a 2GHz WiFi network).

![share_secure_sketches_img_2](assets/share_secure_sketches_img_2.png)
![share_secure_sketches_img_3](assets/share_secure_sketches_img_3.jpg)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ Photoresistor

At the beginning of this sketch, the variable `sensorPin` is set to to analog pin 0, where your potentiometer is attached, and `ledPin` is set to digital pin 13. You'll also create another variable, `sensorValue` to store the values read from your sensor.

The [`analogRead()`](https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/unctions/analog-io/analogread/) command converts the input voltage range, 0 to 5 volts, to a digital value between 0 and 1023. This is done by a circuit inside the microcontroller called an *analog-to-digital converter* or *ADC*.
The [`analogRead()`](https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/) command converts the input voltage range, 0 to 5 volts, to a digital value between 0 and 1023. This is done by a circuit inside the microcontroller called an *analog-to-digital converter* or *ADC*.

By turning the shaft of the potentiometer, you change the amount of resistance on either side of the center pin (or wiper) of the potentiometer. This changes the relative resistances between the center pin and the two outside pins, giving you a different voltage at the analog input. When the shaft is turned all the way in one direction, there is no resistance between the center pin and the pin connected to ground. The voltage at the center pin then is 0 volts, and `analogRead()` returns 0. When the shaft is turned all the way in the other direction, there is no resistance between the center pin and the pin connected to +5 volts. The voltage at the center pin then is 5 volts, and `analogRead()` returns 1023. In between, `analogRead()` returns a number between 0 and 1023 that is proportional to the amount of voltage being applied to the pin.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ RGB LEDs with a common anode share a common power pin. Instead of turning a pin

### Code

You'll first set up some [global variables](/reference/en/language/variables/variable-scope-qualifiers/scope/) for the pins your LED will connect to. This will make it easier to differentiate which one is red, green, and blue in the main part of your program:
You'll first set up some [global variables](https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/) for the pins your LED will connect to. This will make it easier to differentiate which one is red, green, and blue in the main part of your program:

```arduino
const int redPin = 3;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ This circuit uses three [voltage divider](http://www.tigoe.com/pcomp/code/contro
### Schematic


![](assets/schematic.png.png)
![](assets/schematic.png)

### Code

The sensor values are sent from the Arduino to the computer as [ASCII-encoded decimal numbers](http://www.tigoe.net/pcomp/code/communication/interpreting-serial-data-bytes). This means that each number is sent using the ASCII characters "0" through "9". For the value "234" for example, three bytes are sent: ASCII "2" (binary value 50), ASCII "3" (binary value 51), and ASCII "4" (binary value 52).
The sensor values are sent from the Arduino to the computer as [ASCII-encoded decimal numbers](https://www.tigoe.com/pcomp/code/communication/interpreting-serial-data-bytes/). This means that each number is sent using the ASCII characters "0" through "9". For the value "234" for example, three bytes are sent: ASCII "2" (binary value 50), ASCII "3" (binary value 51), and ASCII "4" (binary value 52).

```arduino

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Following the instructions on the [Programming 8U2 instructions](/hacking/softwa

You can read the Wikipedia [MIDI](http://en.wikipedia.org/wiki/MIDI) entry for complete information on the specification, but in a nutshell, MIDI is a useful protocol for controlling synthesizers, sequencers, and other musical devices. MIDI devices are generally grouped in two broad classes: controllers (i.e. devices that generate MIDI signals based on human actions) and synthesizers (including samplers, sequencers, and so forth).

For more information, see this [introduction to MIDI](http://www.tigoe.net/pcomp/code/communication/midi) or this [example](http://itp.nyu.edu/physcomp/Labs/MIDIOutput).
For more information, see this [introduction to MIDI](https://www.tigoe.com/pcomp/code/communication/midi/) or this [example](http://itp.nyu.edu/physcomp/Labs/MIDIOutput).

The Serial.print() function will send a MIDI command to the software synthesizer of your choice (in this example we will use Cycling74's Max/MSP, but any application that accepts MIDI will do).

Expand Down
4 changes: 2 additions & 2 deletions content/hacking/01.software/PortManipulation/content.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Port registers allow for lower-level and faster manipulation of the i/o pins of
* C (analog input pins)
* D (digital pins 0 to 7)

Each port is controlled by three registers, which are also defined variables in the arduino language. The DDR register, determines whether the pin is an INPUT or OUTPUT. The PORT register controls whether the pin is HIGH or LOW, and the PIN register reads the state of INPUT pins set to input with pinMode(). The maps of the [ATmega8](http://www.arduino.cc/en/Hacking/PinMapping) and [ATmega168](//www.arduino.cc/en/Reference/Atmega168Hardware) chips show the ports. The newer Atmega328p chip follows the pinout of the Atmega168 exactly.
Each port is controlled by three registers, which are also defined variables in the arduino language. The DDR register, determines whether the pin is an INPUT or OUTPUT. The PORT register controls whether the pin is HIGH or LOW, and the PIN register reads the state of INPUT pins set to input with pinMode(). The maps of the [ATmega8](/hacking/hardware/PinMapping) and [ATmega168](/hacking/hardware/Atmega168Hardware) chips show the ports. The newer Atmega328p chip follows the pinout of the Atmega168 exactly.

DDR and PORT registers may be both written to, and read. PIN registers correspond to the state of inputs and may only be read.

Expand Down Expand Up @@ -40,7 +40,7 @@ PORTC - The Port C Data Register - read/write

PINC - The Port C Input Pins Register - read only

Each bit of these registers corresponds to a single pin; e.g. the low bit of DDRB, PORTB, and PINB refers to pin PB0 (digital pin 8). For a complete mapping of Arduino pin numbers to ports and bits, see the diagram for your chip: [ATmega8](//www.arduino.cc/en/Hacking/PinMapping), [ATmega168](//www.arduino.cc/en/Hacking/PinMapping168). (Note that some bits of a port may be used for things other than i/o; be careful not to change the values of the register bits corresponding to them.)
Each bit of these registers corresponds to a single pin; e.g. the low bit of DDRB, PORTB, and PINB refers to pin PB0 (digital pin 8). For a complete mapping of Arduino pin numbers to ports and bits, see the diagram for your chip: [ATmega8](/hacking/hardware/PinMapping), [ATmega168](/hacking/hardware/PinMapping168). (Note that some bits of a port may be used for things other than i/o; be careful not to change the values of the register bits corresponding to them.)

## Examples

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ There are also many different kinds of AVR programmers but two are most commonly

![ArduinoISP](assets/ArduinoISP_Front2.jpg)

The AVRISP mkII can be purchased from Digikey (Part # [ATAVRISP2-ND](http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=ATAVRISP2-ND)) while the USBtinyISP must be assembled and can be found at [Adafruit Industries](http://www.adafruit.com/index.php?main_page=product_info&cPath=16&products_id=46). The documentation and the links to the Arduino Store and to the distributors list can be found in the [ArduinoISP product page](http://www.arduino.cc/en/Main/ArduinoISP).
The AVRISP mkII can be purchased from Digikey (Part # [ATAVRISP2-ND](http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=ATAVRISP2-ND)) while the USBtinyISP must be assembled and can be found at [Adafruit Industries](https://www.adafruit.com/product/46). The documentation and the links to the Arduino Store and to the distributors list can be found in the [ArduinoISP product page](http://www.arduino.cc/en/Main/ArduinoISP).

### Using an Arduino board

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ This tutorial gives an overview on how to determine the duration of a rechargeab

## Hardware & Software Needed

- [Arduino MKR1000 WiFi Board](https://store.arduino.cc/arduino-mkr1000-wifi-with-headers-mounted)
- [Arduino MKR1000 WiFi Board](/hardware/mkr-1000-wifi)

- 1400mAh LiPo battery
- Ammeter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2059,7 +2059,7 @@ void printWiFiStatus() {

### Wifi101 Wi-Fi Web Client Repeating

This example shows you how to make repeated HTTP requests using a WiFi Shield 101 or a MKR1000 board. It connects to [http://www.arduino.cc/latest.txt](/latest.txt). The content of the page is viewable through your Arduino Software (IDE) Serial Monitor window.
This example shows you how to make repeated HTTP requests using a WiFi Shield 101 or a MKR1000 board. It connects to [http://example.org](http://example.org). The content of the page is viewable through your Arduino Software (IDE) Serial Monitor window.

This example is written for a network using WPA encryption. For WEP or WPA, change the Wifi.begin() call accordingly.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ This example for a MKR Fox 1200 device allows you to use the board's low power f

## Hardware Required

- MKR FOX 1200 [(link to store)](https://store.arduino.cc/arduino-mkr-fox-1200-1408)
- [MKR FOX 1200](/hardware/mkr-fox-1200)
- Antenna [(link to store)](https://store.arduino.cc/antenna)
- Jumper wires
- 2x pushbuttons
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ This example for a MKR FOX 1200 device allows you to setup the SigFox's backend

## Hardware Required

- MKR FOX 1200 [(link to store)](https://store.arduino.cc/arduino-mkr-fox-1200-1408)
- [MKR FOX 1200](/hardware/mkr-fox-1200)
- Antenna [(link to store)](https://store.arduino.cc/antenna)

### Circuit
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ It is also designed to operate in temperature conditions between -40 °C to +85

The module also provides an interface for SIM cards, and supports both 1.8V and 3V SIM cards, which can be automatically detected.

You can find out much more information about this component in the <a href="https://www.u-blox.com/sites/default/files/SARA-U2_DataSheet_(UBX-13005287).pdf" target="_blank">uBlox SARA-02 datasheet</a>.
You can find out much more information about this component in the <a href="https://www.u-blox.com/sites/default/files/SARA-U2_DataSheet_UBX-13005287.pdf" target="_blank">uBlox SARA-02 datasheet</a>.

### Circuit

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ ___
- 2x Micro USB cable .
- 2x Computers.
- Arduino IDE (offline and online versions available).
- Arduino SAMD core installed ([follow this link for instructions](/software/ide-v1/getting-started/cores/arduino-samd)).
- Arduino SAMD core installed ([follow this link for instructions](/software/ide-v1/tutorials/getting-started/cores/arduino-samd)).
- **LoRa** library installed (see the [github repository](https://github.com/sandeepmistry/arduino-LoRa)).


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ ___
- 2x [Antenna](https://store.arduino.cc/antenna).
- 2x Micro USB cable .
- Arduino IDE (offline and online versions available).
- Arduino SAMD core installed ([follow this link for instructions](/software/ide-v1/getting-started/cores/arduino-samd)).
- Arduino SAMD core installed ([follow this link for instructions](/software/ide-v1/tutorials/getting-started/cores/arduino-samd)).
- LoRa library installed (see the [github repository](https://github.com/sandeepmistry/arduino-LoRa)).


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ In this tutorial, we will set up a configuration that allows two MKR WAN 1300's
- 1x [MKR ENV shield](https://store.arduino.cc/arduino-mkr-env-shield).
- 2x Micro USB cable.
- Arduino IDE (offline and online versions available).
- Arduino SAMD core installed, [follow this link for instructions](/software/ide-v1/getting-started/cores/arduino-samd).
- Arduino SAMD core installed, [follow this link for instructions](/software/ide-v1/tutorials/getting-started/cores/arduino-samd).
- **LoRa** library installed (see the [github repository](https://github.com/sandeepmistry/arduino-LoRa)).
- **Arduino_MKRENV** installed ([click here for more documentation](https://www.arduino.cc/en/Reference/ArduinoMKRENV)).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ If you need help to get started, you can go through the [Arduino IoT Cloud tutor

![The pinout for MKR IoT Carrier Rev2](assets/mkrIoTCarrier-pinout.png)

The full pinout is available in the [resources section](/hardware/mkr-iot-carrie-rev2#resources).
The full pinout is available in the [resources section](/hardware/mkr-iot-carrier-rev2#resources).

## Grove Connectors

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: 'Ethernet Shield Web Client Repeating'
description: 'Make repeated HTTP requests.'
---

This example shows you how to make repeated HTTP requests using an Ethernet shield. This example uses DNS, by assigning the Ethernet client with a MAC address, IP address, and DNS address. It connects to [http://www.arduino.cc/latest.txt](/latest.txt). The content of the page is viewable in the Serial Monitor.
This example shows you how to make repeated HTTP requests using an Ethernet shield. This example uses DNS, by assigning the Ethernet client with a MAC address, IP address, and DNS address. It connects to [http://www.arduino.cc/latest.txt](http://www.arduino.cc/latest.txt). The content of the page is viewable in the Serial Monitor.

## Hardware Required

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ libraries:
- name: Arduino BMI270_BMM150
url: https://www.arduino.cc/reference/en/libraries/arduino_bmi270_bmm150/
- name: Arduino HS300x
url: https://www.arduino.cc/en/Reference/ArduinoHS300x
url: https://reference.arduino.cc/reference/en/libraries/arduino_hs300x/
- name: Arduino APDS9960
url: https://www.arduino.cc/en/Reference/ArduinoAPDS9960
- name: Arduino SPI
Expand Down Expand Up @@ -206,9 +206,9 @@ The magnetometer data can be accessed through the following commands:

If you want to learn more on how to use the IMU, please check out the tutorial below:

- [Accessing IMU gyroscope data with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/imu_gyroscope)
- [Accessing IMU accelerometer data with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/imu_accelerometer)
- [Accessing IMU magnetometer data with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/imu_magnetometer)
- [Accessing IMU gyroscope data with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/imu-gyroscope)
- [Accessing IMU accelerometer data with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/imu-accelerometer)
- [Accessing IMU magnetometer data with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/imu-magnetometer)

## Proximity and Gesture Detection

Expand Down Expand Up @@ -261,7 +261,7 @@ The **HS3003** capacitive digital sensor measures relative humidity and temperat

### HS3003 Library

To access the data from the HS3003 module, we need to install the [HS3003](https://github.com/arduino-libraries/Arduino_HS3003) library, which comes with examples that can be used directly with the Nano 33 BLE Sense Rev2.
To access the data from the HS3003 module, we need to install the [Arduino_HS300x](https://github.com/arduino-libraries/Arduino_HS300x) library, which comes with examples that can be used directly with the Nano 33 BLE Sense Rev2.

It can be installed directly from the library manager through the IDE of your choice. To use it, we need to include it at the top of the sketch:

Expand All @@ -288,7 +288,7 @@ Serial.println(HS300x.readHumidity());

If you want to learn more on how to use the temperature and humidity sensor, please check out the tutorial below:

- [Reading Temperature & Humidity on Nano 33 BLE Sense Rev2](https://docs.arduino.cc/tutorials/nano-33-ble-sense-rev2/humidity_and_temperature_sensor)
- [Reading Temperature & Humidity on Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/humidity-and-temperature-sensor)

## Pressure Sensor

Expand Down Expand Up @@ -326,7 +326,7 @@ BARO.readPressure();

If you want to learn more on how to use the temperature and humidity sensor, please check out the tutorial below:

- [Access Barometric Pressure Sensor Data on Nano 33 BLE Sense Rev2](https://docs.arduino.cc/tutorials/nano-33-ble-sense-rev2/barometric_sensor)
- [Access Barometric Pressure Sensor Data on Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/barometric-sensor)

## Microphone

Expand Down
Loading