Arduino101
Arduino is umbrella term for a collection of programmable microcontrollers. It covers both a physical device and an integrated development environment (IDE) that allows you to write, review, debug and upload code to your microcontroller. The Arduino IDE supports a wide variety of microcontrollers from different manufacturers with equally varying specifications (ATMEL, ESP32, ESP8266, etc). The original Arduino project takes a bare 8 bit microcontroller and adds an USB port (+ usb-to-serial converter by FTDI), voltage regulators, input/output header pins for plug and play experience. It's schematics are open source and allowed the proliferation of many varieties and clones. It is also very easy (and cheap) to make your own 'Arduino' clone on a breadboard with a handful of components
Software
NOTE: Arduino clones need a special driver, see below.
Graphical
All Platforms (Windows/OSX/Linux) >> Download the IDE here: https://www.arduino.cc/en/Main/Software
Installation OSX Unpack, mount, drag to applications folder
Installation Win Run installer, follow installation procedure.
Installation Linux https://www.instructables.com/id/Install-Arduino-IDE-182-on-Linux/
Command Line
First, install the Graphical IDE, then:
https://github.com/sudar/Arduino-Makefile
See also: https://git.xpub.nl/XPUB/special-issue-x/src/branch/master/templates/arduino-make and https://git.xpub.nl/XPUB/special-issue-x/src/branch/master/templates/bare-make
Driver
WIN+OSX:http://sparks.gogo.co.nz/ch340.html OSX Mojave has the driver built in. Recent Linux flavours have the driver built in.
Web
https://www.circuito.io/ https://create.arduino.cc/editor
Hardware
To program (or flash) your arduino, you need to connect it to your computer (often using USB). Connect your Arduino, open the Arduino IDE and see if your board appears:
File:Arduinoport101.png
Screenshot showing Arduino connected to serial port /dev/something
Important settings:
Board
Port:
linux: /dev/ttyACM# or /dev/ttyUSB (# = number)
osx: /dev/cu.modem (# = number)
win: COM# (# = number)
Sketches
Anatomy of a sketch
Examples
Debugging
Output
Input
Arduino + Processing
Using Serial for Visualising, also add cli way (for more flexible/modular approach(promoting approaches not apps))!
Prototyping
Breadboard
Solderless breadboard, (hand drawn) red lines indicate interconnected contacts
Input
Voltage divider
Output
Protect ya Led
Considerations
Clones vs Real Deal
Clones use inferior usb to serial chips, voltage regulators and non removable atmel microcontrollers. With buying an original Arduino you support the development and community (needs proof ;p).