ARDUINO

Arduino, computer platform for prototyping robots and interactive machines

 

 

 

The Arduino micro computer

 

 

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists and anyone interested in creating interactive objects or environments.

Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software running on a computer (e.g. Flash, Processing, MaxMSP).

The boards can be built by hand or purchased pre-assembled; the software can be downloaded for free. The hardware reference designs (CAD files) are available under an open-source license, you are free to adapt them to your needs. 

 

BASIC BOARD TECHNICAL

 

Arduino is a single-board microcontroller to make using electronics in multidisciplinary projects more accessible. The hardware consists of an open-source hardware board designed around an 8-bit Atmel AVR microcontroller, or a 32-bit Atmel ARM. The software consists of a standard programming language compiler and a boot loader that executes on the microcontroller.

Arduino boards can be purchased pre-assembled or as do-it-yourself kits. Hardware design information is available for those who would like to assemble an Arduino by hand. It was estimated in mid-2011 that over 300,000 official Arduinos had been commercially produced.

An Arduino board consists of an Atmel 8-bit AVR microcontroller with complementary components to facilitate programming and incorporation into other circuits. An important aspect of the Arduino is the standard way that connectors are exposed, allowing the CPU board to be connected to a variety of interchangeable add-on modules known as shields. Some shields communicate with the Arduino board directly over various pins, but many shields are individually addressable via an I²C serial bus, allowing many shields to be stacked and used in parallel. Official Arduinos have used the megaAVR series of chips, specifically the ATmega8, ATmega168, ATmega328, ATmega1280, and ATmega2560. A handful of other processors have been used by Arduino compatibles. Most boards include a 5 volt linear regulator and a 16 MHz crystal oscillator (or ceramic resonator in some variants), although some designs such as the LilyPad run at 8 MHz and dispense with the onboard voltage regulator due to specific form-factor restrictions. An Arduino's microcontroller is also pre-programmed with a boot loader that simplifies uploading of programs to the on-chip flash memory, compared with other devices that typically need an external programmer.

At a conceptual level, when using the Arduino software stack, all boards are programmed over an RS-232 serial connection, but the way this is implemented varies by hardware version. Serial Arduino boards contain a level shifter circuit to convert between RS-232-level and TTL-level signals. Current Arduino boards are programmed via USB, implemented using USB-to-serial adapter chips such as the FTDI FT232. Some variants, such as the Arduino Mini and the unofficial Boarduino, use a detachable USB-to-serial adapter board or cable, Bluetooth or other methods. (When used with traditional microcontroller tools instead of the Arduino IDE, standard AVR ISP programming is used.)

The Arduino board exposes most of the microcontroller's I/O pins for use by other circuits. The Diecimila, Duemilanove, and current Uno provide 14 digital I/O pins, six of which can produce pulse-width modulated signals, and six analog inputs. These pins are on the top of the board, via female 0.1-inch (2.5 mm) headers. Several plug-in application shields are also commercially available.

The Arduino Nano, and Arduino-compatible Bare Bones Board and Boarduino boards may provide male header pins on the underside of the board to be plugged into solderless breadboards.

There are many Arduino-compatible and Arduino-derived boards. Some are functionally equivalent to an Arduino and may be used interchangeably. Many are the basic Arduino with the addition of commonplace output drivers, often for use in school-level education to simplify the construction of buggies and small robots. Others are electrically equivalent but change the form factor, sometimes permitting the continued use of Shields, sometimes not. Some variants use completely different processors, with varying levels of compatibility.

 

 

OFFICIAL BOARDS

The original Arduino hardware is manufactured by the Italian company Smart Projects. Some Arduino-branded boards have been designed by the American company SparkFun Electronics. Sixteen versions of the Arduino hardware have been commercially produced to date.

SHIELDS

Arduino and Arduino-compatible boards make use of shields—printed circuit expansion boards that plug into the normally supplied Arduino pin-headers. Shields can provide motor controls, GPS, ethernet, LCD display, or breadboarding (prototyping). A number of shields can also be made DIY.

SOFTWARE

The Arduino integrated development environment (IDE) is a cross-platform application written in Java, and is derived from the IDE for the Processing programming language and the Wiring projects. It is designed to introduce programming to artists and other newcomers unfamiliar with software development. It includes a code editor with features such as syntax highlighting, brace matching, and automatic indentation, and is also capable of compiling and uploading programs to the board with a single click. A program or code written for Arduino is called a "sketch".

Arduino programs are written in C or C++. The Arduino IDE comes with a software library called "Wiring" from the original Wiring project, which makes many common input/output operations much easier. Users only need define two functions to make a runnable cyclic executive program:

setup(): a function run once at the start of a program that can initialize settings
loop(): a function called repeatedly until the board powers off

A typical first program for a microcontroller simply blinks an LED on and off. In the Arduino environment, the user might write a program like this:

----

#define LED_PIN 13

void setup () {
pinMode (LED_PIN, OUTPUT); // Enable pin 13 for digital output
}

void loop () {
digitalWrite (LED_PIN, HIGH); // Turn on the LED
delay (1000); // Wait one second (1000 milliseconds)
digitalWrite (LED_PIN, LOW); // Turn off the LED
delay (1000); // Wait one second
}

---------

It is a feature of most Arduino boards that they have an LED and load resistor connected between pin 13 and ground; a convenient feature for many simple tests. The previous code would not be seen by a standard C++ compiler as a valid program, so when the user clicks the "Upload to I/O board" button in the IDE, a copy of the code is written to a temporary file with an extra include header at the top and a very simple main() function at the bottom, to make it a valid C++ program.

The Arduino IDE uses the GNU toolchain and AVR Libc to compile programs, and uses avrdude to upload programs to the board.

As the Arduino platform uses Atmel microcontrollers, Atmel's development environment, AVR Studio or the newer Atmel Studio, may also be used to develop software for the Arduino.

 


ARDUPILOT DRONE SOFT / HARDWARE

ArduPilot is an open source UAV platform created by the DIY Drones community. It is based on the Arduino open-source electronics prototyping platform. The first Ardupilot version was based on thermopile who relies on determining a hypothetical horizon by measuring the difference of temperature between the sky and the ground. With the participation of Jordi Muñoz, the system was improved to replace thermopile by IMU (Inertial measurement unit) using a combination of accelerometers and gyroscopes (and also optional magnetometers). This gave the IMU advantages to be independent from climatic conditions.

 

 

 

LAYOUT - Under development for 2016 is this giant hexapod. The steel version of the frame will be a standard platform that will be made available to developers, museums and other operators for around £1,000 pounds. That gives you a 2.7m (9' foot) frame and legs for you to makes your own bodywork and static display unit. If you'd like this bodywork in GRP add another £300. If you'd like the robot programmed to interact with an audience, we can also arrange that for you, but at more cost. So why not programme yours yourself.

 

 

FULL AUTONOMY - 3D ROBOTICS APM

3D Robotics have developed the APM Universal Autopilot to provide fully autonomous control to a multitude of vehicles, from helicopters to ground rovers, to conceptual boats. The APM is a full UAV (Unmanned Autonomous Vehicle) autopilot, supporting piloted and unpiloted operation of vehicles, including hundreds of GPS waypoints, camera control and auto launch and docking.

APM offers:

* Point-and-click programming/configuration to get you up and operating without hassle
* Multiple command modes: Acro, Stabilize, Loiter, Alt-hold, Return To Launchpoint, Land, Simple, Guided, Position, Circle, 

   Follow Me, GeoFence, and Auto (which runs fully scripted missions using GPS waypoints)
* Failsafe programming options bring peace of mind in the event of lost control signal or low battery conditions
* Three Axis camera control and stabilization, shutter control, live video link with programmable on-screen-display
* Data transceivers allow real-time telemetry and control between your ground station computer and APM, including joystick 

   control options
* Full data logging provides comprehensive post mission analysis, with graphing and Google Earth mapping tools
* No dead ends — Advanced users will find endless options for customization and expanded mission capabilities

 

 

 

ARDUINO DEVELOPMENT & TRADE MARKS

The core Arduino developer team is composed of Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis and Nicholas Zambetti. Massimo Banzi was interviewed on the March 21st, 2009 episode (Episode 61) of FLOSS Weekly on the TWiT.tv network, in which he discussed the history and goals of the Arduino project. He also gave a talk at TEDGlobal 2012 Conference, where he outlined various uses of Arduino boards around the world.

Arduino is open source hardware: the Arduino hardware reference designs are distributed under a Creative Commons Attribution Share-Alike 2.5 license and are available on the Arduino Web site. Layout and production files for some versions of the Arduino hardware are also available. The source code for the IDE is available and released under the GNU General Public License, version 2.

Although the hardware and software designs are freely available under copyleft licenses, the developers have requested that the name "Arduino" be exclusive to the official product and not be used for derivative works without permission. The official policy document on the use of the Arduino name emphasizes that the project is open to incorporating work by others into the official product. Several Arduino-compatible products commercially released have avoided the "Arduino" name by using "-duino" name variants.

 

 

GETTING STARTED

 

 

Introduction: What Arduino is and why you'd want to use it.

 

Installation: Step-by-step instructions for setting up the Arduino software and connecting it to an Arduino Uno, Mega2560, Duemilanove, Mega, or Diecimila.

 

 

Environment: Description of the Arduino development environment and how to change the default language.

 

Libraries: Using and installing Arduino libraries.

 

Troubleshooting: Advice on what to do if things don't work.

 

 

Instructions for other boards:

 

 

 

CONTACTS

 

For comments or questions regarding Arduino  use one of the following methods. If you are unsure, the forum is probably the best place to start: http://arduino.cc/forum

 

Frequently asked questions (FAQ) about their products is a good place to start.

 

SUPPORT - The Arduino forum (http://arduino.cc/forum/) is the best place to get help with your project, or to ask questions when you're just starting out with Arduino.

 

If you're not sure which is the appropriate board, use the “project guidance” section: http://arduino.cc/forum/index.php?board=3.0

 

If you own an official Arduino board and you believe it is defective, please email support@arduino.cc

specifying the model, serial number, version of the operating system you use and version of the Arduino software.

 

REPORT A BUG - If you’ve found a bug in the Arduino software, check if it's already known by looking at http://github.com/arduino/Arduino/issues, and if it's not known, add it to the list.

 

ARDUINO DEVELOPERS - The “Developers” mailing list (https://groups.google.com/a/arduino.cc/forum/?fromgroups#!forum/developers) is a technical discussion of ongoing development of the Arduino IDE and firmware. The focus is on how to maintain and improve the core API and IDE and the features thereof.

 

If you’re looking for the Arduino source code see https://github.com/arduino

 

TEACHERS MAILING LIST - If you are interested in discussing issues related to using Arduino in education, please subscribe to the “Teachers” mailing list:

 

https://groups.google.com/a/arduino.cc/forum/?fromgroups#!forum/teachers. This list is open to anyone interested in this topic, not just to professional educators.

 

MEDIA ENQUIRIES - If you’re a member of the press looking for information about Arduino or looking to book an interview, direct your enquiry to press@arduino.cc

 

EVENTS - If you would like to invite Arduino to an event or a conference please contact events@arduino.cc

 

DISTRIBUTION ENQUIRIES - For information on becoming a distributor of Arduino boards contact: distribution@arduino.cc

 

TRADEMARKS - If you are interested in licensing the Arduino trademark read this page.

 

BUSINESS PROPOSALS - If you would like to propose a partnership or a business deal involving Arduino please email bizdev@arduino.cc

 

 

 

 

 

Arduino Videos

 

 

 

ARDUINO - ARM HOLDINGS  - BEAGLEBOARD - MBED - PCBS - PICAXE - RASPBERRY PI 

 

 

 

LINKS

 

raspberry computer (open source)

picaxe microcontroller (open source)

http://www.picaxe.com/What-is-PICAXE/

http://3drobotics.com/

http://wiring.org.co/

http://www.arduino.cc/

http://www.designboom.com/technology/arduino-factory-tour/

http://www.raspberrypi.org/

http://www.python.org/

http://www.youtube.com/user/RaspberryPiTutorials

http://fishpi.org/contact.html

http://fishpi.org/forum/

http://rockblock.rock7mobile.com/

http://www.oceanbusiness.com/

https://code.google.com/p/raspy-juice/

http://www.yellowbrick-tracking.com/

http://fishpi.org/wiki/index.php?title=The_Proof-Of-Concept_Vehicle

http://fishpi.org/wiki/index.php?title=The_Prototype

http://fishpi.org/wiki/index.php?title=Hull_Design

http://www.modelsbydesign.co.uk/

http://www.raspberrypi.org/

http://international.findmespot.com/

http://www.amsat.org/

http://en.wikipedia.org/wiki/Composite_material#Autoclave_moulding

http://www.enecomitalia.com/ENG/caravans.html

Arduino

http://en.wikipedia.org/wiki/RobotC

 

 

 

 

 

 

 

This website is Copyright © 2015 Bluebird Marine Systems Limited.   The names Bluebird™, SeaVax™, SeaNet™, and the blue bird in flight logo are trademarks. All other trademarks are hereby acknowledged. The color blue is a protected element of the mark.

 

  Bluebird trademark legend, blue bird in flight logoBluefish flying fish autonomous robotic ships navigation system