Arduino: Difference between revisions

Content deleted Content added
m Reverted edits by 115.98.233.52 (talk): nonconstructive edits (HG) (3.4.12)
 
(7 intermediate revisions by 6 users not shown)
Line 24:
'''Arduino''' ({{IPAc-en|ɑː|r|ˈ|d|w|iː|n|oʊ}}) is an Italian [[open-source hardware]] and [[open-source software|software]] company, project, and user community that designs and manufactures [[single-board microcontroller]]s and [[microcontroller]] kits for building digital devices. Its hardware products are licensed under a [[Creative Commons license|CC BY-SA license]], while the software is licensed under the [[GNU Lesser General Public License]] (LGPL) or the [[GNU General Public License]] (GPL),<ref>{{Cite web |title=Getting Started: FOUNDATION > Introduction |url=https://www.arduino.cc/en/guide/introduction |url-status=dead |archive-url=https://web.archive.org/web/20170829015201/https://www.arduino.cc/en/Guide/Introduction |archive-date=2017-08-29 |access-date=2017-05-23 |website=arduino.cc}}</ref> permitting the [[manufacture]] of Arduino boards and software distribution by anyone. Arduino boards are available commercially from the official [[website]] or through authorized distributors.<ref>{{Cite web |title=Arduino - Home |url=https://www.arduino.cc/ |access-date=2022-10-27 |website=www.arduino.cc}}</ref>
 
Arduino board designs use a variety of [[microprocessor]]s and controllers. The boards are equipped with sets of digital and analog [[input/output]] (I/O) pins that may be interfaced to various expansion boards ('shields') or [[breadboards]] (for prototyping) and other circuits. The boards feature serial communications interfaces, including [[Universal Serial Bus]] (USB) on some models, which are also used for loading programs. The microcontrollers can be programmed using the [[C (programming language)|C]] and [[C++]] [[programming language]]s (Embedded C), using a standard API which is also known as the '''Arduino Programming Language''', inspired by the [[Processing (programming language)|Processing language]] and used with a modified version of the Processing IDE. In addition to using traditional [[compiler]] [[toolchains]], the Arduino project provides an [[integrated development environment]] (IDE) and a [[Command-line interface|command line]] tool developed in [[Go (programming language)|Go]].
 
The Arduino project began in 2005 as a tool for students at the [[Interaction Design Institute Ivrea]], Italy,<ref name="kushner">{{Cite journal |last=Kushner |first=David |date=2011-10-26 |title=The Making of Arduino |url=https://spectrum.ieee.org/the-making-of-arduino |journal=[[IEEE Spectrum]]}}</ref> aiming to provide a low-cost and easy way for novices and professionals to create devices that interact with their environment using [[sensor]]s and [[actuator]]s. Common examples of such devices intended for beginner[[Maker hobbyistsculture|makers]] include simple [[robot]]s, [[thermostat]]s, and [[motion detector]]s.
 
The name ''Arduino'' comes from a café in [[Ivrea]], Italy, where some of the project's founders used to meet. The bar was named after [[Arduin of Ivrea]], who was the [[margrave]] of the [[March of Ivrea]] and [[King of Italy]] from 1002 to 1014.<ref>{{Cite journal |last=Lahart |first=Justin |date=27 November 2009 |title=Taking an Open-Source Approach to Hardware |url=https://www.wsj.com/articles/SB10001424052748703499404574559960271468066 |journal=[[The Wall Street Journal]] |access-date=2014-09-07}}</ref>
Line 79:
[[File:UnoConnections.jpg|thumb|An official Arduino Uno R2 with descriptions of the I/O locations]]
 
The Arduino board exposes most of the microcontroller's I/O pins for use by other circuits. The ''Diecimila'',{{Efn|name="N10000"|''Diecimila'' means "ten thousand" in Italian}} ''Duemilanove'',{{Efn|name="N2009"|''Duemilanove'' means "two thousand and nine" in Italian}} and current ''Uno''{{Efn|name="N1"|''Uno'' means "one" in Italian}} provide 14 digital I/O pins, six of which can produce [[pulse-width modulation|pulse-width modulated]](PWM) signals, and six [[Analog signal|analog]] inputs, which can also be used as six digital I/O pins. These pins are on the top of the board, via female 0.1-inch (2.54&nbsp;mm) headers. Several plug-in application shields are also commercially available. The Arduino Nano and Arduino-compatible Bare Bones Board<ref>{{Cite web |title=Bare Bones Board (BBB) Kit |url=http://moderndevice.com/product/bare-bones-board-bbb-kit/ |access-date=29 November 2018 |website=moderndevice.com |archive-date=30 July 2013 |archive-url=https://web.archive.org/web/20130730012610/http://moderndevice.com/product/bare-bones-board-bbb-kit/ |url-status=dead }}</ref> and Boarduino<ref>{{Cite web |title=DC Boarduino (Arduino compatible) Kit (w/ATmega328) - v1.0 |url=https://www.adafruit.com/products/72 |access-date=29 November 2018 |website=adafruit.com}}</ref> boards may provide male header pins on the underside of the board that can plug into solderless [[breadboard]]s.
 
Many Arduino-compatible and Arduino-derived boards exist. Some are functionally equivalent to an Arduino and can be used interchangeably. Many enhance the basic Arduino by adding output drivers, often for use in school-level education,<ref>{{Cite journal |last1=Di Tore |first1=Stefano |last2=Todino |first2=Michele |last3=Sibilio |first3=Maurizio |date=2019-04-30 |title=Disuffo: Design, prototyping, and development of an open-source educational robot |url=https://oaj.fupress.net/index.php/formare/article/view/3792 |journal=Form@re - Open Journal per la Formazione in Rete |language=it |volume=19 |issue=1 |pages=106–116 |doi=10.13128/FORMARE-24446|s2cid=181368197 }}</ref> to simplify making buggies and small robots. Others are electrically equivalent, but change the form factor, sometimes retaining compatibility with shields, sometimes not. Some variants use different processors, of varying compatibility.
Line 177:
One important feature Arduino IDE 2.0 provides is the debugging feature.<ref>{{Cite web |date=12 September 2024|title=Debugging Fundamentals|url=https://docs.arduino.cc/learn/microcontrollers/debugging/ |access-date=26 September 2024 |website=Arduino}}</ref> It allows users to single-step, insert breakpoints or view memory. Debugging requires a target chip with [[debug port]] and a debug probe. The official Arduino Zero board can be debugged out of the box. Other official Arduino SAMD21 boards require a separate SEGGER J-Link or Atmel-ICE.
 
For a 3rd party board, debugging in Arduino IDE 2.0 is also possible as long as such board supports GDB, OPENOCD and has a debug probe. Community has contributed debugging for ATMega328P based Arduino <ref>{{Cite web | date=9 September 2023 |title=Arduino Board Package to Debug Uno/ATmega328P with CH552 debugger in Arduino IDE 2.0.0 |url=https://github.com/DeqingSun/unoDebugTestPackage |access-date=26 September 2024 |website=Github}}</ref> or CH32 RiscVRISC-V Boardsboards,<ref>{{Cite web | date=28 February 2023 |title=add debug feature.|url=https://github.com/openwch/arduino_core_ch32/commit/959844e9eba655169430bf6686b2ba055823d1cd |access-date=26 September 2024 |website=Github}}</ref> etc.
 
===Sketch===
Line 247:
 
==Simulation==
* [[Tinkercad]], [[Tinkercad#Circuits|Circuits]] - an analog and digital simulator supporting Arduino Simulation, which is commonly used to create 3D models
 
==Recognitions==
Line 258:
* [[List of Arduino boards and compatible systems]]
* [[List of open-source hardware projects]]
* [[Calliope mini]]
* [https://www.electronicsforu.com/category/electronics-projects/arduino-projects Collection of Tested Arduino Projects]
* [[Micro_Bit|BBC micro:bit]]
* [[Raspberry Pi]]
 
== Explanatory notes ==