Changes

Jump to: navigation, search

Arduino

15,759 bytes added, 14:12, 27 June 2018
Created page with "'''Home * Hardware * Arduino''' FILE:Arduino Mega.jpg|border|right|thumb| Arduino Mega <ref>Image by [http://www.flickr.com/people/36749491@N00 David Mel..."
'''[[Main Page|Home]] * [[Hardware]] * Arduino'''

[[FILE:Arduino Mega.jpg|border|right|thumb| Arduino Mega <ref>Image by [http://www.flickr.com/people/36749491@N00 David Mellis], July 12, 2010, hosted at [https://en.wikipedia.org/wiki/Flickr Flickr], [https://en.wikipedia.org/wiki/Arduino Arduino from Wikipedia]</ref> ]]

'''Arduino''', (due to a legal dispute, since 2015 it is known as '''Genuino''' outside the [https://en.wikipedia.org/wiki/United_States United States] <ref>[https://en.wikipedia.org/wiki/Arduino Arduino from Wikipedia]</ref>)<br/>
a family of [https://en.wikipedia.org/wiki/Open-source_hardware open-source hardware] [https://en.wikipedia.org/wiki/Single-board_microcontroller single-board microcontrollers] based on the [https://en.wikipedia.org/wiki/Atmel Atmel] 8-bit [https://en.wikipedia.org/wiki/Atmel_AVR AVR] [https://en.wikipedia.org/wiki/Reduced_instruction_set_computing RISC] chips <ref>[http://arduino.cc/en/Guide/HomePage Arduino - Getting Started]</ref> . 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 <ref>[http://arduino.cc/en/Main/Products Arduino - Products]</ref> . Some shields communicate with the Arduino board directly over various pins, but many shields are individually addressable via an [https://en.wikipedia.org/wiki/I%C2%B2C I²C] [https://en.wikipedia.org/wiki/Serial_communication serial] [https://en.wikipedia.org/wiki/Bus_%28computing%29 bus], allowing many shields to be stacked and used in parallel <ref>[https://en.wikipedia.org/wiki/Arduino Arduino from Wikipedia]</ref> .

This page focuses on two boards with concrete computer chess applications.
<span id="UNO"></span>
=Arduino Uno=
The '''Arduino Uno''' is based on the 8-bit [https://en.wikipedia.org/wiki/ATmega328 ATmega328] running at 16 MHz with 32 KiB [https://en.wikipedia.org/wiki/In-system_programming ISP] [https://en.wikipedia.org/wiki/Flash_memory Flash memory] with read-while-write capabilities, 1 KiB [[Memory#ROM|EEPROM]], and 2 KiB [[Memory#RAM|SRAM]]. It has 14 digital input/output pins and six [https://en.wikipedia.org/wiki/Analog-to-digital_converter analog inputs] and [https://en.wikipedia.org/wiki/USB USB connection].
<span id="MEGA"></span>
=Arduino Mega=
The 2009 released '''Arduino Mega''' uses the 8-bit ATmega1280 <ref>[http://www.atmel.com/devices/atmega1280.aspx Atmel - ATmega1280]</ref> , also running at 16 MHz, but with 128 KiB of Flash memory which 4 KiB used by [https://en.wikipedia.org/wiki/Booting bootloader], 8 KiB SRAM, and 4 KiB EEPROM. Arduino Mega has 54 digital input/output pins, 16 analog inputs, 4 [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter UARTs], and USB connection. Its 2010 successor, the '''Arduino Mega 2560''' <ref>[https://store.arduino.cc/arduino-mega-2560-rev3 Arduino Mega 2560 Rev3]</ref> features the more advanced ATmega2560 <ref>[http://www.microchip.com/wwwproducts/en/atmega2560 ATmega2560 - 8-bit AVR Microcontrollers]</ref> with 256 KiB Flash memory.

=Development=
Arduino provides an [https://en.wikipedia.org/wiki/Integrated_development_environment integrated development environment] running on a host computer, supporting the [[C]]/[[Cpp|C++]] based Arduino language <ref>[http://arduino.cc/en/Reference/HomePage Arduino - Reference]</ref> . Software written using Arduino language are called sketches, and undergoes minor changes like automatic generation of function prototypes during the build process, and then passed directly to a [https://en.wikipedia.org/wiki/GNU_Compiler_Collection C/C++ compiler]. All standard C and C++ constructs supported by AVR-g++ should work in Arduino. Alternatively, one may compile programs for the Arduino using AVR development tools, which requires configuration to link against the appropriate files in the Arduino core libraries <ref>[http://arduino.cc/en/Main/FAQ Arduino - FAQ]</ref> .

=Computer Chess=
Arduino controllers are suitable to build a [[Dedicated Chess Computers|dedicated chess computer]] - to control a self-made [[Sensory Board|sensory board]] <ref>[http://www.chess.fortherapy.co.uk/ Arduino & Raspberry PI Chess Computer ] running [[Stockfish]] on [[Raspberry Pi]], by [[Max Dobres]]</ref>, or even to run small chess programs.

==Chess Programs==
[[Micro-Max]] by [[Harm Geert Muller]] was aleady ported for the [https://en.wikipedia.org/wiki/Atmel Atmel]-[https://en.wikipedia.org/wiki/ATmega88 ATmega88] by [[Andre Adrian]] <ref>[http://www.andreadrian.de/schach/#Selbstbau_Schachcomputer_SHAH Self-made Chess Computer SHAH] based on an [https://en.wikipedia.org/wiki/Atmel Atmel]-[https://en.wikipedia.org/wiki/ATmega88 ATmega88] [https://en.wikipedia.org/wiki/Microcontroller Microcontroller] and Micro-Max-port by [[Andre Adrian]] (German)</ref> , and is also available as ''ATM18 mini chess computer'' <ref>[http://www.elektor.com/magazines/2009/september/atm18-mini-chess-computer.1041342.lynkx ATM18 Mini Chess Computer] from [http://www.elektor.com/elektor-uk.35.lynkx ELEKTOR.com – Platform for electronics and microcontrollers]</ref> from the electronics magazine [https://en.wikipedia.org/wiki/Elektor Elektor]. [[Óscar Toledo Gutiérrez|Óscar Toledo Gutiérrez']] program [[Toledo|Toledo Nanochess]] seems appropriate for the Arduino boards as well <ref>[http://www.mikrocontroller.net/topic/208206 Nanochess auf avr] by Sam, [http://www.mikrocontroller.net/forum/gcc Mikrocontroller.net GCC Forum], February 11, 2011 (German)</ref> . Otherwise, for '''Uno''' and '''Mega''', there are some more chess programs available, dedicated and [https://en.wikipedia.org/wiki/Emulator emulated].

===Little Rook Chess===
[[Little Rook Chess]] by [[Oliver Kraus]] is a chess game for using the Arduino '''Uno''' with a dedicated [[User Interface|user interface]] realized with an Electronic Assembly DOG [https://en.wikipedia.org/wiki/Liquid-crystal_display LCD module] <ref>[http://www.lcd-module.com/products/dog.html ELECTRONIC ASSEMBLY : LCD DOG series, flexibe, flat and colorful]</ref> and button shield. Little Rook Chess is part of the ''u8glib library'' (Universal 8bit Graphics Library) <ref>[https://github.com/olikraus/u8glib/wiki/little_rook_chess little_rook_chess · olikraus/u8glib Wiki · GitHub]</ref> under the terms of the [https://en.wikipedia.org/wiki/BSD_licenses new bsd license] <ref>[https://github.com/olikraus/u8glib/blob/master/license.txt u8glib/license.txt at master · olikraus/u8glib · GitHub]</ref>.

===MicroChess===
''Obsolescence Guaranteed'' <ref>[http://obsolescence.wix.com/obsolescence Obsolescence Guaranteed Home]</ref> has ported the original [[6502]] [[MicroChess]], wrapped in a 6502 emulator, to the Arduino <ref>[http://obsolescenceguaranteed.blogspot.ch/2014/06/6502-microchess-on-arduino.html 6502 Microchess on an Arduino]</ref>. A further development is the ''KIM Uno'' <ref>[http://obsolescence.wix.com/obsolescence#!kim-uno-summary/chcm KIM Uno]</ref>, a calculator-sized [[KIM-1]] replica with MicroChess built in. Both projects are open source software/hardware using the MicroChess source code (which is available but not open source) with permission from [[Peter Jennings]].

===Myopic===
[[Myopic]] by [[Steven Edwards]] is suited for the Arduino '''Mega''', written in [[Cpp|C++]] and released under the [https://en.wikipedia.org/wiki/Creative_Commons_license Creative Commons license] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=34445 Myopic, a new Creative Commons chess program] by [[Steven Edwards]], [[CCC]], May 22, 2010</ref> .

==Chess Robot==
The [[Robots#CRAP|Arduino Due Chess Robot]] is a self build [[Sensory Board|sensory board]] with robot arm by [[Chris Quayle]] as a hobby project - powered by an Arduino '''Due''' and incorporating [[Micro-Max]] by [[Harm Geert Muller]] as chess AI.
<span id="SquareOff"></span>
==Square Off==
[[Square Off]], the [[Dedicated Chess Computers|dedicated]] [[Robots|robot]] [[Sensory Board|sensory board]] features an [[#MEGA|Arduino Mega]] with [https://en.wikipedia.org/wiki/Atmel_AVR ATmega 2560] chip to control the piece moving two axis [https://en.wikipedia.org/wiki/Robotic_arm robotic arm], to detect piece movement, and to communicate with a [https://en.wikipedia.org/wiki/Smartphone smartphone] via [https://en.wikipedia.org/wiki/Bluetooth Bluetooth] <ref>[https://blog.arduino.cc/2016/10/17/square-off-is-a-chess-board-with-a-high-tech-twist/ Arduino Blog » Square Off is a chess board with a high-tech twist], October 17, 2016</ref>.

==Analog Evaluation==
Reading the 10-bit [https://en.wikipedia.org/wiki/Analog-to-digital_converter analog-to-digital converter], adequately supplied by a [[Score|score]] voltage of a [https://en.wikipedia.org/wiki/Noise_%28electronics%29 noisy] [[Analog Evaluation|analog]] [[Evaluation|leaf evaluation]] with some discrete [https://en.wikipedia.org/wiki/Analogue_electronics analog circuits] and [https://en.wikipedia.org/wiki/Operational_amplifier op-amps] takes about 100 microseconds and is likely too slow for that interesting application <ref>[http://arduino.cc/en/Reference/AnalogRead Arduino - AnalogRead]</ref> .

=See also=
* [[Dedicated Chess Computers]]
* [[pcDuino]]
* [[PIC Microcontroller]]
* [[Raspberry Pi]]
* [[Sensory Board]]
* [[UDOO]]

=Forum Posts=
* [http://forum.arduino.cc/index.php/topic,47769.0.html Arduino on Linux] by erich, [http://forum.arduino.cc/ Arduino Forum], October 11, 2005
* [http://forum.arduino.cc/index.php?topic=8330.0 Chess for the Arduino] by [[Steven Edwards|chessplayer]], [http://forum.arduino.cc/ Arduino Forum], December 06, 2009 » [[Myopic]]
* [http://www.talkchess.com/forum/viewtopic.php?t=34445 Myopic, a new Creative Commons chess program] by [[Steven Edwards]], [[CCC]], May 22, 2010 » [[Myopic]]
* [http://www.mikrocontroller.net/topic/208206 Nanochess auf avr] by Sam, [http://www.mikrocontroller.net/forum/gcc Mikrocontroller.net GCC Forum], February 11, 2011 (German)
* [http://forum.arduino.cc/index.php?PHPSESSID=648umgfcdcm48s18muh43kb731&topic=50524.msg468770#msg468770 Re: Graphic LCD shield with EA DOGS102W display] by [[Oliver Kraus]], [http://forum.arduino.cc/ Arduino Forum], June 18, 2011
* [http://forum.6502.org/viewtopic.php?f=8&t=2343 My Arduino-Based 6502 Simulation/Emulation...thing?] by halkun, [http://forum.6502.org/ 6502.org Forum], November 26, 2012
* [http://www.vintage-computer.com/vcforum/showthread.php?43229-KIM-Uno-a-KIM-1-emulator-on-an-Arduino-Uno KIM Uno: a KIM-1 emulator on an Arduino Uno] by Oscar, [http://www.vintage-computer.com/vcforum/forum.php?s=95696db15561250b61c9f1ac4b458693 Vintage Computer Forum], June 21, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=53305 Poll: Arduino Uno Tournament] by David Eather, [[CCC]], August 15, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=58517 Chess Mate Arduino chess computer via Hackaday] by [[Steven Edwards]], [[CCC]], December 08, 2015 <ref>[https://hackaday.io/project/8705-chess-mate Chess Mate] • [https://en.wikipedia.org/wiki/Hackaday#Hackaday.io Hackaday.io]</ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=64823 My chess robot project using Micromax chess on Arduino] by [[Chris Quayle]], [[CCC]], August 06, 2017 » [[Robots#CRAP|Arduino Due Chess Robot]]

=External Links=
==Arduino==
* [http://arduino.cc/ Arduino - HomePage]
: [http://arduino.cc/en/Main/ArduinoBoardUno Arduino Board Uno]
: [http://arduino.cc/en/Main/ArduinoBoardDue Arduino Board Due]
: [https://store.arduino.cc/arduino-mega-2560-rev3 Arduino Mega 2560]
* [https://en.wikipedia.org/wiki/Arduino Arduino from Wikipedia]
* [https://en.wikipedia.org/wiki/List_of_Arduino_boards_and_compatible_systems List of Arduino boards and compatible systems from Wikipedia]
* [http://www.grappendorf.net/arduino Arduino / Atmel AVR] by [http://www.grappendorf.net/ Dirk Grappendorf]
* [http://cosinekitty.com/arduino.html Arduino microcontroller projects] by [[Don Cross]]

==Computer Chess==
* [http://www.chess.fortherapy.co.uk/ Arduino & Raspberry PI Chess Computer] running [[Stockfish]] on [[Raspberry Pi]], by [[Max Dobres]] » [[Sensory Board]]
* [http://code.google.com/p/dogm128/wiki/chess Little Rook Chess - Library for the Dogm-Graphics-LCD modules (AVR, Arduino compatible) - Google Project Hosting], by [[Oliver Kraus]]
: [http://code.google.com/p/dogm128/source/browse/libraries/Dogm/utility/chess.c chess.c - dogm128 - Library for the Dogm-Graphics-LCD modules (AVR, Arduino compatible) - Google Project Hosting]
* [http://pcbheaven.com/opendir/index.php?show=193ih3156lxbbd90dc9 Use this Open Source Lib to play Chess with Arduino] by [http://pcbheaven.com/opendir/index.php?author=Giorgos%20Lazaridis Giorgos Lazaridis], [http://www.pcbheaven.com/ PCB Heaven], October 14, 2014 » [[Micro-Max]]
* [https://sites.google.com/site/chessuino/ Chessuino] by [[Diego Cueva]], based on [[Micro-Max]] by [[Harm Geert Muller]], ported for the [https://en.wikipedia.org/wiki/Atmel Atmel]-[https://en.wikipedia.org/wiki/ATmega88 ATmega88] by [[Andre Adrian]]
: CHESSuino = Chess + Arduino, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: {{#evu:https://www.youtube.com/watch?v=f0ZtvIRbMrg|alignment=left|valignment=top}}
* Wireless Arduino Powered Chess, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: {{#evu:https://www.youtube.com/watch?v=dX37LFv8jWY|alignment=left|valignment=top}}
* [https://forum.arduino.cc/index.php?topic=490965.0 Arduino Due Chess Robot] by [[Chris Quayle]] » [[Robots#CRAP|Arduino Due Chess Robot]]
* [https://blog.arduino.cc/2016/10/17/square-off-is-a-chess-board-with-a-high-tech-twist/ Arduino Blog » Square Off is a chess board with a high-tech twist], October 17, 2016 » [[Square Off]]

==Development==
* [http://arduino.cc/en/Guide/HomePage Getting Started with Arduino]
* [http://arduino.cc/en/Guide/Environment Arduino Development Environment]
: [http://arduino.cc/en/Hacking/BuildProcess Arduino - BuildProcess]
: [http://arduino.cc/en/Main/FAQ Arduino - FAQ]
: [http://arduino.cc/en/Reference/HomePage Arduino - Reference]
: [http://arduino.cc/en/Tutorial/HomePage Arduino - Tutorials]
* [http://www.atmel.com/microsite/atmel_studio6/ Atmel® Studio 6 - Supporting Two Architectures: AVR and ARM, with One Integrated Studio - Overview]
* [http://www.nongnu.org/avrdude/ AVRDUDE - AVR Downloader/UploaDEr]

===[[Assembly]]===
* [https://sites.google.com/site/avrasmintro/ AVR ASM INTRODUCTION]
* [http://www.avr-asm-tutorial.net/ AVR-Assembly Tutorial] by [http://www.dg4fac.de/ Gerhard Schmidt]
===[[C]], [[Cpp|C++]]===
* [http://www.nongnu.org/avr-libc/ AVR Libc Home Page]
* [http://winavr.sourceforge.net/ WinAVR GCC]
* [http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin The AVR Eclipse Plugin - AVR-Eclipse]
* [http://interactive-matter.eu/how-to/developing-software-for-the-atmel-avr-with-avr-eclipse-avr-gcc-avrdude/ Developing Software for the Atmel AVR with AVR-Eclipse, AVR-GCC & AVRDude — Interactive Matter Lab]
* [https://github.com/grappendorf/arduino-eclipse grappendorf/arduino-eclipse · GitHub] by [http://www.grappendorf.net/ Dirk Grappendorf]
===[[Java]]===
* [http://www.harbaum.org/till/nanovm/index.shtml The NanoVM - Java for the AVR]
* [https://java.net/projects/nbplugin-avr Netbeans plugin for AVR microcontrollers — Project Kenai]

==Misc==
* [https://en.wikipedia.org/wiki/Arduino_%28disambiguation%29 Arduino (disambiguation) from Wikipedia]
* [https://en.wikipedia.org/wiki/Arduinna Arduinna (goddess) from Wikipedia]
* [https://en.wikipedia.org/wiki/394_Arduina 394 Arduina (asteroid) from Wikipedia]

=References=
<references />

'''[[Hardware|Up one Level]]'''

Navigation menu