WHAT IS ARDUINO?
The Arduino is a hardware and software platform used to build electronics projects. It was designed for artists, designers, and others who want to incorporate physical computing into their designs without having any prerequisite engineering knowledge.
Arduino consists of a physical programmable circuit board (often referred to as a microcontroller) and a piece of software, or IDE (Integrated Development Environment) that runs on your computer, used to write and upload computer code to the physical board.
ARDUINO UNO REV3
It has 14 digital input/output pins (of which six can be used as PWM outputs), six analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, and an ICSP header, and a reset button.
Connect it to a computer with a USB cable or power it with an AC-to-DC adapter or battery to get started.
Arduino code is written in C++ with an addition of special methods and functions. The Arduino Integrated Development Environment (IDE) is the main text editing program used for Arduino programming. Arduino code is referred to as SKETCHES.
SHIELDS
They are pre-built circuit boards that fit on top of your Arduino and provide additional capabilities eg. controlling motors, connecting to the internet, providing cellular or other wireless communication, controlling an LCD screen, and much more.
CODE STRUCTURE
LIBRARIES: Arduino has various built-in libraries which perform multiple functionalities. In addition, it is possible to import other libraries and expand the Arduino board's capabilities and features.
BUILT-IN FUNCTIONS :
Setup() Every Arduino sketch must have a setup function. This function defines the initial state of the Arduino upon boot and runs only once.
Here we'll define the following:
Pin functionality using the pinMode function
Initial state of pins
Initialize classes
Initialize variables
Code logic
Setup() is also called Preparation Block.
loop()
The loop function is also necessary for every Arduino sketch and executes once setup() is complete. It is the primary function; as its name hints, it runs in a loop repeatedly. The loop describes the main logic of your circuit.
For example:
void setup(){
// put your setup code here to run once:
}
void loop(){
// put your loop code here to run repeatedly:
}
Other functions include:
pinMode(): This function sets a pin as input or an output. You pass the pin number and the INPUT or OUTPUT value as parameters.
digitalWrite(): This function writes a HIGH or LOW value to a digital output pin. You pass the pin number and HIGH or LOW as parameters.
analogWrite(): This function writes between 0 (always off) and 255 (always on) value to a analog output pin.
BUILT-IN CONSTANTS Arduino has various built-in functions:
HIGH: It equates to a high level of voltage, which can differ depending on the hardware (>2V on 3.3V boards like Arduino Nano, >3V on 5V boards like Arduino Uno)
LOW: It equates to a low level of voltage. Again, the exact value depends on the board used.
Constants used with the pinMode() function:
INPUT: It sets the pin as an input pin
OUTPUT: It sets the pin as an output pin
INPUT_PULLUP: It sets the pin as an internal pull-up resistor
The other constant we have is LED_BUILTIN, which points to the number of the onboard pin. It usually equates to the number 13.
In addition to this, we have the C/C++ constants true and false.
Below is the basic Arduino Program for "Blinking LEDs" which is somewhat analogous to "Hello World".
// Blinking LEDs
#define LED_PIN 13
void setup() {
// Configure pin 13 to be a digital output
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// Turn on the LED
digitalWrite(LED_PIN, HIGH);
// Wait 1 second (1000 milliseconds)
delay(1000);
// Turn off the LED
digitalWrite(LED_PIN, LOW);
// Wait 1 second
delay(1000);
}
Arduino Simulator -> https://www.tinkercad.com/
Simple LED Blinking Project
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 bps (to computer USB)
pinMode(7, OUTPUT); // To tell arduino that send data to this port
}
void loop(){ // run repetedly
digitalWrite(7, HIGH); // turn to 5v or on
delay(500); // wait for 500 milli-second
digitalWrite(7, LOW); // turn to 0v or off
delay(500); // wait for 500 milli-second
}
One wire is connected to Digital Pin 7 and other wire is connected to Ground Power Pin (GND).
Built-in Functions and Constants Resources
https://www.arduino.cc/reference/en/
Extra
~ -> If you see this symbol before the pin. It means that the pin supports PWM (Pulse-width Modulation). This pin supports digital as well as analog.