Arduino
Arduino — это аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, которое выполняется на компьютере (к примеру, SuperCollider, Pure Data, Max/MSP, Processing, Adobe Flash). Рассылаемые в настоящее время версии могут быть заказаны уже распаянными. Информация об устройстве платы (рисунок печатной платы) находится в открытом доступе и может быть использована теми, кто предпочитает собирать платы самостоятельно. Микроконтроллеры ATmega328 дёшевы и стоят около 10$.
Проект Arduino был удостоен почётного упоминания при вручении призов Prix Ars Electronica 2006 в категории Digital Communities.
Описание платформы
Аппаратная часть
Плата Arduino включает в себя микроконтроллер Atmel AVR (ATmega8 в старых версиях и ATmega168 или ATmega328 в новых), а также элементов обвязки для программирования и интеграции с другими схемами. На многих платах присутствует линейный стабилизатор напряжения +3,3В или +5В. Тактирование осуществляется на частоте 8 МГц или 16 МГц или при помощи кварцевого резонатора (в некоторых версиях керамический резонатор). В микроконтроллер предварительно прошивается загрузчик BootLoader, поэтому внешний программатор не нужен.
Программное обеспечение
Интегрированная среда разработки Arduino представляет собой кроссплатформенное приложение на Java, которое включает в себя компилятор, редактор кода, а также модуль передачи прошивки в плату. Среда разработки основывается на языке программирования Processing и спроектирована для программирования новичками, которые близко не знакомы с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC. Существует полный русский перевод языка Arduino, предназначенный для преодоления языкового барьера при распространении платформы по России.