Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Articles by Yash Sanghvi
192 articles
Overview of Arduino IoT boards
Arduino has come up with a number of boards specifically for Internet of Things (IoT) applications. If you go to the Products page on Arduino website, you will find a separate section for IoT boards. Their prices range from $18 to $69.The main feature that differentiates these boards from other Arduino boards (like Uno) is the presence of some connectivity onboard. For instance, The Arduino Nano 33 IOT board has WiFi and Bluetooth connectivity.The MKR Fox 1200 board (available in Europe only) supports the Sigfox architecture.The MKR GSM 1400 board supports GSM.The MKR NB 1500 supports the recently developed NBIoT ...
Read MoreCalculate time of operation in Arduino
Often, you need to measure the time your microcontroller takes to perform a particular task. You can use the millis() function of Arduino to measure the time. This function returns the number of milliseconds passed since your board started running the current program. Therefore, to calculate the time taken by an operation, you can call millis() before and after your operation, and take the difference of the two values.An example implementation is given below −Examplevoid setup() { // put your setup code here, to run once: Serial.begin(9600); long int t1 = millis(); task_whose_time_is_to_be_measured(); long int ...
Read MoreStructs in Arduino program
A struct is simply a collection of different types of variable. Structs in Arduino mimic the structs in C language. So, if you are familiar with C structs, Arduino structs shouldn’t be an issue. The struct declaration syntax is as follows −Syntaxstruct structName{ item1_type item1_name; item2_type item2_name; . . . itemN_type itemN_name; }An example is given below −Examplestruct student{ String name; int age; int roll_no; }The elements of a struct are accessed using the . (dot) notation. This notation can be used for both reading the elements of a struct, or changing ...
Read MoreArduino Time Library Introduction
The Time library provides you with timekeeping functionality on the Arduino. The latest version of the library is documented here.To install it, search for Time in the Library Manager and install the library by Michael Margolis.You’ll have to scroll a bit to find this library.Once the library is installed, if you go to File → Examples → Time, you will be able to see several examples of integrating this library with various sources: GPS, NTP, RTC, etc.The basic idea is that you can set time using the functions −setTime(hours, minutes, seconds, days, months, years);OR, setTime(t);where t is the special time_t ...
Read MoreBrowse Arduino libraries by Category on Arduino Website
Follow the steps given below to browse Arduino libraries by category on Arduino website −Go to http://arduino.cc/Click Documentation → ReferenceClick Libraries from the left menu.The libraries can now be found in the categorized form on this pageClick the category of your interest and explore the available libraries.
Read MoreReference and dereference operator in Arduino
The reference (&) and dereference operators (*) in Arduino are similar to C. Referencing and dereferencing are used with pointers.If x is a variable, then its address is represented by &x.Similarly, if p is a pointer, then the value contained in the address pointed to by p is represented by &p.Examplevoid setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println(); int x = 10; int *p; p = &x; //p now contains the address of x Serial.print("The value stored in the address pointed by p is: ");Serial.println(*p); } ...
Read MoreDeep sleep in Arduino
The equivalent of deep sleep in Arduino would be the Power Down mode, which consumes the least power out of all the sleep modes. While this has already been covered in another article, but for the sake of completeness, here’s a brief on the sleep modes in Arduino.Arduino’s microcontroller, ATmega328P has 6 sleep modes, of which 5 are available with the avr/sleep.h library.Idle modeADC Noise ReductionPower-downPower-saveStandbyExtended StandbyEach mode has different wake-up modes and different power consumption.The Idle mode is easiest to wake up from and the Standby and Power down mode is the most difficult to wake up from (you ...
Read MoreMake the Arduino sleep and then wake up
In this article, we will, as the title suggests, make the Arduino sleep, and wake it up using an interrupt. Arduino’s microcontroller, ATmega328P has 6 sleep modes, of which 5 are available with the avr/sleep.h library. Each mode has different wake-up modes and different power consumption.Arduino’s microcontroller, ATmega328P has 6 sleep modes, of which 5 are available with the avr/sleep.h library.Idle modeADC Noise ReductionPower-downPower-saveStandbyExtended StandbyEach mode has different wake-up modes and different power consumption.The Idle mode is easiest to wake up from and the Standby and Power down mode is the most difficult to wake up from (you can only ...
Read MoreReal Time Clock (RTC) with Arduino
An RTC module keeps track of time once an initial time input is provided to it. This input can come from several sources (NTP, GPS, etc.). The RTC module usually comes with its own crystal oscillator, and even its own battery, so that the timekeeping continues, even if there is a power disturbance on the Arduino.Circuit Diagram −We will use the DS3231 module. It uses I2C for communication (SDA and SCL lines). The circuit diagram is shown below −As you can see, the Vcc pin of DS3231 is connected to 5V, GND to GND, SDA to A4 (SDA) and SCL ...
Read MoreCompound operators in Arduino
Compound operators in Arduino work just like in C, and they help save you some writing time, and also reduce the number of lines in your code. As the name seems to suggest, compound operators combine multiple operators.The following table lists the compound operators in Arduino.Assume that a and b are integers having values a = 5 and b = 2 in all the following examples −OperatorDescriptionExampleOutput++Incrementa++a=6--Decrementa--a=4+=Compound Additiona+=ba=7-=Compound subtractiona-=ba=3*=Compound multiplicationa*=ba=10/=Compound divisiona/=ba=2%=Compound remaindera%=ba=1&=Compound bitwise ANDa&=ba=0|=Compound bitwise ORa|=ba=7^=Compound bitwise XORa^=ba=7
Read More