Arduino:
Introduction:
Arduino is a firm that creates and produces single-board microcontrollers and microcontroller kits for creating digital devices. It is an open-source hardware and software initiative. Its software is distributed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), allowing anybody to produce Arduino boards and distribute the software. Its hardware components are released under a CC BY-SA licence. Commercial Arduino boards are offered on the official website or from accredited distributors.
Arduino |
Different types of microprocessors and controllers are used in Arduino board designs. The boards have a variety of extension boards (called "shields"), breadboards (for prototyping), and other circuits that can be interfaced to the sets of digital and analogue input/output (I/O) pins on the boards. The boards have serial communications interfaces, some of which support USB (Universal Serial Bus), which are also used to load programmes. The C and C++ programming languages, as well as a standard API known as the Arduino language, which was modelled after the Processing language and used with a modified version of the Processing IDE, can be used to programme the microcontrollers. The Arduino project offers an integrated development environment (IDE) and a command line tool created in Go in addition to using conventional compiler toolchains.
The Arduino project started in 2005 as a teaching tool for students at the Interaction Design Institute in Ivrea, Italy, with the goal of giving amateurs and experts alike a simple, low-cost means to build gadgets that use sensors and actuators to interact with their surroundings. Simple robots, thermostats, and motion detectors are typical examples of the type of equipment designed for beginning enthusiasts.
The tavern in Ivrea, Italy, where some of the project's founders used to gather is where the term Arduino originated. The bar bears the name of Arduin of Ivrea, who ruled Italy from 1002 to 1014 and served as the March of Ivrea's margrave.
Founding:
The Interaction Design Institute Ivrea (IDII) in Ivrea, Italy, is where the Arduino project got its beginnings. At that time, the $50 BASIC Stamp microcontroller was used by the pupils. As part of his Master's thesis at IDII in 2003, Hernando Barragán developed the development platform Wiring under the direction of Massimo Banzi and Casey Reas. The Processing development platform was created by Casey Reas and Ben Fry. The project's objective was to develop easy, affordable tools for non-engineers to use while producing digital projects. The Wiring platform included a printed circuit board (PCB) with an ATmega128 microcontroller, a Processing-based integrated development environment (IDE), and library functions for quick microcontroller programming.
In 2005, Massimo Banzi expanded Wiring by adding support for the less expensive ATmega8 microcontroller along with David Mellis, another IDII student, and David Cuartielles. The new endeavour, which was a fork of Wiring, was known as Arduino.
Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, and David Mellis made up the original Arduino core team.
After the platform was finished, lighter and more affordable variants were made available to the open-source community. In mid-2011, it was expected that over 300,000 official Arduinos had been manufactured commercially. In 2013, it was estimated that 700,000 official boards were in the hands of users.
Arduino |
Hardware:
Hardware made with Arduino is open-source. The hardware reference designs are offered on the Arduino website and published under a Creative Commons Attribution Share-Alike 2.5 licence. There are additional layout and production files available for various hardware versions.
The developers have asked that the name Arduino be reserved for the official product and not used for derived works without permission, despite the fact that the hardware and software blueprints are publicly available under copyleft licences. The project is open to integrate contributions from others into the official product, according to the official policy paper on the usage of the Arduino name. Many Arduino-compatible devices that were commercially produced had names that ended in "-duino" to avoid utilising the project name.
An Atmel 8-bit AVR microcontroller (ATmega8, ATmega168, ATmega328, ATmega1280, or ATmega2560) with variable amounts of flash memory, pins, and features is the main component of most Arduino boards. In 2012, the 32-bit Arduino Due based on the Atmel SAM3X8E was released. Female headers or single- or double-row pins are used on the boards to provide connections for programming and circuit integration. These could link up with shield-style auxiliary modules. An I2C serial bus may allow for the independent addressability of many and possibly layered shields. A 5 V linear regulator and a 16 MHz crystal oscillator or ceramic resonator are typically included on boards. Due to unique form-factor limitations, some designs, like the LilyPad, operate at 8 MHz without an inbuilt voltage regulator.
The boot loader that comes pre-installed on Arduino microcontrollers makes it easier to upload programmes to the on-chip flash memory. The Optiboot bootloader is the default bootloader for the Arduino Uno. Programming code is loaded onto boards using a serial link to another computer. A level shifter circuit can convert between RS-232 logic levels and transistor-transistor logic (TTL) level signals on some serial Arduino boards.A USB-to-serial adapter chip like the FTDI FT232 is used to implement the Universal Serial Bus (USB), which is the current programming protocol for Arduino boards. Some boards, like later-model Uno boards, replace the FTDI chip with a different AVR chip that has USB-to-serial firmware and can be updated via its own ICSP header. Other variations, such the unauthorised Boarduino and the Arduino Mini, employ Bluetooth, a detachable USB-to-serial adaptor board, or other techniques. Instead of using the Arduino IDE, ordinary AVR in-system programming (ISP) programming is employed when used with conventional microcontroller tools.
The majority of the microcontroller's I/O pins are accessible on the Arduino board for usage by other circuits. Six of the 14 digital I/O pins on the Diecimila, Duemilanove, and contemporary Uno may create pulse-width modulated signals, and there are also six analogue inputs that can also be utilised as digital I/O pins. These pins are connected to female 0.1-inch (2.54 mm) headers on the top of the circuit board. There are also a number of plug-in application shields that are bought commercially. The male header pins on the underside of the Bare Bones Board and Boarduino boards, as well as the Arduino Nano, may be compatible with solderless breadboards.
There are numerous Arduino-derived and compatible boards available. Some can be used interchangeably and are functionally equivalent to an Arduino. Many people improve the fundamental Arduino by adding output drivers, frequently for classroom usage to make building little robots and buggies easier. Others change the form factor while maintaining electrical parity, sometimes maintaining compatibility with shields and other times not. Some variations employ various processors with differing degrees of compatibility.
Software:
First IDE:
Any programming language with compilers that generate binary machine code for the target processor may be used to create a programme for Arduino hardware. AVR Studio (older) and Atmel Studio, two development environments from Atmel, are available for their 8-bit AVR and 32-bit ARM Cortex-M based microcontrollers (newer).
Java was used to create the cross-platform Arduino integrated development environment (IDE), which is available for Microsoft Windows, macOS, and Linux. It came from the IDE for the programming languages Wiring and Processing. It has a code editor with tools for text copying and pasting, text replacement, automated indenting, brace matching, and syntax highlighting. It also offers straightforward one-click compiling and uploading tools for Arduino projects. A hierarchy of operating menus, a message area, a text terminal, a toolbar with buttons for standard functions, and more are also included. The GNU General Public License, version 2 governs the publication of the IDE's source code.
The Arduino IDE has specific code organisation guidelines to support the languages C and C++. A software library from the Wiring project, which offers numerous standard input and output operations, is provided by the Arduino IDE. For the sketch to start and the main programme loop, user-written code only needs two fundamental functions, which are combined with a programme stub main() to create an executable cyclic executive programme using the GNU toolchain, which is also distributed with the IDE. The executable code is transformed via the Arduino IDE's use of avrdude into a text file with hexadecimal encoding, which is then loaded into the Arduino board by a loader programme in the firmware.
Only Windows 7 or newer OS are supported by the Arduino IDE windows compiler as of version 1.8.12. When trying to verify or upload a programme on Windows Vista or earlier, one receives a "Unrecognized Win32 application" error. Users can either use version 1.8.11 or copy the "arduino-builder" executable from version 11 to their current install folder since it is independent of IDE to run IDE on older computers.
IDE 2.0:
The Arduino Pro IDE (alpha preview) was released on October 18, 2019. Later, on March 1, 2021, the beta preview—now known as IDE 2.0—was made available. Despite advancements including a more professional programming environment, autocompletion support, and Git integration, the system continues to use the Arduino CLI (Command Line Interface).The Eclipse Theia Open Source IDE serves as the foundation for the application frontend. The following are the key characteristics of the most recent release:
A. Modern programming environment with all the features.
B. Three modes: Dual, Classic (which is the same as the Classic Arduino IDE), and Pro (File System view).
C. Board's new manager
D. Fresh library director.
E. List of Board.
F. Elementary Auto-Completion (Arm targets only).
G. Integration of Git.
H. Serial Watcher
I. Shadow Mode.
No comments:
Post a Comment