Есть такой чудесный пластик . Размягчается при 60 градусах, лепится руками как пластилин, застыв становится твёрдым, прочным и классным. Можно посверлить, подрезать, а обрезки снова нагреть и вылепить что-нибудь ещё. А можно и всё сооружение переплавить. И так пока не надоест.
Здесь упоминалось, что Arduino//Freeduino можно программировать не только на -е, но и на других языках программирования.
Попробуем разобраться как это можно сделать — написать программу на обычном С/C++.
Для этого воспользуемся компилятором WinAVR.
— это интегрированная среда разработки; она включает мощные компиляторы Си и ассемблера, программатор AVRDUDE, отладчик, симулятор и множество других вспомогательных программ и утилит.
Скачать WinAVR можно на странице проекта:
однако, в комплекте Arduino IDE уже идёт WinAVR (\hardware\tools\avr\), поэтому можно воспользоваться им.
Лично мне, в очень не хватает отладчика – с этим обязательно нужно что-нибудь сделать :)
Но ведь уже существуют пакеты для разработки электронных устройств от схемы до печатной платы.
Например, замечательная программа – :
— PROTEUS может симулировать несколько МК в одном устройстве (AVR, PIC, Motorola, ARM)
— в поставку PROTEUS входит очень много моделей компонентов.
— можно симулировать любые электронные устройства и не содержащие МК
Т.о. если нужно проверить какую-нибудь идею или вариант реализации – можно не искать детали, а просто «собрать» схему в PROTEUS-е и посмотреть как она будет работать :)
Настало время попробовать поработать с :)
Для начала, возьмём обычную кнопку и соберём такую простую схему:
как видно – это просто дополненная схема -а :)
Теперь о том, почему я так загонялся на тему сбоев при прошивке.
Дело в том что в памяти атмеги есть ячейки отвечающие за параметры конфигурации всего МК — фьюз-биты.
Бутлоадер, как уже упоминали, прошивается в через . Значит, если собрались делать ардуину сами, всё-таки придётся собрать простенький программатор. Чтоб прошить бутлоадер из под ArduinoIDE (а так проще всего) необходим программатор под названием DAPA.
Ну чтож попробуем соберём…
На официальном сайте пишут: "...is programmed using the Arduino programming language (based on Wiring)". Фактически — нет никакого особого языка программирования и программы пишутся на C/C++, а компилируются и собираются с помощью широко известного avr-gcc (в версии для Windows — ).
Все особенности сводятся к тому, что имеется набор библиотек, включающий в себя некоторые функции (вроде pinMode) и объекты (вроде Serial), а при компиляции Вашей программы среда разработки создает временный .cpp файл, в который кроме Вашего кода включается еще несколько строчек, и полученный результат скармливается компилятору а затем линковщику с нужными параметрами.
Для примера, рассмотрим стандартный тестовый скетч ()
Раз уж заикнулись, что можно сделать в домашних условиях, надо делать!
Версий печатных плат ардуино достаточно много и в основном они предназначены для заводского изготовления – мелкие расстояния между дорожками, куча межслойных переходов, а то и вообще 4 слоя. Ну а для наколенного изготовления специально разработана “Arduino Single-Sided Serial Board”. Это полностью ардуино-совместимая плата т.е. в неё можно смело втыкать разнообразные , и столь же смело втыкать её в комп – ArduinoIDE будет с ней работать.