<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8944086625767573647</atom:id><lastBuildDate>Fri, 25 May 2012 06:22:20 +0000</lastBuildDate><category>Microsoft</category><category>Калькуляторы</category><category>ArduinoIDE</category><category>Книги</category><category>проекты в Eagle</category><category>LCD</category><category>DFU</category><category>Palm</category><category>MK-90</category><category>ЛУТ</category><category>СМП</category><category>Tutorials</category><category>Молоток.ру</category><category>пресса</category><category>Shell</category><category>DS18B20</category><category>Arduino</category><category>Инструменты</category><category>LaunchPad</category><category>Processing</category><category>Kits</category><category>Software</category><category>Программатор</category><category>Freeduino One</category><category>РК-86</category><category>Android</category><category>Печатные платы</category><category>V-USB</category><category>Arduino Shield</category><category>Eagle</category><category>Датчики</category><category>Freeduino Mega2560</category><category>Ethernet</category><category>lol</category><category>ArduinoMega</category><category>Arduino 1.0 libs</category><category>jtag</category><category>Новости</category><category>Шилд-платы</category><category>Arduino Uno</category><category>Проекты Arduino</category><category>Freeduino</category><category>ChipTester</category><category>FT232RL</category><category>ArduinoCompatible</category><category>1-wire</category><category>Servo</category><category>MKBoard</category><category>Tools</category><category>МК-85</category><category>Начинающим</category><category>Hardware</category><category>AVR</category><category>optiboot</category><category>Freeduino 32u4</category><category>Температура</category><category>ИМ-03</category><category>ThisBlogRelated</category><category>Linuxcenter.ru</category><category>plc</category><category>ATmegaU</category><title>Arduino, MK-90 и другие</title><description>Программирование Arduino, оживление микроэвм Электроника МК-90, аппаратный хакинг.</description><link>http://mk90.blogspot.com/</link><managingEditor>noreply@blogger.com (id)</managingEditor><generator>Blogger</generator><openSearch:totalResults>264</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mk90" /><feedburner:info uri="mk90" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-5080815196650791857</guid><pubDate>Tue, 22 May 2012 11:23:00 +0000</pubDate><atom:updated>2012-05-22T15:23:54.958+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Новости</category><category domain="http://www.blogger.com/atom/ns#">ArduinoIDE</category><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><title>ArduinoIDE 1.0.1</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-coSlJcmm314/T7twaf_l_mI/AAAAAAAAGLs/z0_YmnajdIw/s1600/logo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 2em; margin-right: 2em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-coSlJcmm314/T7twaf_l_mI/AAAAAAAAGLs/z0_YmnajdIw/s1600/logo.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Несмотря на весьма скромное приращение версии, проделана значительная работа. Я бы картко выделил четыре момента:&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;интернационализация;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;официальная поддержка Leonardo;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;встроенный тулчейн (Linux);&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;багофиксы.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Теперь мы все, наконец, сможем общаться с ArduinoIDE на родном и могучем:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-hxDfpMKzpEs/T7twaXfmoqI/AAAAAAAAGMA/k769pDEsUV8/s1600/screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-hxDfpMKzpEs/T7twaXfmoqI/AAAAAAAAGMA/k769pDEsUV8/s1600/screenshot.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Пользователи Linux получили в составе дистрибутива avr-gcc тулчейн. Таким образом, все проблемы, которые я подробно описывал в статье&amp;nbsp;&lt;a href="http://mk90.blogspot.com/2012/03/arduinoide-ubuntu-1110.html"&gt;ArduinoIDE в Ubuntu 11.10&lt;/a&gt;, благополучно решены.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Официально вышел &lt;b&gt;Leonardo&lt;/b&gt;:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-xREmIWTNUsI/T7twasZyAJI/AAAAAAAAGLw/pMqLvjG9dvo/s1600/Leonardo1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-xREmIWTNUsI/T7twasZyAJI/AAAAAAAAGLw/pMqLvjG9dvo/s600/Leonardo1.jpg" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
(этому событию будет посвящен отдельный, подробный пост)&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Изменения в языке Wiring&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;механизм неявного управления подтягивающими резисторами, наконец-то стал более явным - если указать в функции &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;pinMode&lt;/span&gt; новый режим &lt;b&gt;INPUT_PULLUP&lt;/b&gt;, они будут подключены. А вот старый режим &lt;b&gt;INPUT&lt;/b&gt; однозначно их отключает;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;в класс Stream добавлены функции, возвращающие результаты в виде класса String - &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;readString()&lt;/span&gt; и &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;readStringUntil()&lt;/span&gt;;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;библиотека&amp;nbsp;поддержки I2C теперь способна на работу в режиме "repeated start" - &lt;a href="http://mk90.blogspot.com/2009/03/repeated-start-arduino.html"&gt;очень-очень давно&lt;/a&gt; это были первые же грабли, на которые я сам наступил при работе с ней. Теперь у &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;endTransmission&lt;/span&gt; и &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;requestFrom&lt;/span&gt; добавился параметр, управляющий этим режимом, но совместимость с прежним&amp;nbsp;синтаксисом&amp;nbsp;сохранена. &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Усовершенствования в ArduinoIDE&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;при компиляции скетча пересобираются только те исходники, которые менялись (реально ускоряет процесс компиляции);&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;можно отключить верификацию скетча после загрузки - раньше он в обязательном порядке прочитывался и сравнивался с оригинальным файлом, так что загрузка должна ускориться ровно в два раза;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;шрифты&amp;nbsp;в окне последовательного монитора теперь меняются (подобно окну редактирования);&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Самые важные, на мой взгляд, исправления касаются Ethernet (о них я как-то упоминал в &lt;a href="http://mk90.blogspot.com/2012/02/ethernet-arduinoide-10.html"&gt;этом&lt;/a&gt; посте) и работы скетча-программатора &lt;b&gt;ArduinoISP&lt;/b&gt;. &amp;nbsp;В ядро Arduino добавлена поддержка для &lt;b&gt;ATmega1284P&lt;/b&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Порадовало и то, что просматривается тенденция больше времени уделять вопросам совместимости с предыдущими версиями. Было бы неразумно недооценивать один из весомых факторов популярности Arduino - внушительное количество библиотек и скетчей, написанных энтузиастами и доступными для использования всем желающим ;)&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Полный список изменений можно увидеть на &lt;a href="http://code.google.com/p/arduino/issues/list?can=1&amp;amp;q=milestone%3D1.0.1&amp;amp;colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&amp;amp;cells=tiles" target="_blank"&gt;Google Code&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-5080815196650791857?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/Br3V3TQhqwE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/Br3V3TQhqwE/arduinoide-101.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-coSlJcmm314/T7twaf_l_mI/AAAAAAAAGLs/z0_YmnajdIw/s72-c/logo.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/05/arduinoide-101.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-8212446902985589350</guid><pubDate>Thu, 17 May 2012 13:51:00 +0000</pubDate><atom:updated>2012-05-17T17:51:46.751+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Новости</category><category domain="http://www.blogger.com/atom/ns#">пресса</category><category domain="http://www.blogger.com/atom/ns#">Начинающим</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">Книги</category><title>Вторая книга по Arduino на русском</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;
&lt;a href="http://goo.gl/9IFvx"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-q3SXGxuyAGg/T7T_di66TOI/AAAAAAAAGLM/uSSeUw3qTu8/s400/%25D0%2590%25D1%2580%25D0%25B4%25D1%2583%25D0%25B8%25D0%25BD%25D0%25BE+%25D0%25B4%25D0%25BB%25D1%258F+%25D0%25BD%25D0%25B0%25D1%2587%25D0%25B8%25D0%25BD%25D0%25B0%25D1%258E%25D1%2589%25D0%25B8%25D1%2585+%25D0%25B2%25D0%25BE%25D0%25BB%25D1%2588%25D0%25B5%25D0%25B1%25D0%25BD%25D0%25B8%25D0%25BA%25D0%25BE%25D0%25B2.jpg" width="251" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Скоро нас ожидает выход &lt;a href="http://goo.gl/9IFvx"&gt;Getting Started with Arduino на русском языке&lt;/a&gt; - самой первой книги про Arduino, автором которой является сам Massimo, в переводе&lt;a href="http://goo.gl/JqWDg"&gt;&amp;nbsp;Михаила Райтмана&lt;/a&gt;&amp;nbsp;(судя по отзывам, его переводы выполнены довольно качественно).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Книга будет полезна для начинающих знакомство с Arduino, быть может даже musthave. Но если на чистоту, момент выпуска упущен года на четыре. Текст книги, равно как и русский перевод, давно уже гуляет по просторам интернета, не говоря о том, что бесплатный сокращенный вариант изначально доступен свободно.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
В русском переводе книга приобрела название "Arduino для начинающих &amp;nbsp;волшебников".&amp;nbsp;Есть пара смутивших меня моментов - изменена оригинальная обложка и убрана ссылка на&amp;nbsp;издательство&amp;nbsp;&lt;b&gt;O'Relly&lt;/b&gt; (интересно, &lt;a href="http://ru.wikipedia.org/wiki/%D0%9E%E2%80%99%D0%A0%D0%B5%D0%B9%D0%BB%D0%BB%D0%B8,_%D0%A2%D0%B8%D0%BC"&gt;Тим&lt;/a&gt; в курсе?) - и это при полном (!) &lt;u&gt;дублировании оглавления&lt;/u&gt; (интересно, Массимо в курсе? ;)&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Если кто-то сомневается, что это &lt;i&gt;&lt;a href="http://goo.gl/bVc4e" target="_blank"&gt;та самая&lt;/a&gt; книга&lt;/i&gt; - добытый мной текст оглавления под катом, у кого есть оригинал - можно сравнить. Я особых отличий не нашел.&lt;/div&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="text-align: -webkit-auto;"&gt;&lt;span style="font-size: large;"&gt;Arduino для начинающих волшебников&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Предисловие&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Благодарности&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Как связаться с нами&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Глава 1. Введение&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Целевая аудитория&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Что такое аппаратное моделирование?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Глава 2. Концепция Arduino&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Моделирование&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Тинкеринг&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Метод последовательных преобразований&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Метод коротких замыканий&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Взлом клавиатуры&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Мне нравятся свалки!&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Куклу - на вскрытие!&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Сотрудничество&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Глава 3. Платформа Arduino&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Аппаратные средства Arduino&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Программное обеспечение (IDE)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Инсталляция Arduino&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Установка драйверов: Macintosh&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Установка драйверов: Windows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Идентификация портов: Macintosh&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Идентификация портов: Windows&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Глава 4. Пора приступать к работе с Arduino&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Анатомия интерактивного устройства&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Датчики и исполнительные механизмы&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Включение светодиода в режиме мигания&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Передайте мне пармезан, пожалуйста&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Arduino не для лодырей&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Фанаты тинкеринга всегда пишут комментарии&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Программный код, шаг за шагом&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Что мы создадим?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Что такое электричество?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Использование кнопки для управления&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;светодиодом&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Как это работает?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Тысяча вариантов поведения одной электрической&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;цепи&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Глава 5. Усовершенствованные вход и выход&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Пробуем датчики включения/выключения&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Управление светом с помощью&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;широтно-импульсной модуляции&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Светочувствительный элемент вместо кнопки&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Аналоговый вход&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Пробуем другие аналоговые датчики&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Связь по последовательному интерфейсу&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Управление значительными нагрузками&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;(электродвигателями,&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;лампочками и другими устройствами)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Комплексные датчики&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Глава б. Там, за облаками&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Планирование&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Программный код&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Сборка схемы&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Порядок сборки схемы&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Глава 7. Поиск и устранение неполадок&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Осмысление&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Тестирование платы&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Тестирование схемы, собранной на макетной плате&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Изолирование проблем&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Проблемы с интегрированной средой разработки&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: -webkit-auto;"&gt;Помощь в Интернете&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Приложение А. Макетная плата&lt;/span&gt;&lt;br /&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Приложение Б. Маркировка резисторов и&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="text-align: -webkit-auto;"&gt;конденсаторов&lt;/span&gt;&lt;br /&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Приложение В. Краткий справочник по Arduino&lt;/span&gt;&lt;br /&gt;
&lt;span style="text-align: -webkit-auto;"&gt;Приложение Г. Чтение принципиальных схем&lt;/span&gt;&lt;br /&gt;
&lt;span style="text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-8212446902985589350?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/ECYj3HTgAYQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/ECYj3HTgAYQ/arduino.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-q3SXGxuyAGg/T7T_di66TOI/AAAAAAAAGLM/uSSeUw3qTu8/s72-c/%25D0%2590%25D1%2580%25D0%25B4%25D1%2583%25D0%25B8%25D0%25BD%25D0%25BE+%25D0%25B4%25D0%25BB%25D1%258F+%25D0%25BD%25D0%25B0%25D1%2587%25D0%25B8%25D0%25BD%25D0%25B0%25D1%258E%25D1%2589%25D0%25B8%25D1%2585+%25D0%25B2%25D0%25BE%25D0%25BB%25D1%2588%25D0%25B5%25D0%25B1%25D0%25BD%25D0%25B8%25D0%25BA%25D0%25BE%25D0%25B2.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/05/arduino.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-5185240032075904212</guid><pubDate>Wed, 02 May 2012 09:00:00 +0000</pubDate><atom:updated>2012-05-02T13:00:01.696+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ArduinoIDE</category><category domain="http://www.blogger.com/atom/ns#">Программатор</category><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><category domain="http://www.blogger.com/atom/ns#">AVR</category><title>Анонс</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
По многочисленным просьбам читателей &lt;a href="http://www.blogger.com/profile/02978806262597964800"&gt;Artem Volk&lt;/a&gt; обновил свою статью&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;a href="http://mk90.blogspot.com/2011/01/arduino-3-atmega8a-bootloader.html"&gt;Минимальный клон Arduino за $3 на ATmega8A с модифицированным bootloader'ом&lt;/a&gt;, специально осветив моменты, касающиеся последних изменений в ArduinoIDE 1.0 и дополнив новым вариантом клона, уже за $3.5 :)&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-5185240032075904212?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/ZOt3EE5LAW0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/ZOt3EE5LAW0/blog-post.html</link><author>noreply@blogger.com (id)</author><thr:total>0</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/05/blog-post.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-1656967890787599627</guid><pubDate>Wed, 04 Apr 2012 11:17:00 +0000</pubDate><atom:updated>2012-04-04T15:22:20.608+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Freeduino 32u4</category><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><category domain="http://www.blogger.com/atom/ns#">Проекты Arduino</category><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">Книги</category><category domain="http://www.blogger.com/atom/ns#">Arduino 1.0 libs</category><title>Freeduino wireless (1)</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Однажды мне повезло выкроить время на посещение мероприятия &lt;a href="http://hackspace-spb.ru/hard_startup.html" target="_blank"&gt;Hard StartUp&lt;/a&gt; в рамках нашего провинциального &lt;a href="http://hackspace-spb.ru/" target="_blank"&gt;hackspace&lt;/a&gt;. Сам я от выступления категорически отказался под предлогом бессистемного расстройства вокабулярия&amp;nbsp;к концу рабочего дня, но послушал выступающих с интересом; явно бросалось в&amp;nbsp;глаза, что докладчики испытывали недостаток в пульте дистанционного управления презентацией: приходилось просить листать слайды сидящего за ноутбуком человека.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Ясно, что &lt;strike&gt;радиокружок&lt;/strike&gt; хакспейс выруливает в основном за счет энтузиазма его активистов и базы ИТМО, и у ребят просто могло отсутствовать нужное оборудование. Уверен, что это было не последнее их мероприятие с проведением презентаций, поэтому предлагаю свой Arduino-вариант аналогичного устройства - надеюсь, оно пригодится не только им.&lt;/div&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Ингредиенты&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Сначала создадим &lt;i&gt;прототип&lt;/i&gt; - из того, что найдется под рукой. Мне всегда несколько проще, потому что у меня под рукой целый&amp;nbsp;&lt;a href="http://mk90.ru/store"&gt;mk90.ru/store&lt;/a&gt;&amp;nbsp;;)&lt;/div&gt;
&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://mk90.ru/store/ru/microcontrollers/145-freeduino-32u4.html" target="_blank"&gt;&lt;img border="1" src="http://1.bp.blogspot.com/-F_BUgQ8zuk0/T3vxPpsITbI/AAAAAAAAGDs/o7-8jPqAkzE/s160/freeduino32u4-r2-side.jpg" /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;&lt;div style="text-align: justify;"&gt;
1. Плата &lt;a href="http://mk90.ru/store/ru/microcontrollers/145-freeduino-32u4.html" target=""&gt;Freeduino32u4&lt;/a&gt; - содержит единственный чип &lt;b&gt;ATmega32u4&lt;/b&gt;, который может изображать из себя клавиатуру, и поэтому именно ее мы будем подключать к компьютеру с презентацией;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://mk90.ru/store/ru/microcontrollers/81-freeduino-nano.html" target="_blank"&gt;&lt;img border="1" src="http://4.bp.blogspot.com/-6g4oI1fu7uE/T3vxjZJcALI/AAAAAAAAGD0/j3axb9qgTPU/s160/installing_jrs_2.jpg" /&gt;
&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;div style="text-align: justify;"&gt;
2. Плата &lt;a href="http://mk90.ru/store/ru/microcontrollers/81-freeduino-nano.html" target=""&gt;Freeduino Nano&lt;/a&gt; - будет находиться в руке у докладчика, считывая нажатия на кнопки прокрутки и передавая их Freeduino 32u4;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://mk90.ru/store/ru/17-prototipizatsija" target="_blank"&gt;&lt;img border="1" src="http://3.bp.blogspot.com/-cFCz7sZQ_54/T3vx7MMX0JI/AAAAAAAAGEE/U8ArGV81Ppo/s160/pic1a.jpg" /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;&lt;div style="text-align: justify;"&gt;
3. Кнопки, проводки и пара &lt;a href="http://mk90.ru/store/ru/17-prototipizatsija" target=""&gt;беспаечных макеток&lt;/a&gt;, чтобы не хвататься за паяльник по пустякам.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://mk90.ru/store/ru/radiomoduli/144-komplekt-rf-moduley-433-mgts.html" target="_blank"&gt;&lt;img border="1" src="http://1.bp.blogspot.com/-3z6_Lq0WTCg/T3vybJZe1pI/AAAAAAAAGEM/abGuC26nbiQ/s160/pic1.png" /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;&lt;div style="text-align: justify;"&gt;
4. Комплект &lt;a href="http://mk90.ru/store/ru/radiomoduli/144-komplekt-rf-moduley-433-mgts.html" target=""&gt;модулей беспроводной связи&lt;/a&gt; - наверное, самые дешевые устройства для передачи низкоскоростного информационного потока через эфир для небольших расстояний.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Немного теории&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Прежде всего, вот заранее мой ответ фанатикам&amp;nbsp;&amp;nbsp;&lt;a href="http://ru.wikipedia.org/wiki/IEEE_802.11"&gt;IEEE 802.11&lt;/a&gt;,&amp;nbsp;на вопрос&amp;nbsp;"почему в списке нет wifi?!":&amp;nbsp;&lt;i&gt;не палите из пушки по микробам&lt;/i&gt;! В нашей задаче не нужна маршрутизация, одновременная коммуникация между несколькими устройствами и повышенная проникающая способность радиоизлучения. Нас устроят гораздо более простые устройства&amp;nbsp;&amp;nbsp;- т.н. RF-трансиверы. В основном, они отличаются мощностью, несущей частотой и способом модуляции. Возьмем недорогой маломощный модуль, используемый в самоходных радиоуправляемых игрушках и работающий на нелицензируемой в России частоте&amp;nbsp;&lt;b&gt;433 МГц&lt;/b&gt;, с&amp;nbsp;модуляцией&amp;nbsp;&lt;b&gt;ASK.&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
"&lt;a href="http://en.wikipedia.org/wiki/Amplitude-shift_keying"&gt;ASK&lt;/a&gt;" означает, что&amp;nbsp;&lt;i&gt;частота и фаза&lt;/i&gt;&amp;nbsp;сигнала остаются&amp;nbsp;&lt;i&gt;постоянными&lt;/i&gt;, а для кодирования единицы и нуля&amp;nbsp;&lt;i&gt;варьируется амплитуда&lt;/i&gt;. Подобные приемники и передатчики можно собрать и самостоятельно, подробнее об этом можно прочесть, например у Алексея Кравченко в книге &lt;a href="http://goo.gl/0sk89" target="_blank"&gt;"10 практических устройств на &amp;nbsp;AVR, книга 2"&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Однако, слабые места такого решения тоже выглядят внушительно:&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;два передатчика, работающие на одной несущей частоте, будут&amp;nbsp;конфликтовать, мешая друг другу;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;приемник не имеет возможности отличить посылку от одного передатчика от посылки другого - надо позаботиться об идентификации программным способом;&amp;nbsp;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;сильная подверженность помехам, радиус действия зависит от питающего напряжения;&amp;nbsp;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;практически нулевая безопасность, шифрование аппаратно не поддерживается.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Что-то решается программно, что-то - схемотехнически, но самое&amp;nbsp;главное - такие приемопередатчики поддерживаются ArduinoIDE с помощью специальной библиотеки &lt;a href="http://www.open.com.au/mikem/arduino/" target="_blank"&gt;VirtualWire&lt;/a&gt;.&lt;/div&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Схема&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Рисуем схему, которая будет подключаться к USB:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-AKlYZbk7Awk/T3wm8YJbO3I/AAAAAAAAGEc/O5ZMvYpYkgY/s1600/receiver.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="http://2.bp.blogspot.com/-AKlYZbk7Awk/T3wm8YJbO3I/AAAAAAAAGEc/O5ZMvYpYkgY/s400/receiver.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
И ту, которая в руке у лектора (с кнопочками):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-I5pTV2ttC64/T3wkt5dTXhI/AAAAAAAAGEU/lOKmz_2uLLo/s1600/transmitter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://1.bp.blogspot.com/-I5pTV2ttC64/T3wkt5dTXhI/AAAAAAAAGEU/lOKmz_2uLLo/s400/transmitter.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Предполагаем пока, что обе платы питаются от компьютера, через USB.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style="font-size: large;"&gt;Макет&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Как бы не ругали беспаечную макетку за надежность контактов, на несложных схемах&amp;nbsp;работать&amp;nbsp;с ней весьма удобно. Я использую сочетание жестких и гибких проводов (вообще, это дело вкуса - гибкими быстрее, но менее наглядно). С платой 32u4:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-sgtyxvYGpqw/T3vvH47B5CI/AAAAAAAAGDY/t4gz-QRySmQ/s1600/pic-freeduino-32u4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-sgtyxvYGpqw/T3vvH47B5CI/AAAAAAAAGDY/t4gz-QRySmQ/s600/pic-freeduino-32u4.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
С платой Freeduino Nano:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-C_QRrgkoybY/T3vvcNAxR7I/AAAAAAAAGDg/KsDnAF2lVUc/s1600/pic-freeduino-nano.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-C_QRrgkoybY/T3vvcNAxR7I/AAAAAAAAGDg/KsDnAF2lVUc/s600/pic-freeduino-nano.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Кнопки устанавливать я поленился, выбрав в качестве имитации их нажатия втыкание проводка в дырочку рядом с соответствующим контактом Nano (естественно, другим концом провод воткнут в GND).&lt;/div&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Скетчи&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Как уже упоминалось, существует библиотека &lt;a href="http://www.open.com.au/mikem/arduino/VirtualWire.pdf" target="_blank"&gt;VirtualWire&lt;/a&gt;. Она будет делать за нас всю нудную работу - не только управлять приемником и передатчиком, но и кодировать наше сообщение помехоустойчивым кодом, а также считать/проверять контрольную сумму всего сообщения. Выбирая пины Arduino-совместимой платы для подключения приемника и передатчика, я вполне сознательно выбрал те, с которыми&amp;nbsp;библиотека&amp;nbsp;работает по умолчанию (помните об этом, если будете менять схему - не забудьте передать соответствующие параметры библиотеке).&lt;/div&gt;
&lt;br /&gt;
Скетч &lt;b&gt;передатчика&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;#include&amp;nbsp;&amp;lt;VirtualWire.h&amp;gt;

#define&amp;nbsp;buttonsCount&amp;nbsp;&amp;nbsp;3
&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; bState[buttonsCount];
&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; bNum[buttonsCount] = {2,3,4};

&lt;span style="color: #cc6600;"&gt;void&lt;/span&gt; &lt;span style="color: #cc6600;"&gt;&lt;b&gt;setup&lt;/b&gt;&lt;/span&gt;() {
&amp;nbsp;&amp;nbsp;&lt;span style="color: #7e7e7e;"&gt;// buttons&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;for&lt;/span&gt; (&lt;span style="color: #cc6600;"&gt;byte&lt;/span&gt; i=0;i&amp;lt;buttonsCount;i++) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bState[i]&amp;nbsp;=&amp;nbsp;&lt;span style="color: #006699;"&gt;HIGH&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;pinMode&lt;/span&gt;(bNum[i],&lt;span style="color: #006699;"&gt;INPUT&lt;/span&gt;); &lt;span style="color: #7e7e7e;"&gt;// для ясности, после сброса все пины и так уже входы&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;digitalWrite&lt;/span&gt;(bNum[i],&lt;span style="color: #006699;"&gt;HIGH&lt;/span&gt;); &lt;span style="color: #7e7e7e;"&gt;// pullup&lt;/span&gt;
&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&lt;span style="color: #7e7e7e;"&gt;// инициализируем последовательный порт - только для отладки&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;&lt;b&gt;Serial&lt;/b&gt;&lt;/span&gt;.&lt;span style="color: #cc6600;"&gt;begin&lt;/span&gt;(9600);
&amp;nbsp;&amp;nbsp;&lt;span style="color: #7e7e7e;"&gt;// инициализируем библиотеку VirtualWire&lt;/span&gt;
&amp;nbsp;&amp;nbsp;vw_setup(2000);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #7e7e7e;"&gt;// скорость обмена в бит/сек&lt;/span&gt;
}

&lt;span style="color: #cc6600;"&gt;void&lt;/span&gt; &lt;span style="color: #cc6600;"&gt;&lt;b&gt;loop&lt;/b&gt;&lt;/span&gt;() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;for&lt;/span&gt;  (&lt;span style="color: #cc6600;"&gt;byte&lt;/span&gt; i=0;i&amp;lt;buttonsCount;i++) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;if&lt;/span&gt; (&lt;span style="color: #cc6600;"&gt;digitalRead&lt;/span&gt;(bNum[i])!=bState[i]) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;if&lt;/span&gt; (bState[i] == &lt;span style="color: #006699;"&gt;HIGH&lt;/span&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;char&lt;/span&gt; key[2] = {i+1,&lt;span style="color: #006699;"&gt;'\0'&lt;/span&gt;}; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vw_send((uint8_t&amp;nbsp;*)key,&amp;nbsp;strlen(key));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vw_wait_tx();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bState[i]&amp;nbsp;=&amp;nbsp;&lt;span style="color: #006699;"&gt;LOW&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style="color: #cc6600;"&gt;else&lt;/span&gt; bState[i] = &lt;span style="color: #006699;"&gt;HIGH&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;delay&lt;/span&gt;(100);
}
&lt;/pre&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Перед началом использования кнопок, в &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;setup&lt;/span&gt; включаем подтягивающие резисторы (зачем нужны подтягивающие резисторы, я уже &lt;a href="http://mk90.blogspot.com/2010/07/wiring-5.html"&gt;писал&lt;/a&gt;). Далее, сканируем изменение состояния кнопки и, если она перешла из состояния "свободна" в "нажато", генерируем и передаем через беспроводной модуль сообщение с номером кнопки (единственный байт со значением 1, 2 или 3). Задержка в конце - примитивная борьба с дребезгом.&lt;/div&gt;
&lt;br /&gt;
Скетч &lt;b&gt;приемника&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;#include&amp;nbsp;&amp;lt;VirtualWire.h&amp;gt;

#define&amp;nbsp;KEY_LEFT&amp;nbsp;80
#define&amp;nbsp;KEY_RIGHT&amp;nbsp;79
#define&amp;nbsp;KEY_ESC&amp;nbsp;41
#define&amp;nbsp;KEY_F5&amp;nbsp;62


&lt;span style="color: #cc6600;"&gt;void&lt;/span&gt; &lt;span style="color: #cc6600;"&gt;&lt;b&gt;setup&lt;/b&gt;&lt;/span&gt;() {
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;pinMode&lt;/span&gt;(13, &lt;span style="color: #006699;"&gt;OUTPUT&lt;/span&gt;); &lt;span style="color: #7e7e7e;"&gt;// для индикации приема&lt;/span&gt;
&amp;nbsp;&amp;nbsp;vw_setup(2000);&amp;nbsp;&lt;span style="color: #7e7e7e;"&gt;// скорость обмена в бит/сек &lt;/span&gt;
&amp;nbsp;&amp;nbsp;vw_rx_start();&amp;nbsp;&amp;nbsp;&lt;span style="color: #7e7e7e;"&gt;// инициализация и запуск приемника&lt;/span&gt;
}

&lt;span style="color: #cc6600;"&gt;void&lt;/span&gt; &lt;span style="color: #cc6600;"&gt;&lt;b&gt;loop&lt;/b&gt;&lt;/span&gt;() {  
&amp;nbsp;&amp;nbsp;uint8_t&amp;nbsp;buf[VW_MAX_MESSAGE_LEN];
&amp;nbsp;&amp;nbsp;uint8_t&amp;nbsp;buflen&amp;nbsp;=&amp;nbsp;VW_MAX_MESSAGE_LEN;

&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;if&lt;/span&gt; (vw_get_message(buf, &amp;amp;buflen)) &lt;span style="color: #7e7e7e;"&gt;// неблокирующее чтение&lt;/span&gt;
&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;digitalWrite&lt;/span&gt;(13, &lt;span style="color: #006699;"&gt;HIGH&lt;/span&gt;); &lt;span style="color: #7e7e7e;"&gt;// Зажигаем светодиод L - принято сообщение  &lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;byte&lt;/span&gt; key = buf[0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;if&lt;/span&gt; (key==1) Keyboard.&lt;span style="color: #cc6600;"&gt;print&lt;/span&gt;(&lt;span style="color: #006699;"&gt;' '&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;else&lt;/span&gt; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyReport&amp;nbsp;kbd&amp;nbsp;=&amp;nbsp;{0};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;if&lt;/span&gt; (key==2) kbd.keys[0] = KEY_LEFT;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;else&lt;/span&gt; kbd.keys[0] = KEY_RIGHT;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Keyboard.sendReport(&amp;amp;kbd);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyReport&amp;nbsp;kbd&amp;nbsp;=&amp;nbsp;{0};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Keyboard.sendReport(&amp;amp;kbd);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;digitalWrite&lt;/span&gt;(13, &lt;span style="color: #006699;"&gt;LOW&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;delay&lt;/span&gt;(200); 
}

&lt;/pre&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Этот скетч будет корректно работать (и вообще скомпилируется) только с последним пропатченным &lt;a href="http://mk90.ru/files/source/freeduino32u4-1.0.tar.gz"&gt;ядром ArduinoIDE для Freeduino 32u4&lt;/a&gt; - там функция &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;sendReport&lt;/span&gt; сделана публичной, чтобы скетч был способен генерировать нажатия не только на символьные клавиши (буква 'A', цифра '8' или пробел), но и управляющие коды - (стрелки, F-клавиши и т.п.). После вызова &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;sendReport&lt;/span&gt; с кодом нажатой клавиши, нужно всегда делать еще один, чтобы сообщить о ее отпускании, в противном случае через некоторое время получим режим повтора.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
В данном скетче кнопка №1 транслируется в пробел, кнопка №2 - стрелка влево, кнопка №3 - стрелка вправо. Функция &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;vw_get_message&lt;/span&gt; вернет нам полученное сообщение только в том случае, если совпала подсчитанная контрольная сумма - но для нас это полностью прозрачно, просто учитывайте, что она избавляет нас от необходимости проверять достоверность принятой информации с точки зрения эфирных искажений нашего примитивного ASK-сигнала ;)&lt;/div&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Roadmap&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Итак, макет завелся. Что дальше?&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Устройства для реальной жизни можно делать и на основе готовых плат Freeduino, и с помощью ЛУТ-а. Но&amp;nbsp;имейте ввиду, что &lt;b&gt;ATmega32u4&lt;/b&gt; выпускается &lt;i&gt;только&lt;/i&gt; в SMD (в отличие от ATmega328P).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
По питанию приемника все понятно - экономить не надо. А вот с передатчиком придется повозиться - продумать батарейную схему питания, позаботиться об экономном расходовании ее ресурса.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Наконец, если будут донимать помехи, можно попробовать улучшить помехоустойчивость (повторять сообщение о нажатии в эфир несколько раз или припаять антеннки).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Все это вы уже можете начинать&amp;nbsp;самостоятельно&amp;nbsp;или же подождать моего продолжения, &lt;strike&gt;если &lt;/strike&gt;когда оно появится ;)


&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-1656967890787599627?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/DjEvN33Ne5g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/DjEvN33Ne5g/freeduino-wireless-1.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-F_BUgQ8zuk0/T3vxPpsITbI/AAAAAAAAGDs/o7-8jPqAkzE/s72-c/freeduino32u4-r2-side.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/04/freeduino-wireless-1.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-8826163099501363290</guid><pubDate>Thu, 29 Mar 2012 09:31:00 +0000</pubDate><atom:updated>2012-05-14T01:06:53.759+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Eagle</category><category domain="http://www.blogger.com/atom/ns#">Software</category><title>Запуск EagleCAD 6.1.0</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Многие пользователи Linux, пытавшиеся установить &lt;a href="http://www.cadsoftusa.com/" target="_blank"&gt;Eagle CAD&lt;/a&gt; шестой версии, были остановлены неожиданной зависимостью от весьма свежей версии библиотеки &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;libpng&lt;/span&gt; - например, в моей Ubuntu 11.10 максимальная версия - 1.2.x, однако "орел" потребовал не ниже 1.4.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
На разгневанные вопросы юзеров разработчики системы снисходительно ответили что - да, зависимость имеет место быть, и некоторые дистрибутивы еще не успели включить в свой состав эту версию. Стоит отметить, что дополнительные неприятности любителям компилять все самостоятельно доставляет то, что Eagle поставляется без исходников и только в 32-битной версии.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Как заставить работать &lt;b&gt;EagleCAD&lt;/b&gt; на &lt;b&gt;Ubuntu 11.10&lt;/b&gt; &lt;b&gt;x64&lt;/b&gt; обычному рядовому юзеру? Вот простой рецепт, позволяющий не расчехлять компилятор:&lt;/div&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;Ищем нужный пакет в репозиториях Slackware:&amp;nbsp;&lt;a href="http://slackware.osuosl.org/slackware-current/slackware/l/"&gt;slackware.osuosl.org/slackware-current/slackware/l/&lt;/a&gt;. На текущий момент здесь наблюдается&amp;nbsp;&lt;a href="http://slackware.osuosl.org/slackware-current/slackware/l/libpng-1.4.9-i486-1.txz"&gt;libpng-1.4.9-i486-1.txz&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;div style="text-align: justify;"&gt;
Устанавливаем специальный пакет &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;alien&lt;/span&gt;, позволяющий в debain-базирующихся системах устанавливать "вражеские" пакеты других систем:&lt;/div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;div style="text-align: justify;"&gt;
sudo apt-get install alien&lt;/div&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;div style="text-align: justify;"&gt;
Переименовываем скачанный .txz в .tgz:&lt;/div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;div style="text-align: justify;"&gt;
mv &amp;nbsp;libpng-1.4.9-i486-1.txz&amp;nbsp;libpng-1.4.9-i486-1.tgz&lt;/div&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;div style="text-align: justify;"&gt;
Запускаем процесс конвертации в .deb:&lt;/div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;div style="text-align: justify;"&gt;
sudo alien&amp;nbsp;libpng-1.4.9-i486-1.tgz&lt;/div&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;div style="text-align: justify;"&gt;
Устанавливаем полученный пакет в систему:&lt;/div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;div style="text-align: justify;"&gt;
sudo dpkg -i&amp;nbsp;libpng_1.4.9-2_all.deb&lt;/div&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align: justify;"&gt;
Теперь все готово для установки свежей версии Eagle, в которой теперь все файлы должны иметь открытый формат XML; готовые схемы с разводками можно изящным движением мышки интегрировать в свой проект; можно делать собственные контекстные меню и многое другое.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Более подробно о возможностях новой версии можно прочесть &lt;a href="http://www.cadsoftusa.com/eagle-pcb-design-software/new-in-v6/" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-8826163099501363290?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/OIAy7KtjYtg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/OIAy7KtjYtg/eaglecad-610.html</link><author>noreply@blogger.com (id)</author><thr:total>2</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/03/eaglecad-610.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-2648464865839223589</guid><pubDate>Thu, 15 Mar 2012 10:25:00 +0000</pubDate><atom:updated>2012-03-21T14:30:40.213+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ArduinoIDE</category><category domain="http://www.blogger.com/atom/ns#">Tutorials</category><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">AVR</category><title>ArduinoIDE в Ubuntu 11.10</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
К сожалению, дистрибутив ArduinoIDE для Linux не включает в себя сам компилятор gcc (или, если быть более точным, его порт для AVR, &lt;b&gt;avr-gcc&lt;/b&gt;). С одной стороны - это хорошо, поскольку дистрибутив становится меньше. С другой стороны - плохо, потому что произвольные сочетания версий компонентов компилятора могут давать существенные "вывихи" и генерить &amp;nbsp;&lt;a href="http://mk90.blogspot.com/2012/02/ethernet-arduinoide-10.html" target="_blank"&gt;неверный код&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Например, после апдейта своей Ubuntu до &lt;b&gt;11.10&lt;/b&gt;, я обнаружил у себя такие версии:&lt;/div&gt;
&lt;div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;binutils-avr: 2.20.1&lt;/li&gt;
&lt;li&gt;gcc-avr: 4.5.3&lt;/li&gt;
&lt;li&gt;avr-libc: 1.7.1&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
В то время как в комплекте с ArduinoIDE 1.0 для Windows, который и поныне можно &lt;a href="http://arduino.cc/en/Main/Software" target="_blank"&gt;скачать на сайте arduino.cc&lt;/a&gt;, версии выглядят более консервативно:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;binutils-avr: 2.19&lt;/li&gt;
&lt;li&gt;gcc-avr: 4.3.2&lt;/li&gt;
&lt;li&gt;avr-libc: 1.6.4&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Что с этим делать и как бороться?...&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Самый радикальный способ - скомпилировать собственный avr-toolchain. Если вы никогда этого не делали - советую поставить g++ и попробовать ;) Тем более, что ничего сложного нет, все подробно описано&amp;nbsp;&lt;a href="http://www.nongnu.org/avr-libc/user-manual/install_tools.html" target="_blank"&gt;тут&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.mbeckler.org/microcontrollers/avrgcc_build/" target="_blank"&gt;тут&lt;/a&gt;&amp;nbsp;и для любителей великого и могучего -&amp;nbsp;&lt;a href="http://easyelectronics.ru/avr-toolchain-svoimi-rukami.html" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Горькая правда состоит в том, что даже с учетом прочтения вышеуказанных материалов -&amp;nbsp;дьявол, как всегда,&amp;nbsp;кроется в мелочах.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Допустим, мы задались задачей получения toolchain-а, аналогичного Windows-версии ArduinoIDE 1.0. Там используется последняя (на момент написания статьи и, похоже, вообще последняя - см. об этом ниже) версия &lt;a href="http://winavr.sourceforge.net/" target="_blank"&gt;WinAVR&lt;/a&gt; с тегом 'WinAVR-20081205'. Соответственно - надо заполучить указанные в файле &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;WinAVR-user-manual.txt&lt;/span&gt; версии исходных кодов &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;binutils&lt;/span&gt;, &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;gcc-avr&lt;/span&gt; и&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; avr-libc&lt;/span&gt;, а затем скомпилировать и наслаждаться результатом.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Это выглядит почти правдой. "Почти" - потому что в итоге мы лишимся поддержки Mega2560, ADK и Leonardo - компилятор не будет ничего знать про ATmega2560 и ATmega32u4. Поэтому, чтобы получить по-настоящему аутентичный toolchain, на исходные тексты потребуется наложить некоторое количество патчей от WinAVR, которые "включат" &amp;nbsp;поддержку новых устройств и пофиксят некоторое количество ошибок. Если это еще не запугало вас окончательно, то приступим (пошагово).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-size: large;"&gt;Переменные окружения&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Ставить&amp;nbsp;результат компиляции следует в отдельный каталог - например, создав его в домашнем:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ cd &amp;amp;&amp;amp; mkdir avr432 &amp;amp;&amp;amp; cd avr432&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ export PREFIX=/home/user/avr432&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
По умолчанию, команда &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;make install&lt;/span&gt; копирует результат компиляции в корень файловой системы, безжалостно перетирая существующие файлы.&amp;nbsp;Переменная окружения&amp;nbsp;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;PREFIX&lt;/span&gt;&amp;nbsp;служит для того, чтобы изменить этот путь, еще на стадии запуска скрипта &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;configure&lt;/span&gt; (см. ниже).&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ export&amp;nbsp;CXXFLAGS=-w&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ export LDFLAGS=-w&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ export CFLAGS=-w&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Может случиться так, что текущая версия вашего компилятора &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;gcc&lt;/span&gt; настолько критично относится к предупреждениям, что трактует даже неиспользованные переменные как ошибки. &amp;nbsp;Однако в наши планы не входит правка кода, поэтому с помощью опции &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;-w&lt;/span&gt; объясняем компилятору, что надо закрыть&amp;nbsp;глаза&amp;nbsp;на все эти "безобразия".&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ export PATH=$PREFIX/bin:$PATH&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Модификация &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;PATH&lt;/span&gt; нужна для того, чтобы собирать последующие компоненты с помощью собранных на предыдущих шагах. Обратите внимание, что мы добавляем путь &lt;i&gt;&lt;u&gt;слева&lt;/u&gt;&lt;/i&gt; (в некоторых руководствах он добавлен справа!) - это важно, если у вас &lt;i&gt;уже установлен &lt;/i&gt;компилятор&amp;nbsp;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avr-gcc&lt;/span&gt;&amp;nbsp;и нет планов его удалять из системы. Поскольку поиск исполняемой программы в каталогах &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;PATH&lt;/span&gt; происходит слева направо, то, например, в нашем случае &amp;nbsp;будет найден и запущен именно &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/home/user/avr432/bin/avr-gcc&lt;/span&gt;, а не существующий &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/usr/bin/avr-gcc&lt;/span&gt;.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Патчи&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Технология применения патча - крайне проста. Для нее нужен исходный файл, файл с описанием изменений (обычно с расширением .patch) и сама утилита patch. В нашем случае каждый патч надо применять так:&lt;/div&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ patch -p0 &amp;lt; patchfile.patch&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Но сначала потребуется скачать и распаковать &lt;a href="http://winavr.cvs.sourceforge.net/viewvc/winavr/patches/" target="_blank"&gt;патчи с сайта WinAVR&lt;/a&gt;, можно прямо в&amp;nbsp;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;PREFIX&lt;/span&gt;:&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;binutils 2.19:&amp;nbsp;&lt;a href="http://winavr.cvs.sourceforge.net/viewvc/winavr/patches/binutils/2.19/?view=tar"&gt;http://winavr.cvs.sourceforge.net/viewvc/winavr/patches/binutils/2.19/?view=tar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;gcc 4.3.2:&amp;nbsp;&lt;a href="http://winavr.cvs.sourceforge.net/viewvc/winavr/patches/gcc/4.3.2/?view=tar" style="text-align: -webkit-auto;"&gt;http://winavr.cvs.sourceforge.net/viewvc/winavr/patches/gcc/4.3.2/?view=tar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;avr-libc 1.6.4:&amp;nbsp;&lt;a href="http://winavr.cvs.sourceforge.net/viewvc/winavr/patches/avr-libc/1.6.4/?view=tar"&gt;http://winavr.cvs.sourceforge.net/viewvc/winavr/patches/avr-libc/1.6.4/?view=tar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ tar -zxf winavr-2.19.tar.gz&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$&amp;nbsp;tar -xzf winavr-4.3.2.tar.gz &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$&amp;nbsp;tar -xzf&amp;nbsp;winavr-1.6.4.tar.gz&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
В образовавшихся после распаковки каталогах обнаружится довольно много патч-файлов - чтобы не усложнять процесс, мы установим лишь часть.&lt;/div&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Binutils&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Сначала придется собрать &lt;b&gt;binutils&lt;/b&gt; - низкоуровневые утилиты для манипуляции объектными файлами: ассемблер (&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avr-as&lt;/span&gt;), линкер (&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avr-ld&lt;/span&gt;), библиотекарь (&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avr-ar&lt;/span&gt; и &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avr-ranlib&lt;/span&gt;). Вместе с ними мы получим утилиту для извлечения данных из объектных файлов (&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avr-objcopy&lt;/span&gt;), дизассемблер (&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avr-objdump&lt;/span&gt;) и стриппер для удаления отладочной информации (&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avr-strip&lt;/span&gt;). Идем сюда -&amp;nbsp;&lt;a href="http://sources.redhat.com/binutils/"&gt;http://sources.redhat.com/binutils/&lt;/a&gt;, и качаем файл с соответствующей версией - на момент написания этой статьи ссылка&amp;nbsp;&lt;a href="http://ftp.gnu.org/gnu/binutils/binutils-2.19.1.tar.bz2"&gt;http://ftp.gnu.org/gnu/binutils/binutils-2.19.1.tar.bz2&lt;/a&gt; &amp;nbsp;была рабочей:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ cd $PREFIX&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ wget -c http://ftp.gnu.org/gnu/binutils/binutils-2.19.1.tar.bz2&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ tar -xjf binutils-2.19.1.tar.bz2&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ cd&amp;nbsp;binutils-2.19.1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ patch -p0 &amp;lt;../2.19/30-binutils-2.19-avr-size.patch&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ patch -p0 &amp;lt;../2.19/31-binutils-2.19-avr-coff.patch&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ patch -p0 &amp;lt;../2.19/32-binutils-2.19-new-sections.patch&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ patch -p0 &amp;lt;../2.19/33-binutils-2.19-data-origin.patch&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Теперь для удобства можно создать отдельный каталог для продуктов компиляции, откуда и запустить скрипт &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;configure&lt;/span&gt;, создающий Makefiles для нашей системы:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ mkdir obj-avr &amp;amp;&amp;amp; cd obj-avr&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ ../configure --prefix=$PREFIX --target=avr --disable-nls&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ make&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ make install&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Чтобы убедиться, что все идет правильно - проверьте, какая версия ассемблера у вас теперь запускается:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;$ avr-as --version&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;GNU assembler (GNU Binutils) 2.19.1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Copyright 2007 Free Software Foundation, Inc.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;This program is free software; you may redistribute it under the terms of&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;the GNU General Public License version 3 or later.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;This program has absolutely no warranty.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;This assembler was configured for a target of `avr'.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;AVR-GCC&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
Качаем gcc: &lt;a href="http://gcc.gnu.org/"&gt;http://gcc.gnu.org/&lt;/a&gt;, можно целиком -&amp;nbsp;&lt;a href="http://ftp.gnu.org/gnu/gcc/gcc-4.3.2/gcc-4.3.2.tar.bz2"&gt;http://ftp.gnu.org/gnu/gcc/gcc-4.3.2/gcc-4.3.2.tar.bz2&lt;/a&gt;. &amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$ cd $PREFIX&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="text-align: left;"&gt;$ wget -c&amp;nbsp;&lt;/span&gt;&lt;span style="text-align: left;"&gt;http://ftp.gnu.org/gnu/gcc/gcc-4.3.2/gcc-4.3.2.tar.bz2&lt;/span&gt;&lt;span style="text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="text-align: left;"&gt;$ tar -&lt;/span&gt;&lt;span style="text-align: left;"&gt;xjf&lt;/span&gt;&lt;span style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="text-align: left;"&gt;gcc-4.3.2.tar.bz2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="text-align: left;"&gt;$ cd&amp;nbsp;&lt;/span&gt;&lt;span style="text-align: left;"&gt;gcc-4.3.2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$ patch -p0 &amp;lt;../4.3.2/20-gcc-4.3.2-libiberty-Makefile.in.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/21-gcc-4.3.2-disable-libssp.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/23-gcc-4.3.2-ada-Makefile.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/40-gcc-4.3.2-bug-10768-by-adacore.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/41-gcc-4.3.2-bug-11259_v3.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/42-gcc-4.3.2-bug-spill-v4.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/43-gcc-4.3.2-bug-35013.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/44-gcc-4.3.2-libgcc16.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/45-gcc-4.3.2-bug-33009.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/50-gcc-4.3.2-mega256.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/51-gcc-4.3.2-mega256-additional.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/54-gcc-4.3.2-atmega32m1.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/55-gcc-4.3.2-atmega32c1.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/56-gcc-4.3.2-atmega32u4.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/57-gcc-4.3.2-attiny167.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/58-gcc-4.3.2-remove-atmega32hvb.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/59-gcc-4.3.2-attiny13a.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/60-gcc-4.3.2-atmega32u6.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/61-gcc-4.3.2-osmain.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/70-gcc-4.3.2-ada-mlib.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/71-gcc-4.3.2-ada-freestanding.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/72-gcc-4.3.2-ada-timebase.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/73-gcc-4.3.2-ada-gnat1_print_path.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/74-gcc-4.3.2-ada-optim_static_addr.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../4.3.2/75-gcc-4.3.2-builtins_v6.patch&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="text-align: left;"&gt;$ mkdir obj-avr &amp;amp;&amp;amp; cd obj-avr&lt;/span&gt;&lt;span style="text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="text-align: left;"&gt;$ .&lt;/span&gt;./configure --prefix=$PREFIX --target=avr --enable-languages=c,c++&amp;nbsp;&lt;span style="text-align: left;"&gt;--disable-nls --disable-libssp --with-dwarf2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; text-align: left;"&gt;$ make&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span style="text-align: left;"&gt;$ &lt;/span&gt;&lt;span style="text-align: left;"&gt;make install&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Проверка:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;$ avr-gcc --version&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;avr-gcc (GCC) 4.3.2&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Copyright (C) 2008 Free Software Foundation, Inc.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;This is free software; see the source for copying conditions. &amp;nbsp;There is NO&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;AVR-LibC&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Приступаем к сборке AVRLibC:&amp;nbsp;&lt;a href="http://savannah.nongnu.org/projects/avr-libc/"&gt;http://savannah.nongnu.org/projects/avr-libc/&lt;/a&gt;, качаем&amp;nbsp;&lt;a href="http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.6.4.tar.bz2"&gt;download.savannah.gnu.org/releases/avr-libc/avr-libc-1.6.4.tar.bz2&lt;/a&gt;:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ cd $PREFIX&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ wget -c&amp;nbsp;http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.6.4.tar.bz2&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ tar -zjf&amp;nbsp;avr-libc-1.6.4.tar.bz2&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ cd&amp;nbsp;avr-libc-1.6.4&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ patch -p0 &amp;lt;../1.6.4/30-avr-libc-1.6.4-dwarf2.patch&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$&amp;nbsp;patch -p0 &amp;lt;../1.6.4/31-avr-libc-1.6.4-builtins.patch&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ ./configure --prefix=$PREFIX --build=`./config.guess` --host=avr&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ make&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;$ make install&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;
После копирования замените файл /home/user/avr432/avr/include/avr/eeprom.h на &lt;a href="http://mk90.ru/files/source/eeprom.h"&gt;оригинальный&lt;/a&gt;, из дистрибутива Arduino 1.0 для Windows.&lt;br /&gt;
&lt;br /&gt;
Наконец-то! Осталось испытать результат - делаем нехитрый скрипт &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;arduino432.sh&lt;/span&gt;:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#!/bin/bash&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;export PATH=/home/user/avr432/bin:$PATH&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/full/path/to/arduino&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
(не забудьте сделать его исполняемым: &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;chmod a+x arduino.sh&lt;/span&gt;)&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-size: large;"&gt;AVR-toolchain by ATMEL&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
С недавнего времени уже и так давно не обновлявшийся &lt;b&gt;WinAVR&lt;/b&gt; был переведен в статус "заморожен", что вызвало определенное смятение в сообществе Arduino, став источником риторических вопросов о том, не пора ли уже проекту поддерживать свой собственный toolchain. Однако, неожиданно&amp;nbsp;&lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1277998302"&gt;вмешался&lt;/a&gt; ведущий проекта WinAVR:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;i&gt;WinAVR is not really going away. Yes, Atmel is releasing it's own AVR GCC toolchain... which is really just a continuation and evolution of WinAVR. I have set WinAVR as inactive, because it made no sense to me to be working on two identical projects, one of which would be in my spare time.&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
И, действительно - ведь теперь &lt;a href="http://www.atmel.com/tools/ATMELAVRTOOLCHAIN3_2_3FORLINUX.aspx" target="_blank"&gt;соответствующий раздел&lt;/a&gt; прямо на сайте ATMEL. Что там нас ждет?&lt;/div&gt;
&lt;ul&gt;
&lt;li style="text-align: justify;"&gt;binutils-avr: 2.20.1&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;gcc-avr: 4.5.1&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;avr-libc: 1.7.1&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;avr-gdb: 6.7.1&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
Идеологически, кстати, использование самой свежей &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;binutils&lt;/span&gt; очень даже логично.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
После несложной регистрации (придется указать реальный почтовый адрес, через который придет письмо с подтверждающей ссылкой) можно скачать и хидеры, и патчи, и бинарники (ура, не нужно мучиться с компиляцией). Бинарники распаковываются в отдельный каталог и подсовываются в начало $PATH по вышеописанной технологии (см. выше).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Прежде чем начать пробовать этот toolchain с Arduino, найдите файл &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;arduino-1.0/hardware/arduino/cores/arduino/Platform.h&lt;/span&gt; и добавьте в самое начало строчку:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#define __DELAY_BACKWARD_COMPATIBLE__ &amp;nbsp; 1&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Без этой добавки будет использована новая "продвинутая" реализация функции задержки &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;_delay_ms&lt;/span&gt;, которую ArduinoIDE явно не &lt;strike&gt;переваривает&lt;/strike&gt; ожидает &amp;nbsp;;)&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Кстати, если отвлечься от ArduinoIDE: несколько слов по поводу перехода с WinAVR на новый ATMEL-овский toolchain с точки зрения Makefile-ов, можно прочитать &lt;a href="http://snippets.crisp-studio.com/view/161/perenos-make-fajlov-makefile-s-winavr-na-avr-toolchain" target="_blank"&gt;здесь&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-size: large;"&gt;Вместо заключения&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Конечно, можно поворчать, что пакет arduino для Ubuntu не содержит зависимостей от номеров версий - ни в текущем, ни в тестируемом дистрибутиве. В сравнении с ним &amp;nbsp;FreeBSD смотрится более чем выгодно, там зависимости есть:&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li style="text-align: justify;"&gt;binutils-avr: 2.20.1&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;gcc-avr: 4.5.1-1&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;avr-libc: 1.8.0.1&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
Но все равно - отсутствие в комплекте дистрибутива для Linux toolchain-а для ATMEL/AVR - серьезный прокол, в первую очередь именно с точки зрения простоты использования. Чем, собственно, пользователи Linux "хуже" тех, кто сел за Windows или MAC? (вопрос, конечно, риторический). И ответить на него можно цитатой из того самого поста ведущего проекта WinAVR:&lt;/div&gt;
&lt;/div&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;i&gt;
&lt;div style="text-align: justify;"&gt;
&lt;i&gt;Almost all open source projects, including Arduino, are run by volunteers. Even though I may be at Atmel now (and have been there for a few years now), I worked on embedded systems for several years before this, and also worked on the AVR toolchain as a volunteer for quite some time. We always appreciate any sincere help on any aspect of these open source projects, even though some of the skills required may take some time to learn. &lt;b&gt;Help is always welcome&lt;/b&gt;.&lt;/i&gt;&lt;/div&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-2648464865839223589?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/sr9Sepvn3zw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/sr9Sepvn3zw/arduinoide-ubuntu-1110.html</link><author>noreply@blogger.com (id)</author><thr:total>6</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/03/arduinoide-ubuntu-1110.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-8442636347739351140</guid><pubDate>Fri, 24 Feb 2012 20:24:00 +0000</pubDate><atom:updated>2012-02-25T00:24:08.687+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Инструменты</category><category domain="http://www.blogger.com/atom/ns#">Tools</category><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">DFU</category><category domain="http://www.blogger.com/atom/ns#">Freeduino</category><category domain="http://www.blogger.com/atom/ns#">Freeduino One</category><category domain="http://www.blogger.com/atom/ns#">ATmegaU</category><category domain="http://www.blogger.com/atom/ns#">Arduino Uno</category><title>ATmegaU breakout</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
По многочисленным &amp;nbsp;&lt;strike&gt;просьбам телезрителей&lt;/strike&gt; знакомых, выпустил микроплатку (в народе - "брикаут") с &lt;b&gt;ATmega8U2&lt;/b&gt;:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-apPQKRDJ6GM/T0ehe-HS2gI/AAAAAAAAGAk/xBe1SwVPw5Y/s1600/atmegau_1big.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="356" src="http://2.bp.blogspot.com/-apPQKRDJ6GM/T0ehe-HS2gI/AAAAAAAAGAk/xBe1SwVPw5Y/s400/atmegau_1big.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Идея создания была навеяна платами &lt;a href="http://arduino.cc/en/Main/USBSerial" target="_blank"&gt;USB-Serial Light Adapter&lt;/a&gt;&amp;nbsp;от &lt;b&gt;Arduino&lt;/b&gt; и &lt;a href="http://www.sparkfun.com/products/10277" target="_blank"&gt;ATmega8U2 Breakout&lt;/a&gt; от &lt;b&gt;Sparkfun&lt;/b&gt; (в итоге за основу был выбран второй вариант).&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
С одной стороны - этот девайс с успехом заменяет&lt;a href="http://mk90.blogspot.com/2011/05/ftdi.html"&gt; FTDI friend&lt;/a&gt;, исполняя роль &lt;b&gt;USB-TTL&lt;/b&gt; конвертера для связи с целевым MCU через UART или программирования в среде ArduinoIDE. С другой - &amp;nbsp;вполне себе самостоятельная отладочная плата для &lt;b&gt;ATmega8U2&lt;/b&gt;, на которой разведены все его пины, а прошивку можно заливать через ISP6 или вообще по USB через DFU (т.е. без использования программатора).&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
Некоторые моменты, на которые хотелось бы обратить внимание:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-5JE87agSOaw/T0egRhij8_I/AAAAAAAAGAU/Yl9Vp4xp_Qs/s1600/features.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-5JE87agSOaw/T0egRhij8_I/AAAAAAAAGAU/Yl9Vp4xp_Qs/s1600/features.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;1&lt;/b&gt;. &lt;b&gt;Джампер&lt;/b&gt; выбора напряжения питания - по умолчанию установлен в +5В. Если есть желание &amp;nbsp;поработать на +3.3В, можно перепаять - однако в этом случае предельная тактовая частота по паспорту будет &lt;i&gt;ограничена&lt;/i&gt; &lt;b&gt;8 МГц&lt;/b&gt;, в результате может потребоваться переключиться &amp;nbsp;на внутреннюю калиброванную цепочку (надо менять фьюзы, &amp;nbsp;программатором);&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;2&lt;/b&gt;. &lt;b&gt;Регулятор&lt;/b&gt; +3.3В. Он нужен для питания MCU от +3.3В (см. выше) и дополнительно может выдавать его наружу через соответствующий пин - всего до 150мА. Не путайте его с внутренним регулятором ATmega8U2, который служит для формирования правильного напряжения на линиях D+/D-, когда сам MCU питается от +5В. Кстати, если уж выставили Vсс = +3.3В, этот внутренний регулятор обычно отключают - через регистр &lt;b&gt;REGCR,&lt;/b&gt;&amp;nbsp; экономя таким образом немного на энергопотреблении;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;3&lt;/b&gt;. &lt;b&gt;Предохранитель&lt;/b&gt; 500 мА, выручит вашу схему в случае короткого замыкания по питанию, а специальные &lt;b&gt;диоды&lt;/b&gt; - уберегут линии D+/D- ATmega от статического разряда.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;4&lt;/b&gt;. Гребенка выводов совместима с &lt;a href="http://mk90.blogspot.com/2011/05/ftdi.html"&gt;FTDI friend&lt;/a&gt; и вообще с &lt;a href="http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm" target="_blank"&gt;кабелями FTDI&lt;/a&gt;. Можно особо не задумываясь использовать, например, с &lt;a href="http://mk90.blogspot.com/2012/02/angelino-r2.html"&gt;Angelino&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;5&lt;/b&gt;. Кнопка сброса - с одной стороны - как обычно, замыкает RESET на GND. Однако, если в момент сброса линия DTR (она же пин PD7) была подтянута к земле - активизируется &lt;b&gt;DFU&lt;/b&gt;. По крайней мере именно так ведет себя DFU в платах Freeduino ONE и Arduino UNO - но при помощи программатора и собственной прошивки это, конечно же, можно изменить.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;6&lt;/b&gt;. &lt;b&gt;Светодиод&lt;/b&gt; STATUS, в чем-то по функциям похожий на светодиод &lt;b&gt;L&lt;/b&gt; в Arduino-совместимых платах Arduino - подключен к линии &lt;b&gt;PB4&lt;/b&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Вот так рекомендуется подключать ATmega8/168/328 к этой плате по первому варианту (в режиме конвертера USB-TTL):&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-Rxabot7GjaA/T0euVVChVoI/AAAAAAAAGA4/e9EJ9UKumIo/s1600/plugging_atmegau_to_arduino.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-Rxabot7GjaA/T0euVVChVoI/AAAAAAAAGA4/e9EJ9UKumIo/s600/plugging_atmegau_to_arduino.png" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;R2&lt;/b&gt; (подтягивает DTR к GND) - необязателен при условии, что вы не прикасаетесь к кнопке сброса на ATmegaU (и действительно - зачем прерывать работу &lt;strike&gt;вечного двигателя&lt;/strike&gt;&amp;nbsp;прошивки конвертера USB-TTL?). Небольшой резистор &lt;b&gt;R3&lt;/b&gt;, включенный последовательно в линию TX, защищает пин от перегрузки по току в случае, если его ошибочно посадили на VCC или GND с другой стороны (не забывайте - если на встречной стороне другая ATmega - такое можно&amp;nbsp;сотворить и программно).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Если в MCU уже прошит бутлоадер, схему можно соорудить хоть на беспаечной макетке, например так:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-L5pLguyUsgA/T0ewSHy35-I/AAAAAAAAGBA/6eAwwfmB6jw/s1600/atmegau_at_breadboard.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-L5pLguyUsgA/T0ewSHy35-I/AAAAAAAAGBA/6eAwwfmB6jw/s600/atmegau_at_breadboard.jpg" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
В настройках ArduinoIDE надо выставить правильный&amp;nbsp;порт и&amp;nbsp;тип платы - "Arduino Uno" &amp;nbsp;(пользователи Windows дополнительно устанавливают .inf-файл от Freeduino ONE).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Программирование через DFU можно осуществлять через &lt;a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886" target="_blank"&gt;FLIP&lt;/a&gt; или dfu-profgrammer, указывая тип MCU &lt;b&gt;at90usb82&lt;/b&gt; - именно его и заменил (с более, чем скромными усовершенствованиями) ATmega8U2.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Приобрести плату &lt;b&gt;ATmegaU&lt;/b&gt; можно &lt;a href="http://mk90.ru/store/ru/konvertery/269-atmegau.html"&gt;здесь&lt;/a&gt;, только имейте ввиду, что по умолчанию она продается в комплекте с единственной и ненапаянной вилкой ISP6, все прочие вилки или розетки вам придется выбирать дополнительно, исходя &amp;nbsp;из своих конкретных потребностей.&lt;/div&gt;
&lt;br /&gt;
Схема:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-qlrRkm0XnUg/T0exZl75tZI/AAAAAAAAGBI/6505_0cItRM/s1600/atmegau_schematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-qlrRkm0XnUg/T0exZl75tZI/AAAAAAAAGBI/6505_0cItRM/s600/atmegau_schematic.png" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Репозиторий на github, где можно получить исходники прошивки:&amp;nbsp;&lt;a href="https://github.com/a1ronzo/SparkFun-USBtoSerial"&gt;https://github.com/a1ronzo/SparkFun-USBtoSerial&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-8442636347739351140?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/L7rN925z6xI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/L7rN925z6xI/atmegau-breakout.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-apPQKRDJ6GM/T0ehe-HS2gI/AAAAAAAAGAk/xBe1SwVPw5Y/s72-c/atmegau_1big.jpg" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/02/atmegau-breakout.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-1741216377182784438</guid><pubDate>Sun, 19 Feb 2012 16:53:00 +0000</pubDate><atom:updated>2012-02-19T20:53:58.039+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Новости</category><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><category domain="http://www.blogger.com/atom/ns#">Freeduino Mega2560</category><category domain="http://www.blogger.com/atom/ns#">Freeduino</category><category domain="http://www.blogger.com/atom/ns#">ArduinoMega</category><title>Freeduino Mega 3.0.0</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
MK90 выпустил новую ревизию &lt;b&gt;Freeduino Mega2560&lt;/b&gt; (соответствует &lt;b&gt;Arduino Mega2560 R3&lt;/b&gt;), изменилось следующее:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;Разведены &lt;b&gt;четыре&lt;/b&gt; дополнительных дырки для &lt;b&gt;bit-bang&lt;/b&gt;;&lt;/li&gt;
&lt;li&gt;Колодки соответствуют &lt;b&gt;arduino pinout 1.0&lt;/b&gt;;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ATmega16u2&lt;/b&gt; в качестве контроллера USB.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-S1_KrraU73g/T0Eei9pM6WI/AAAAAAAAF_k/z23wDPspsxY/s1600/FreeduinoMega2560v3%25281%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-S1_KrraU73g/T0Eei9pM6WI/AAAAAAAAF_k/z23wDPspsxY/s600/FreeduinoMega2560v3%25281%2529.png" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Замена ATmega8u2 на ATmega16u2 добавит 8К flash для программ, расширяющих функциональность стандартной прошивки-конвертера последовательного порта - по сути, это просто приглашение к возможности реализаций ваших идей. Кроме дополнительной памяти, предлагаются и дополнительные линии ATmega8u2/16u2 (расположены на Freeduino ONE и Mega2560 одинаково):&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-_tI1OxJ6FB4/T0D1npsQxkI/AAAAAAAAF_c/ldlbw-xTJzg/s1600/bitbang-smd.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-_tI1OxJ6FB4/T0D1npsQxkI/AAAAAAAAF_c/ldlbw-xTJzg/s600/bitbang-smd.jpg" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
В последних версиях Arduino UNO и Freeduino ONE линия &lt;b&gt;DFU&lt;/b&gt; уже притянута к GND, поэтому для смены прошивки и входа в режим DFU достаточно кратковременно соединить линию сброса с землей:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-WIPE6tStXOE/T0EfO6y-gRI/AAAAAAAAF_s/B7DHGWgyI9Q/s1600/resettingmegadfu.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-WIPE6tStXOE/T0EfO6y-gRI/AAAAAAAAF_s/B7DHGWgyI9Q/s1600/resettingmegadfu.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
После этого, на шине появляется устройство &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;03eb:2ffa&lt;/span&gt;, и можно воспользоваться утилитами &lt;a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886"&gt;FLIP&lt;/a&gt; или &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;dfu-programmer&lt;/span&gt; (первая больше подойдет владельцам Windows, вторая - Linux). Далее все выглядит аналогично описанию в этой &lt;a href="http://mk90.blogspot.com/2011/06/dfu.html"&gt;статье&lt;/a&gt;, только в качестве типа MCU надо писать &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;at90usb82&lt;/span&gt;. &amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Всем скептикам, мучающимся вопросом "а зачем менять прошивку в AtmegaU?" посоветую пока этот небольшой блог:&amp;nbsp;&lt;a href="http://hunt.net.nz/users/darran/?"&gt;http://hunt.net.nz/users/darran&lt;/a&gt;. В следующих постах постараюсь осветить тему использования DFU более подробно.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Также, справедливости ради, замечу - в версиях Arduino Uno/Mega2560 R3 применена новая схема сброса:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-o7wb3C6C5io/T0Eg7wVlWsI/AAAAAAAAF_0/PurOBzLL8IE/s1600/arduinoresetR3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-o7wb3C6C5io/T0Eg7wVlWsI/AAAAAAAAF_0/PurOBzLL8IE/s1600/arduinoresetR3.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Авторы окрестили ее термином "более надежная". В принципе - да, &lt;i&gt;если&lt;/i&gt; на линии сброса присутствует некоторая емкость - диод D2 помогает быстро ее "обнулить". &amp;nbsp;Как они набрели на это гениальное усовершенствование, история умалчивает - но копировать его я пока не спешу.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
На всякий случай, еще раз повторюсь, в чем отличие Freeduino от &lt;a href="http://mk90.ru/" target="_blank"&gt;MK90&lt;/a&gt; и Arduino от &lt;a href="http://arduino.cc/" target="_blank"&gt;arduino.cc&lt;/a&gt;:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;оба резонатора Freeduino - &lt;b&gt;кварцевые&lt;/b&gt;, у Arduino резонатор основного MCU - керамический, что ухудшает точность вычисления задержек в ваших скетчах;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;у Freeduino &lt;b&gt;исключены&lt;/b&gt; все дополнительные резисторы из схем подключения обоих микроконтроллеров (последовательный 27 Ом и параллельный 1МОм), поскольку они явно &lt;b&gt;лишние&lt;/b&gt; (и потенциально вредные);&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;к стабилизатору +3.3В у Freeduino добавлен шунтирующий конденсатор, согласно типовой схеме включения, что положительно сказывается на работе шилдов и любых схем, берущих питание с колодки POWER/3V3;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;отсутствует диод в схеме сброса основного MCU.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Купить &lt;b&gt;Freeduino Mega2560&lt;/b&gt; v3.0.0 можно здесь:&amp;nbsp;&lt;a href="http://mk90.ru/store/ru/microcontrollers/50-freeduino-mega-2560.html" target="_blank"&gt;http://mk90.ru/store/ru/microcontrollers/50-freeduino-mega-2560.html&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Схема:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-PaWj6YM9VCE/T0EkGjjzasI/AAAAAAAAF_8/KFZOtPEGOFo/s1600/Schematic-FreeduinoMega2560.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-PaWj6YM9VCE/T0EkGjjzasI/AAAAAAAAF_8/KFZOtPEGOFo/s600/Schematic-FreeduinoMega2560.png" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-1741216377182784438?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/1p2zpu4lxus" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/1p2zpu4lxus/freeduino-mega-300.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-S1_KrraU73g/T0Eei9pM6WI/AAAAAAAAF_k/z23wDPspsxY/s72-c/FreeduinoMega2560v3%25281%2529.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/02/freeduino-mega-300.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-62699442029417937</guid><pubDate>Tue, 14 Feb 2012 08:37:00 +0000</pubDate><atom:updated>2012-02-14T12:37:02.363+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ArduinoIDE</category><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">Ethernet</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">Arduino 1.0 libs</category><title>Проблемы Ethernet в ArduinoIDE 1.0</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Только что столкнулся с проблемами использования Ethernet Shield на W5100 в рамках ArduinoIDE 1.0. Великолепно до этого работавшие скетчи решительно отказались работать, что меня &lt;strike&gt;привело в панику &lt;/strike&gt;слегка озадачило.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Формально, чтобы перенести скетч со "старых" ArduinoIDE 0022/0023 под 1.0, надо исправить названия классов "Server" и "Client" на "EthernetServer" и "EthernetClient" соответственно. Идеологически, классы Server и Client теперь сделаны полностью абстрактными и перенесены в ядро Arduino. И поскольку они не имеют ни одной реальной функции, библиотека должна &amp;nbsp;породить от них свой класс, "наполнив" его реальным содержимым. Думаю, делается это с прицелом на будущее, но предсказывать его пока не берусь ;)&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
К сожалению, даже после успешной компиляции, надо обязательно залить скетч и проверить его работу. Скорее всего, проблемы (если они действительно есть) вскроются сразу же - речь идет о неверном обмене с &amp;nbsp;Ethernet-чипом Wiznet W5100. Первым делом, открывайте файл&amp;nbsp;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;arduino-1.0/libraries/Ethernet/utility/w5100.h&lt;/span&gt; и ищите в нем строки:&lt;/div&gt;
&lt;br /&gt;
&lt;pre&gt;#define __SOCKET_REGISTER16(name, address)                   \
  static void write##name(SOCKET _s, uint16_t _data) {       \
    writeSn(_s, address,   _data &amp;gt;&amp;gt; 8);                      \
    writeSn(_s, address+1, _data &amp;amp; 0xFF);                    \
  }                                                          \
  static uint16_t read##name(SOCKET _s) {                    \
    uint16_t res = readSn(_s, address);                      \
    res = (res &amp;lt;&amp;lt; 8) + readSn(_s, address + 1);              \
    return res;                                              \
  }
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
Вместо них поставьте полностью аналогичные (но, удивительным образом - работающие):&lt;/div&gt;
&lt;/div&gt;
&lt;pre&gt;
&lt;/pre&gt;
&lt;pre&gt;#define __SOCKET_REGISTER16(name, address)                   \
  static void write##name(SOCKET _s, uint16_t _data) {       \
    writeSn(_s, address,   _data &amp;gt;&amp;gt; 8);                      \
    writeSn(_s, address+1, _data &amp;amp; 0xFF);                    \
  }                                                          \
  static uint16_t read##name(SOCKET _s) {                    \
    uint16_t res = readSn(_s, address);                      \
    uint16_t res2 = readSn(_s,address + 1);                     \
    res = res &amp;lt;&amp;lt; 8;                                             \
    res2 = res2 &amp;amp; 0xFF;                                         \
    res = res | res2;                                           \
    return res;                                              \
  }
&lt;/pre&gt;
&lt;pre&gt;
&lt;/pre&gt;
&lt;div&gt;
(это исправление взято отсюда:&amp;nbsp;&lt;a href="http://code.google.com/p/arduino/issues/detail?id=605" style="color: #3465a4;"&gt;http://code.google.com/p/arduino/issues/detail?id=605&lt;/a&gt;)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
В большинстве случаев это помогает; мало того - говорят, что некоторые PPA в Ubuntu уже содержат пакет "arduino" с этим патчем, но давать на них ссылки не буду - я не понимаю смысл создания пакета для программы, которая великолепно работает, будучи распакована в одну папку. Гораздо удобнее качать и ставить дистро непосредственно с arduino.cc, не мучаясь вопросами "а чой-то они там наменяли-то?!"&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Тем, у кого после вышеописанного патча все равно не заработает - рекомендую посмотреть на версию кросс-компилятора &lt;b&gt;gcc-avr&lt;/b&gt; в составе вашего дистрибутива Linux. Если это, например, 4.5.3 - причина может быть в этом, и стоит позаботиться об &lt;b&gt;откате на 4.3.2&lt;/b&gt; или создании &lt;a href="http://www.mbeckler.org/microcontrollers/avrgcc_build/"&gt;собственного окружения&lt;/a&gt;. Возможны разные варианты действий, но я пока выбрал наиболее &lt;strike&gt;тупой &lt;/strike&gt;простой - развернул в виртуальную машину под Windows дистрибутив 0023 и временно работаю в нем. И вообще - пользователям Windows в этом плане проще, поскольку хоть их дистрибутив ArduinoIDE и выглядит чрезмерно "пухленьким", в него уже включен порт avrgcc - WinAVR, что драматически повышает стабильность по сравнению с Linux, где пакет gcc-avr "приходит" вместе с дистрибутивом ОС.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Тем, кто уже начал использовать включенные в состав ArduinoIDE библиотеки DHCP, стоит обратить внимание на другой патч:&amp;nbsp;&lt;a href="http://code.google.com/p/arduino/issues/detail?id=742"&gt;http://code.google.com/p/arduino/issues/detail?id=742&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Сейчас при формировании DHCP-запроса, код из библиотеки Ethernet не совсем корректно формирует уникальное имя хоста, генерируя псевдослучайный суффикс в том числе и из "непечатных" символов: это может создавать потенциальные проблемы при работе DNS.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-62699442029417937?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/pLmPYSlHCHU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/pLmPYSlHCHU/ethernet-arduinoide-10.html</link><author>noreply@blogger.com (id)</author><thr:total>3</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/02/ethernet-arduinoide-10.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-367107324853789929</guid><pubDate>Wed, 01 Feb 2012 20:32:00 +0000</pubDate><atom:updated>2012-02-02T00:32:26.028+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Новости</category><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><category domain="http://www.blogger.com/atom/ns#">Печатные платы</category><title>Angelino R2</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Следуя моде, выпущена &lt;b&gt;Angelino R2&lt;/b&gt;&amp;nbsp;- теперь тоже с arduino 1.0 pinout:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-wXsIqo0AjHw/TymfDKV6B0I/AAAAAAAAF_I/KYVj2cQd4Bo/s1600/angelino_r2_pcb_top.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-wXsIqo0AjHw/TymfDKV6B0I/AAAAAAAAF_I/KYVj2cQd4Bo/s600/angelino_r2_pcb_top.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Отличия от &lt;a href="http://mk90.blogspot.com/2011/11/angelino-r1.html"&gt;R1&lt;/a&gt; - только в добавлении колодок SCL/SDA/IOREF и появлении аутентичных русских названий :) К сожалению, неудачно отрезался фрагмент маски, на котором была нанесена полярность и напряжение батарейного питания - пришлось сделать бумажную наклейку. По этой же причине&amp;nbsp;часть пошла в магазин в виде &lt;a href="http://mk90.ru/store/ru/pechatnye-platy/246--angelino-r2.html"&gt;печатных плат&lt;/a&gt;, а часть - в виде недорогих &lt;a href="http://mk90.ru/store/ru/microcontrollers/200-angelino-r2.html"&gt;китов&lt;/a&gt; для самостоятельной сборки с ATmega8.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-367107324853789929?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/P_ywAKEcHSk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/P_ywAKEcHSk/angelino-r2.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-wXsIqo0AjHw/TymfDKV6B0I/AAAAAAAAF_I/KYVj2cQd4Bo/s72-c/angelino_r2_pcb_top.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/02/angelino-r2.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-8966381770288104348</guid><pubDate>Sat, 28 Jan 2012 19:12:00 +0000</pubDate><atom:updated>2012-01-29T23:55:17.589+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Инструменты</category><category domain="http://www.blogger.com/atom/ns#">Программатор</category><category domain="http://www.blogger.com/atom/ns#">Tools</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><category domain="http://www.blogger.com/atom/ns#">MKBoard</category><title>MKboard в качестве программатора STK500</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
В комментах к посту про &lt;a href="http://mk90.blogspot.com/2011/11/angelino-r1.html"&gt;Angelino&lt;/a&gt; один из пользователей навел меня на интересную мысль: а действительно, как сделать из &lt;b&gt;MKBoard&lt;/b&gt; программатор для другой платы? Для стандартных Duemilanova и Uno обычно берут скетч ArduinoISP и дальше действуют в соответствии с &lt;a href="http://arduino.cc/en/Tutorial/ArduinoISP"&gt;этой инструкцией&lt;/a&gt;.&amp;nbsp;Но этот скетч совершенно не подходит для MKboard/metaboard, которые не имеют "честного" USB-порта.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Но оказывается - сделать из MKBoard &lt;b&gt;программатор&lt;/b&gt; очень даже можно, причем получается практически полноценный STK500-совместимый программатор - &lt;a href="http://www.obdev.at/products/vusb/avrdoper.html"&gt;AVR-Doper&lt;/a&gt;, который можно использовать с &lt;b&gt;AVRStudio&lt;/b&gt; (разве что без высоковольтного последовательного программирования). Для этого берете этот хекс: &lt;a href="http://mk90.ru/files/source/mkboard_avrdoper.tar.gz"&gt;mkboard_avrdoper.tar.gz&lt;/a&gt;, замыкаете джампер Upload, нажимаете на сброс и пишите:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avrdude -c usbasp -p m8 mkboard_avrdoper.hex&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
После завершения процесса вы получаете AVR-Doper в режиме HID.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Соединяйте провода с программируемой схемой, руководствуясь новым назначением пинов:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-VduaN8cseI0/TyWEO-HgmpI/AAAAAAAAF-c/VxBai_-lS_U/s1600/mkboard-as-doper.jpg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-VduaN8cseI0/TyWEO-HgmpI/AAAAAAAAF-c/VxBai_-lS_U/s1600/mkboard-as-doper.jpg.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Для программирования достаточно соединить MKBoard и программируемую плату (target) согласно этой таблице:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border="1" style="text-align: justify;"&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;MKBoard&lt;/th&gt;&lt;th&gt;Target&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;RESET&lt;/td&gt;&lt;td&gt;RESET&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;MOSI&lt;/td&gt;&lt;td&gt;MOSI&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;MISO&lt;/td&gt;&lt;td&gt;MISO&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;SCK&lt;/td&gt;&lt;td&gt;SCK&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;+5B&lt;/td&gt;&lt;td&gt;VCC&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Если схема имеет собственное питание, последнее соединение (VCC и +5В) делать не нужно.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Откуда брать эти сигналы - с гребенки ISP6 или колодки цифровых пинов - не суть важно, но если соединяете ISP6 у MKBoard и устройства - получается практически "один в один", за исключением сигнала &lt;b&gt;RESET&lt;/b&gt; - его надо брать все-таки с цифровой колодки, &lt;b&gt;digital10&lt;/b&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-6M4Zxp84Zjk/TyWPTGDSGDI/AAAAAAAAF-o/G_ZM8b-k8XY/s1600/mkboard-as-doper2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-6M4Zxp84Zjk/TyWPTGDSGDI/AAAAAAAAF-o/G_ZM8b-k8XY/s1600/mkboard-as-doper2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Далее, для прошивки hex-файла через avrdude можно использовать следующую строку:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;avrdude -c stk500 -P avrdoper -p MCU -U flash:w:file.hex&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
где &lt;b&gt;MCU&lt;/b&gt; заменяем на тип программируемого микроконтроллера (более подробно см. &lt;a href="http://www.nongnu.org/avrdude/user-manual/avrdude_4.html"&gt;справку к avrdude&lt;/a&gt; - для ATmega8 - m8, для ATmega328P - m328p и т.д.).&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Если требуется совместимость с AVRStudio - &lt;u&gt;снимаем&lt;/u&gt; джампер Upload и &lt;i&gt;переподключаем питание&lt;/i&gt;. Как вы уже догадались, в данной прошивке программатора этот джампер управляет режимом HID: замкнут = вкл, разомкнут = выкл (и вместо него CDC). Но учтите, что выбор срабатывает один раз при подключении питания - &lt;i&gt;если нажмете на сброс, запустится бутлоадер&lt;/i&gt;, который будет делать совершенно другие вещи (представляться как usbasp и пытаться запрограммировать самого себя).&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Можно ли программировать через DIP-сокет? Разумеется - можете его установить хоть на макетном поле, но при этом:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;сделайте все вышеописанные соединения Target и MKBoard &lt;i&gt;за исключением&lt;/i&gt; VCC и +5V;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;подключите &lt;b&gt;SUPPLY1&lt;/b&gt; и &lt;b&gt;SUPPLY2&lt;/b&gt; (оба два) к шине &lt;b&gt;VCC&lt;/b&gt; программируемого MCU;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;подключите &lt;b&gt;CLK&lt;/b&gt;&amp;nbsp;к ножке XTAL1 программируемого MCU (замена кварцу и емкостям для создания тактовой схемы у target-а).&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-dMhqDYNjaWs/TyWU-qPMrCI/AAAAAAAAF-8/nqAjubSCTyk/s1600/mkboard-as-doper3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-dMhqDYNjaWs/TyWU-qPMrCI/AAAAAAAAF-8/nqAjubSCTyk/s1600/mkboard-as-doper3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Два контакта под питание выглядят перестраховкой, но некое рациональное зерно в этом есть. Перед началом через &lt;b&gt;SUPPLY&lt;/b&gt; подается питание на программируемый MCU, а по завершении - отключается. Так делает и оригинальный &lt;b&gt;AVRDoper&lt;/b&gt;, только у него есть для этого специальная буферная микросхема, которой в &lt;b&gt;MKBoard&lt;/b&gt;, увы, нет.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Во время программирования будет мерцать встроенный светодиод &lt;b&gt;L&lt;/b&gt;, поскольку он оказался подключен к пину SCK (тактовые импульсы программирования). Оригинальный светодиод "ONLINE" для наглядности можно прикрутить к PC1 (или analog1 в нумерации Arduino), обязательно через токоограничительный резистор 1К - тогда он будет четко загораться в момент входа в режим программирования и при выходе из него.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
В этой прошивке также можно использовать встроенный отладочный порт - если соединить &amp;nbsp;GND,&amp;nbsp;RX и TX отлаживаемого микроконтроллера с пинами digital 0 и digital1 (разумеется, перекрестив), то можно с ним обмениваться через USB-подключение MKBoard &amp;nbsp;на скорости 19200 - читать и писать данные с помощью утилиты &lt;b&gt;avrdebug&lt;/b&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Ну и напоследок - если программатор больше не нужен.... разбираете схему, замыкаете Upload, нажимаете сброс - и... плата снова готова к загрузке скетчей через ArduinoIDE! ;)&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
И, конечно же, скажем спасибо команде &lt;a href="http://www.obdev.at/"&gt;Objective Development&lt;/a&gt;, позаботившейся о том, чтобы код AVR-Doper компилялся не только под разные MCU и разные тактовые частоты, но и под разные схемы (оригинальная, usbasp, metaboard).&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-8966381770288104348?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/yzgO0cpSw64" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/yzgO0cpSw64/mkboard-stk500.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-VduaN8cseI0/TyWEO-HgmpI/AAAAAAAAF-c/VxBai_-lS_U/s72-c/mkboard-as-doper.jpg.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/01/mkboard-stk500.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-6960047755385224621</guid><pubDate>Wed, 25 Jan 2012 09:48:00 +0000</pubDate><atom:updated>2012-01-27T13:51:27.961+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Новости</category><category domain="http://www.blogger.com/atom/ns#">Freeduino 32u4</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><title>Leonardo в цеху</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Пересматривал подборку фотоматериалов Лаймы Фрей (известна также под ником &lt;b&gt;ladyada&lt;/b&gt; и своим магазином &lt;a href="http://adafruit.com/"&gt;adafruit.com&lt;/a&gt;) с последнего посещения фабрики &lt;b&gt;Smart Projects&lt;/b&gt;&amp;nbsp;и наткнулся там на фото &lt;b&gt;Arduino Leonardo&lt;/b&gt;:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-60OhNE_GOe4/TyJqmzgrhuI/AAAAAAAAF-E/QCZfpsuZcTM/s1600/leoonardo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-60OhNE_GOe4/TyJqmzgrhuI/AAAAAAAAF-E/QCZfpsuZcTM/s600/leoonardo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-1S7qhY3Zupc/TyJqm_OPuaI/AAAAAAAAF-I/BeTVX714yl4/s1600/leoonardo-back.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-1S7qhY3Zupc/TyJqm_OPuaI/AAAAAAAAF-I/BeTVX714yl4/s600/leoonardo-back.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Это самые крупные фото из всех, что мне пока удалось нарыть, и по ним можно сделать некоторые выводы:&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li style="text-align: justify;"&gt;используется раскладка пинов "arduino pinout 1.0";&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;дополнительные аналоговые входы A6-A11 промаркированы на противоположной стороне платы;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;схема действительно сильно упрощена. Виден регулятор +5В, рядом с ним - регулятор +3,3В, светодиоды RX/TX/L/PWR;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;прежняя схема автовыбора источника питания на LM-ке в SSOP-корпусе;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;будет microUSB-разъем.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
И (самый главный вывод) - видимо, довольно скоро мы уже получим, наконец, эту плату вместе с ArduinoIDE 1.1 (или как там они теперь их будут нумеровать?!), где ее поддержка включена обратно. Вообще - странно, что итальянцы настолько задерживают выпуск. Уже вовсю появляются клоны:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li style="text-align: justify;"&gt;fzduino:&amp;nbsp;&lt;a href="http://www.fiozera.com.br/blog/?p=195"&gt;http://www.fiozera.com.br/blog/?p=195&lt;/a&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;paperduino:&amp;nbsp;&lt;a href="http://arduino.cc/forum/index.php?topic=78639.0"&gt;http://arduino.cc/forum/index.php?topic=78639.0&lt;/a&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;freeduino 32u4:&amp;nbsp;&lt;a href="http://mk90.ru/store/ru/microcontrollers/145-freeduino-32u4.html"&gt;http://mk90.ru/store/ru/microcontrollers/145-freeduino-32u4.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Скромно замечу, что лишь для последнего варианта есть нормально работающее ядро для ArduinoIDE 1.0, а также в архив добавлены примеры (клавиатура и мышь, изъятые при релизе) -&amp;nbsp;&lt;a href="http://mk90.ru/files/source/freeduino32u4-1.0.tar.gz"&gt;freeduino32u4-1.0.tar.gz&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-6960047755385224621?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/z9rF7q938jk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/z9rF7q938jk/leonardo.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-60OhNE_GOe4/TyJqmzgrhuI/AAAAAAAAF-E/QCZfpsuZcTM/s72-c/leoonardo.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/01/leonardo.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-4577224662417210974</guid><pubDate>Sat, 21 Jan 2012 08:30:00 +0000</pubDate><atom:updated>2012-01-23T16:05:04.553+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Новости</category><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><category domain="http://www.blogger.com/atom/ns#">MKBoard</category><title>MKBoard R3</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Вышла третья ревизия платы &lt;b&gt;MKBoard&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-DR3U70ID78k/TxxwB2g1GAI/AAAAAAAAF9o/i_CbcDz2omQ/s1600/MKBoardR3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-DR3U70ID78k/TxxwB2g1GAI/AAAAAAAAF9o/i_CbcDz2omQ/s600/MKBoardR3.jpg" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
по сравнению с &lt;a href="http://mk90.blogspot.com/2011/07/mkboard-r1.html"&gt;предыдущей версией&lt;/a&gt;, постарался учесть пожелания пользователей и последние &lt;strike&gt;веяния моды &lt;/strike&gt;изменения в раскладке пинов Arduino:&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;на макетном поле теперь есть шины VCC и GND&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;раскладка пинов соответствует arduino pinout 1.0&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-VDWX77tIVSI/TxxxhQNNBSI/AAAAAAAAF98/xY2pFpjmBis/s1600/mkboardr3-top.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-VDWX77tIVSI/TxxxhQNNBSI/AAAAAAAAF98/xY2pFpjmBis/s600/mkboardr3-top.jpg" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Напоминаю, что &lt;b&gt;MKBoard&lt;/b&gt; - это улучшенный аналог &lt;a href="http://mk90.ru/wiki/index.php/Metaboard"&gt;Metaboard&lt;/a&gt;, платы на основе программной реализации &lt;a href="http://www.obdev.at/products/vusb/index.html"&gt;V-USB&lt;/a&gt; от &lt;b&gt;Objective Development,&lt;/b&gt; построенный на одном чипе и способный при этом загружать скетчи по USB.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Купить в собранном виде или комплектом деталей можно &lt;a href="http://goo.gl/oHXeO"&gt;здесь&lt;/a&gt;. Подробная пошаговая инструкция по самостоятельной сборке - &lt;a href="http://goo.gl/7VHdg"&gt;здесь&lt;/a&gt;.&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Адаптированный к &lt;b&gt;Arduino 1.0&lt;/b&gt; файл &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;boards.txt&lt;/span&gt; - внутри этого архива: &amp;nbsp;&lt;a href="http://mk90.ru/files/source/mkbord_r3.tar.gz"&gt;mkbord_r3.tar.gz&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Кстати, заметил особенность&amp;nbsp;ArduinoIDE 1.0: после загрузки скетча она ругается на то, что используется старое firmware для USBasp - дескать, обновите до последней версии, а то не работает установка длительности SCK (точнее, это ворниг от avrdude:&amp;nbsp;&lt;span style="text-align: justify;"&gt;cannot set sck period. please check for usbasp firmware update). Можно смело игнорировать, все и так работает замечательно.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-4577224662417210974?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/29LXZXVgZio" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/29LXZXVgZio/mkboard-r3.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-DR3U70ID78k/TxxwB2g1GAI/AAAAAAAAF9o/i_CbcDz2omQ/s72-c/MKBoardR3.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/01/mkboard-r3.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-4488485957401788009</guid><pubDate>Mon, 16 Jan 2012 20:55:00 +0000</pubDate><atom:updated>2012-01-20T00:56:59.225+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Новости</category><category domain="http://www.blogger.com/atom/ns#">Шилд-платы</category><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">Arduino Shield</category><title>RelayShield</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Очередная шилд-плата, на этот раз для управления шестью реле:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-wJqUyaXUTt4/Txh3cmm-ANI/AAAAAAAAF3c/BtAk7vwc3qQ/s1600/pic1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-wJqUyaXUTt4/Txh3cmm-ANI/AAAAAAAAF3c/BtAk7vwc3qQ/s600/pic1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Смысл агрегата незамысловат - при помощи цифровых пинов 2-7 управлять шестью реле, переключающие контактные группы выведенные на клеммники. Присутствует оптронная развязка и собственный регулятор питания с разхемом (при стыковке с Arduino-совместимой платой питание берется также и с Vin).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Наиболее популярными аналогами являются варианты от &lt;a href="http://seeedstudio.com/"&gt;Seeedstudio&lt;/a&gt; и &lt;a href="http://open-electronics.org/"&gt;Open Electronics&lt;/a&gt;:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-IserRJ1knec/Txh9qHhcO7I/AAAAAAAAF4s/VtZJvf5Kozo/s1600/WithArduino.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-IserRJ1knec/Txh9qHhcO7I/AAAAAAAAF4s/VtZJvf5Kozo/s600/WithArduino.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-l-VmZxqtrTA/Txh9y0ff-3I/AAAAAAAAF40/OmXVuXuJRz8/s1600/7100-FT919K_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-l-VmZxqtrTA/Txh9y0ff-3I/AAAAAAAAF40/OmXVuXuJRz8/s600/7100-FT919K_2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Первый вариант хорош тем, что имеет разъем для подключения беспроводного модуля и, соответственно, возможность дистанционного управления - правда только через модули RFBee (не путать с ZigBee - хотя смысл у них один и тот же), однако и содержит на борту всего четыре реле. Второй вариант имеет шесть реле и даже предназначен для самостоятельной сборки, но лишен оптронной развязки - тут авторы особое внимание уделили освещению ;) аж по два светодиода на реле.&amp;nbsp;Таким образом, мой вариант - как бы промежуточный.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
У обоих плат есть одно слабое место - они располагают реле над разъемом USB, за что неоднократно подвергались критике (одно неловкое движение, и короткое замыкание в цепи нагрузки). Я постарался учесть этот факт и немного отодвинул клеммники и реле:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-UIJ03Gn9W9g/Txh3eQMeUkI/AAAAAAAAF34/6jz931PrIFY/s1600/pic-mega.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-UIJ03Gn9W9g/Txh3eQMeUkI/AAAAAAAAF34/6jz931PrIFY/s600/pic-mega.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-prG7dMNLXwE/Txh3etkdtDI/AAAAAAAAF4A/8z_9geylNLs/s1600/pic-uno.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-prG7dMNLXwE/Txh3etkdtDI/AAAAAAAAF4A/8z_9geylNLs/s600/pic-uno.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Старшие товарищи уже раскритиковали примененные пятивольтовые реле (&lt;b&gt;1A&lt;/b&gt;, &lt;b&gt;250VAC&lt;/b&gt; &amp;nbsp;или &lt;b&gt;30VDC&lt;/b&gt;). Утверждается, что они ненадежные и для реальной промышленной автоматики никак не подходят... Так что имейте это ввиду, на всякий случай ;)&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-hBFaTkMS2R4/Txh3ekpcUFI/AAAAAAAAF4M/KRqeJYNUk-4/s1600/shematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-hBFaTkMS2R4/Txh3ekpcUFI/AAAAAAAAF4M/KRqeJYNUk-4/s600/shematic.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Как всегда, купить можно здесь: &amp;nbsp;&lt;a href="http://mk90.ru/store/ru/shields/240-relayshield-v20.html"&gt;http://mk90.ru/store/ru/shields/240-relayshield-v20.html&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-4488485957401788009?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/qyBiADAPQ_k" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/qyBiADAPQ_k/relayshield.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-wJqUyaXUTt4/Txh3cmm-ANI/AAAAAAAAF3c/BtAk7vwc3qQ/s72-c/pic1.jpg" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/01/relayshield.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-1476156129433224943</guid><pubDate>Wed, 11 Jan 2012 20:36:00 +0000</pubDate><atom:updated>2012-01-19T00:38:55.814+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lol</category><category domain="http://www.blogger.com/atom/ns#">Шилд-платы</category><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">Arduino 1.0 libs</category><title>LolShieldRus для 1.0</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Библиотека LoLShieldRus, адаптированная для ArduinoIDE 1.0: &lt;a href="http://mk90.ru/files/source/LoLShieldRus.tar.gz"&gt;LoLShieldRus.tar.gz&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Ссылка на &lt;a href="https://github.com/mk90/LoLShieldRus"&gt;github&lt;/a&gt; (модификация, кстати, несложная - как и в случае с LiquidCrystalRus - сводится к замене инклуда WProgram.h на Arduino.h).&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Напоминаю, что это за зверь: библиотека поддержки шилд-платы &lt;a href="http://mk90.ru/store/ru/search?orderby=position&amp;amp;orderway=desc&amp;amp;search_query=Lolshield&amp;amp;x=0&amp;amp;y=0"&gt;LoLShield&lt;/a&gt;, представляющей из себя матрицу светодиодов 9х14, соединенных методом хексиплексирования таким образом, что можно управлять засветкой каждого отдельно взятого светодиода. Поддерживаются все полноразмерные Arduino-совместимые платы, включая Mega, а также - русский язык.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
См. также &lt;a href="http://mk90.blogspot.com/search/label/lol"&gt;все статьи про LoL-shield&lt;/a&gt; в моем блоге.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-1476156129433224943?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/UrrX4AuQvpI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/UrrX4AuQvpI/lolshieldrus-10.html</link><author>noreply@blogger.com (id)</author><thr:total>0</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/01/lolshieldrus-10.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-5215088822904702056</guid><pubDate>Tue, 03 Jan 2012 08:00:00 +0000</pubDate><atom:updated>2012-01-03T12:00:00.075+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><title>Christmas tree in use</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Итак, бОльшая часть &lt;b&gt;&lt;a href="http://mk90.ru/store/ru/microcontrollers/210-hnyduino.html"&gt;HNYduino&lt;/a&gt;&lt;/b&gt; уже "ушла в народ", и у народа уже успели назреть вопросы. Это, конечно, досадно - мне казалось, что там и объяснять-то нечего, но придется посвятить этому вопросу еще одну статью - дальше ответы буду добавлять прямо в &lt;a href="http://mk90.ru/wiki/index.php/HNYDuino"&gt;wiki&lt;/a&gt;.&lt;/div&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
С целью создания гипнотического эффекта, электроЕль снабжена двадцатью &lt;strike&gt;микрофонариками&lt;/strike&gt; светодиодами. Схематично это можно было бы представить так:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-Jagy7bfF08E/TwIS1-nKfGI/AAAAAAAAF2s/vaZZpooUsz8/s1600/hnyduino_lamps.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-Jagy7bfF08E/TwIS1-nKfGI/AAAAAAAAF2s/vaZZpooUsz8/s600/hnyduino_lamps.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Расположенные в центре светодиоды &lt;b&gt;D2&lt;/b&gt;, &lt;b&gt;D3&lt;/b&gt;, &lt;b&gt;D4&lt;/b&gt; и &lt;b&gt;D5&lt;/b&gt; подключены к цифровым пинам Arduino с соответствующими номерами и управляются независимо. Для включения любого из них достаточно, например, выполнить &lt;b&gt;digitalWrite&lt;/b&gt;(2,HIGH), а для выключения - &amp;nbsp;&lt;b&gt;digitalWrite&lt;/b&gt;(2,LOW). Для D2 и D3 доступен аппаратный ШИМ, поэтому ими дополнительно можно управлять и с помощью &lt;a href="http://mk90.ru/wiki/index.php/AnalogWrite"&gt;analogWrite()&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Тоже самое относится и к дополнительным пинам, выведенным на подставку через гребенку. С пинов &lt;b&gt;A0&lt;/b&gt;, &lt;b&gt;A4&lt;/b&gt; и &lt;b&gt;A5&lt;/b&gt; можно считывать оцифрованное значение действующего напряжения (ибо это входы АЦП), а при необходимости &amp;nbsp;- подключать к A4 и A5 устройства, работающие по шине I2C (&lt;b&gt;A4&lt;/b&gt; = &lt;b&gt;SDA&lt;/b&gt;, &lt;b&gt;A5&lt;/b&gt; = &lt;b&gt;SCL&lt;/b&gt; и не забудьте подтянуть их через резисторы 5K1 к VCC). &lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Светодиоды &lt;b&gt;&lt;span style="color: red;"&gt;R1..R8&lt;/span&gt;&lt;/b&gt; и &lt;b&gt;&lt;span style="color: #38761d;"&gt;G1..G8&lt;/span&gt;&lt;/b&gt; подключены к двум закаскадированным микросхемам &lt;b&gt;74HC595&lt;/b&gt;, принцип работы с которыми я уже подробно разбирал в статье &lt;a href="http://mk90.blogspot.com/2009/12/arduino-1.html"&gt;Удвоение пинов Arduino&lt;/a&gt;. В общем случае всё сводится к выполнению двух последовательных команд &lt;a href="http://mk90.ru/wiki/index.php/ShiftOut"&gt;shiftOut&lt;/a&gt; с использованием известных пинов (LATCH = D8,&amp;nbsp;CLK = D10 и&amp;nbsp;DATA = 11).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Поскольку тут наступает самый трудный (для неподготовленных умов ;) момент, пришлось&amp;nbsp;&amp;nbsp;набросать &lt;a href="http://mk90.ru/files/source/ChristmasTree-v1.tar.gz"&gt;библиотеку&lt;/a&gt;. Она, конечно, не выдерживает никакой критики и служит, скорее, для иллюстрации приемов. Скачайте и распакуйте ее в каталог sketchbook/libraries и только затем запускайте Arduino IDE 1.0 (со старыми версиями 0022 и 0023 тоже должно работать нормально).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Вывод осуществляется при помощи функции &lt;b&gt;setState&lt;/b&gt;(byte &lt;span style="color: #38761d;"&gt;greenDataOut&lt;/span&gt;, byte &lt;span style="color: red;"&gt;redDataOut&lt;/span&gt;), где надо указать два байта, для&amp;nbsp;&lt;b&gt;&lt;span style="color: #38761d;"&gt;G1..G8&lt;/span&gt;&lt;/b&gt; и &lt;b&gt;&lt;span style="color: red;"&gt;R1..R8&lt;/span&gt;&lt;/b&gt; соответственно. Если мысленно выстроить образуемый ими контур в линию, могло бы получиться следующее:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-gElhW8nlKMk/TwIk8WaLRVI/AAAAAAAAF2w/2bm9PzPWCOY/s1600/hnyduino_lamps_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-gElhW8nlKMk/TwIk8WaLRVI/AAAAAAAAF2w/2bm9PzPWCOY/s600/hnyduino_lamps_1.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Чтобы отобразить произвольный орнамент, надо сформировать два байта в двоичном виде и передать их функции &lt;b&gt;setState&lt;/b&gt;. Например, чтобы зажечь линейку из четырех самых нижних светодиодов (&lt;span style="color: #38761d;"&gt;&lt;b&gt;G1&lt;/b&gt;&lt;/span&gt;, &lt;b&gt;&lt;span style="color: red;"&gt;R1&lt;/span&gt;&lt;/b&gt;, &lt;b&gt;&lt;span style="color: #38761d;"&gt;G8&lt;/span&gt;&lt;/b&gt; и &lt;b&gt;&lt;span style="color: red;"&gt;R8&lt;/span&gt;&lt;/b&gt;), подставим на их место единицы, получится:&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="color: #38761d; font-family: 'Courier New', Courier, monospace; font-size: x-large;"&gt;&lt;b&gt;1 0 0 0 0 0 0 1&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-large;"&gt;&amp;nbsp; &lt;b&gt;&lt;span style="color: red;"&gt;1 0 0 0 0 0 0 1&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Теперь можно отдавать команду &lt;b&gt;setState&lt;/b&gt;(&lt;span style="color: #38761d;"&gt;B10000001&lt;/span&gt;,&lt;span style="color: red;"&gt;B10000001&lt;/span&gt;) - префикс 'B' предваряет число в двоичной записи. Если кому-то по душе шестнадцатеричная запись, тоже самое &amp;nbsp; будет по&amp;nbsp;&lt;b&gt;setState&lt;/b&gt;(&lt;span style="color: #38761d;"&gt;0x81&lt;/span&gt;,&lt;span style="color: red;"&gt;0x81&lt;/span&gt;).&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Если и после этого останутся вопросы, загрузите пример, который прилагается к &amp;nbsp;библиотеке - зацикленное случайное переключение простейших эффектов (обычно прошито в елку по умолчанию).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Второй волнующий общественность вопрос -&amp;nbsp;подключение HNYDuino к компу с возможностью программирования. Поскольку у елки отсутствует USB-порт, потребуется &lt;i&gt;дополнительный девайс&lt;/i&gt; (рассмотрим варианты):&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt; Самое простое: любой FTDI-кабель или переходник, например &lt;a href="http://mk90.blogspot.com/2011/05/ftdi.html"&gt;FTDI friend&lt;/a&gt;:&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-iYfdhvV5wdU/TdtUk9OKGlI/AAAAAAAAEjc/mHlVA2vxbLk/s1600/pic1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: justify;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-iYfdhvV5wdU/TdtUk9OKGlI/AAAAAAAAEjc/mHlVA2vxbLk/s600/pic1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Выставьте тип платы&amp;nbsp;&amp;nbsp;"Arduino Duemilanove w/ATmega328", соедините линии GND, VCC, RX и TX на елке и на переходнике. Кроме того, к линии "R" (reset) следует подключать сигнал DTR (на FTDI friend он позиционно совмещен с RTS и выбирается solder-джампером с обратной стороны).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;2.&lt;/b&gt; С помощью платы Arduino Duemilanova (или совместимой c ней Freeduino - главное, чтобы там был чип FTDI или MAX232). Для этого аккуратно удалите ATmega328 из панельки и соедините проводки следующим образом:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-PS0jZXhOdG8/TwIt4TLWBZI/AAAAAAAAF28/ZZPQDOXwp2U/s1600/duemilanova-as-ftdi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-PS0jZXhOdG8/TwIt4TLWBZI/AAAAAAAAF28/ZZPQDOXwp2U/s600/duemilanova-as-ftdi.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;table border="1" style="text-align: center;"&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;Arduino&lt;/th&gt;&lt;th&gt;HNYduino&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;RX&lt;/b&gt; (D0)&lt;/td&gt;&lt;td&gt;&amp;lt;- (3)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;TX&lt;/b&gt; (D1)&lt;/td&gt;&lt;td&gt;-&amp;gt; (2)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;RESET&lt;/b&gt; (ISCP-5)&lt;/td&gt;&lt;td&gt;R (1)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;VCC&lt;/b&gt; (ISCP-2 или 5V)&lt;/td&gt;&lt;td&gt;+5 (4)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;GND&lt;/b&gt; (ISCP-6 или GND)&lt;/td&gt;&lt;td&gt;G (5 или 6)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Сигналы RX и TX следует подавать с верхней колодки Arduino, сигнал сброса - с пятого пина разъема программирования, а VCC и GND - без разницы откуда (можно с вилки программирования, можно с колодки POWER).&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
Тип платы нужно выставлять также, "Arduino Duemilanove w/ATmega328".&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;3.&lt;/b&gt;&amp;nbsp;Напаять на HNYduino шестиконтактную вилку для программирования в заранее подготовленные отверстия и подключиться через &lt;b&gt;программатор (&lt;/b&gt;в качестве программатора также может выступать &amp;nbsp;все та же Arduino со скетчем &lt;a href="http://arduino.cc/en/Tutorial/ArduinoISP"&gt;ArduinoISP&lt;/a&gt;). Имейте ввиду, что в этом варианте для комфортной работы потребуется &lt;strike&gt;немного пошаманить&lt;/strike&gt; прописать секцию в boards.txt - указав там тот протокол, по которому работает ваш программатор. Или же, можно работать сразу через AVRStudio ;)&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-5215088822904702056?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/5KzfliMFS4Y" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/5KzfliMFS4Y/christmas-tree-in-use.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-Jagy7bfF08E/TwIS1-nKfGI/AAAAAAAAF2s/vaZZpooUsz8/s72-c/hnyduino_lamps.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/01/christmas-tree-in-use.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-7866181722796798067</guid><pubDate>Mon, 02 Jan 2012 16:19:00 +0000</pubDate><atom:updated>2012-01-02T20:20:14.987+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">Arduino 1.0 libs</category><title>LiquidCrystalRus для 1.0</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
По многочисленным заявкам &lt;strike&gt;телезрителей&lt;/strike&gt; пользователей, выкладываю под тегом &lt;b&gt;&lt;a href="http://mk90.blogspot.com/search/label/Arduino%201.0%20libs"&gt;Arduino 1.0 libs&lt;/a&gt;&lt;/b&gt; адаптированные для Arduino 1.0 библиотеки.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Начинаю с LiquidCrystalRus: скачать&amp;nbsp;&lt;a href="http://mk90.ru/files/source/LiquidCrystalRus-1.0.zip"&gt;LiquidCrystalRus-1.0.zip&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Это копия оригинальной библиотеки LiquidCrystal с поддержкой русского языка. Добавленный код трансформирует русские символы UTF8 в правильные коды для HD44780U.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Этот вариант будет одинаково нормально работать и с arduino-0023, и с arduino-1.0. Основная причина несовместимости - класс LiquidCrystalRus (как и оригинальный LiquidCrystal) порожден от стандартного Print, у которого поменялся прототип виртуальной функции write: если раньше возвращаемое значение было void, то теперь - size_t.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Проект также доступен на GitHub:&amp;nbsp;&lt;a href="https://github.com/mk90/LiquidCrystalRus"&gt;https://github.com/mk90/LiquidCrystalRus&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-7866181722796798067?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/fhGfT2G1iSI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/fhGfT2G1iSI/liquidcrystalrus-10.html</link><author>noreply@blogger.com (id)</author><thr:total>6</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/01/liquidcrystalrus-10.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-1955792216287485423</guid><pubDate>Sun, 01 Jan 2012 08:30:00 +0000</pubDate><atom:updated>2012-01-02T14:23:54.223+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><category domain="http://www.blogger.com/atom/ns#">Freeduino</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">Freeduino One</category><category domain="http://www.blogger.com/atom/ns#">Arduino Uno</category><title>Freeduino ONE smd</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-py8At_Xda_c/TutCin1veRI/AAAAAAAAFzk/i91MAsPNu1Y/s1600/freeduino.one.smd.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-py8At_Xda_c/TutCin1veRI/AAAAAAAAFzk/i91MAsPNu1Y/s600/freeduino.one.smd.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Вслед за другими производителями Arduino-совместимых плат, вынужден констатировать: ATmega328 в DIP-корпусе и дороже, и сложнее доставаем. Именно это и стало одной из причин появления платы &lt;b&gt;Freeduino ONE smd&lt;/b&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-yzHe2GOKvCY/TutCi9JiwjI/AAAAAAAAFzo/StygLSaC_hM/s1600/freeduino.one.smd-back.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-yzHe2GOKvCY/TutCi9JiwjI/AAAAAAAAFzo/StygLSaC_hM/s600/freeduino.one.smd-back.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Попутно внесены мелкие изменения, соответствующие &lt;b&gt;Arduino UNO R2&lt;/b&gt;:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li style="text-align: justify;"&gt;линия &lt;b&gt;HWB&lt;/b&gt; притянута резистором к &lt;b&gt;GND&lt;/b&gt; - джампер &lt;b&gt;UBOOT&lt;/b&gt; пропал с тыльной стороны платы. Это позволяет упростить загрузку новой прошивки через DFU, более подробно см. в статье &lt;a href="http://mk90.blogspot.com/2011/06/dfu.html"&gt;DFU&lt;/a&gt;.&amp;nbsp;В отличие от оригинального итальянского решения с номиналом подтяжки 1К, в нашем варианте выбрано более правильное 10К.&amp;nbsp;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Добавлено посадочное место четырехконтактной вилки bit-bang (пины PB4,PB5,PB6 и PB7). Правда, каких-либо вменяемых примеров альтернативного firmware для ATmega8u2, которые бы их использовали, я пока не встречал:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-C-KAmAVgXR8/TutChD1g8RI/AAAAAAAAFzU/enlJTBTVzBc/s1600/freeduino.one.bitbang.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-C-KAmAVgXR8/TutChD1g8RI/AAAAAAAAFzU/enlJTBTVzBc/s600/freeduino.one.bitbang.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
По-прежнему сохраняются отличия от оригинала в тактовой схеме - не используется керамический резонатор для основного MCU (хоть он меньше и легче, но менее точный) - оба резонатора кварцевые; резистор 1М параллельно кварцу не устанавливается (все отличия версии R1 уже обсуждались в статье &lt;a href="http://mk90.blogspot.com/2011/05/arduino.html"&gt;Новости Arduinoстроения&lt;/a&gt;).&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
С одной стороны - девайс получился &lt;a href="http://mk90.ru/store/ru/microcontrollers/236-freeduino-one-smd.html"&gt;немного дешевле&lt;/a&gt;. С другой - да, если что-то случится с основным MCU, поменять его будет несколько сложнее. Но, как я уже неоднократно говорил - чем больше альтернатив, тем лучше.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-LiKnJSXC5-8/TwGDE6FiGZI/AAAAAAAAF2U/cjs_O8qtK5I/s1600/schematic-SMD.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-LiKnJSXC5-8/TwGDE6FiGZI/AAAAAAAAF2U/cjs_O8qtK5I/s600/schematic-SMD.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-1955792216287485423?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/5sfQKeUGbcA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/5sfQKeUGbcA/freeduino-one-smd.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-py8At_Xda_c/TutCin1veRI/AAAAAAAAFzk/i91MAsPNu1Y/s72-c/freeduino.one.smd.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://mk90.blogspot.com/2012/01/freeduino-one-smd.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-6549457956866592808</guid><pubDate>Sat, 31 Dec 2011 17:59:00 +0000</pubDate><atom:updated>2011-12-31T21:59:11.173+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ThisBlogRelated</category><title>HNY 2012</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;span style="color: red;"&gt;H&lt;/span&gt;&lt;span style="color: lime;"&gt;A&lt;/span&gt;&lt;span style="color: orange;"&gt;P&lt;/span&gt;&lt;span style="color: blue;"&gt;P&lt;/span&gt;&lt;span style="color: purple;"&gt;Y&lt;/span&gt; &lt;span style="color: magenta;"&gt;N&lt;/span&gt;&lt;span style="color: red;"&gt;E&lt;/span&gt;&lt;span style="color: lime;"&gt;W&lt;/span&gt; &lt;span style="color: yellow;"&gt;Y&lt;/span&gt;&lt;span style="color: blue;"&gt;E&lt;/span&gt;&lt;span style="color: purple;"&gt;A&lt;/span&gt;&lt;span style="color: red;"&gt;R&lt;/span&gt;!&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Пусть новый 2012 год принесет моим читателям радость новых открытий и побед, &amp;nbsp;а боль, грусть и досада пережитых неудач останутся в старом 2011, без возможности пересечь epoch &amp;nbsp;1325361600!&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Ну а я постараюсь по мере своих сил развлекать вас через свой блог и далее ;)&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-6549457956866592808?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/_HQKhw0oAtk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/_HQKhw0oAtk/hny-2012.html</link><author>noreply@blogger.com (id)</author><thr:total>0</thr:total><feedburner:origLink>http://mk90.blogspot.com/2011/12/hny-2012.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-6519924234044249513</guid><pubDate>Thu, 29 Dec 2011 20:43:00 +0000</pubDate><atom:updated>2011-12-31T00:45:57.772+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ArduinoIDE</category><category domain="http://www.blogger.com/atom/ns#">Software</category><title>Адаптация библиотек для Arduino 1.0</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
В последнее время много народу жалуется, что с новой ArduinoIDE не работают их старые любимые библиотеки. На самом деле, иногда заставить их работать &lt;b&gt;очень просто&lt;/b&gt; - минимальные телодвижения выглядят следующим образом:&lt;/div&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;Переходим в каталог с библиотекой&lt;/li&gt;
&lt;li&gt;Ищем во всех файлах .cpp и .h, не встречается ли где &lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#include "WProgram.h"&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Если находим - заменяем на:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;#if defined(ARDUINO) &amp;amp;&amp;amp; ARDUINO &amp;gt;= 100
  #include "Arduino.h"
#else
  #include "WProgram.h"
#endif&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;br /&gt;
И, если нам повезло и больше ничего править&amp;nbsp;не надо, библиотека будет одинаково хорошо работать и с IDE 0022/0023, и с 1.0.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-6519924234044249513?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/XP_wTK89620" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/XP_wTK89620/arduino-10.html</link><author>noreply@blogger.com (id)</author><thr:total>9</thr:total><georss:featurename>ул. Красного Курсанта, 27, Санкт-Петербург, Россия</georss:featurename><georss:point>59.9602526384672 30.279693603515625</georss:point><georss:box>59.9582656384672 30.274758103515627 59.9622396384672 30.284629103515623</georss:box><feedburner:origLink>http://mk90.blogspot.com/2011/12/arduino-10.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-1131397490481247078</guid><pubDate>Wed, 21 Dec 2011 04:12:00 +0000</pubDate><atom:updated>2011-12-21T21:22:24.904+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ArduinoIDE</category><category domain="http://www.blogger.com/atom/ns#">Freeduino 32u4</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><category domain="http://www.blogger.com/atom/ns#">Software</category><category domain="http://www.blogger.com/atom/ns#">Freeduino</category><title>Arduino 1.0: pinout и IDE</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: justify;"&gt;
В самый последний день ноября нас наконец-то посетил исторический релиз &lt;b&gt;ArduinoIDE 1.0&lt;/b&gt;.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: justify;"&gt;
Конечно, я должен был опубликовать эту статью еще недели две назад. Но я постоянно откладывал этот пост - в основном из-за запаздывания материалов на официальном сайте &lt;a href="http://arduino.cc/"&gt;arduino.cc&lt;/a&gt;, без которых оставалось некоторое количество вопросов.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: justify;"&gt;
Итак, в отличие от остальных версий ArduinoIDE выпуск 1.0 происходил не так, как обычно. &amp;nbsp;Сначала было выпущено два релиз-кандидата, чтобы дать всем привыкнуть к нововведениям, которые были известны &lt;a href="http://mk90.blogspot.com/2011/09/arduinoide-10-rc1.html"&gt;заранее&lt;/a&gt;:&amp;nbsp;потребуется адаптация библиотек, появится новая плата &lt;b&gt;Arduino Leonardo,&lt;/b&gt;&amp;nbsp;изменится стандартная физическая раскладка пинов (должны добавиться четыре). После&lt;a href="http://mk90.blogspot.com/2011/09/arduinoide-10-rc1.html"&gt; второго релиз-кандидата&lt;/a&gt; вдруг неожиданно вышла &lt;a href="http://mk90.blogspot.com/2011/11/arduinoide-0023.html"&gt;ArduinoIDE 0023&lt;/a&gt;, в которой главным событием стало использование optiboot 4.4 и переход с ATmega8u2 на ATmega16u2 в платах Uno, Mega2560 и ADK. &amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: justify;"&gt;
К счастью, на официальном веб-сайте все-таки появились актуальные фото последних ревизий плат и стало видно, что &lt;span style="text-align: justify;"&gt;добавлено &lt;b&gt;3 дополнительных пина&lt;/b&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;на верхней колодке - SDA, SCL:&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-_ikj6kWUTO8/Tsx1YuzV1-I/AAAAAAAAFls/BiUYqRLECWM/s1600/pinout1.0-top.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-_ikj6kWUTO8/Tsx1YuzV1-I/AAAAAAAAFls/BiUYqRLECWM/s1600/pinout1.0-top.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="clear: both; text-align: left;"&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;на нижней колодке - IOREF:&lt;/li&gt;
&lt;/ul&gt;
&lt;a href="http://2.bp.blogspot.com/-nTmtpK1sZHs/Tsx1d17WWVI/AAAAAAAAFl0/I3Uu_BNa4EM/s1600/pinout1.0-bottom.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-nTmtpK1sZHs/Tsx1d17WWVI/AAAAAAAAFl0/I3Uu_BNa4EM/s1600/pinout1.0-bottom.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;
Таким образом, фоторобот новой платы из статьи &lt;b&gt;&lt;a href="http://mk90.blogspot.com/2011/10/leonardo.html"&gt;Великий Леонардо&lt;/a&gt;&lt;/b&gt; стал выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-RB-Er0qOJZU/TvBFYvmvhSI/AAAAAAAAF0M/PI8dhc8e59M/s1600/leomount2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-RB-Er0qOJZU/TvBFYvmvhSI/AAAAAAAAF0M/PI8dhc8e59M/s1600/leomount2.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: justify;"&gt;
Четвертый пин (рядом с IOREF) оставили свободным - для будущих расширений.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Дублирование &lt;b&gt;SCL&lt;/b&gt; и &lt;b&gt;SDA&lt;/b&gt; выглядит логичным - стараясь сохранить универсальность раскладки, авторы с самого начала зафиксировали положение UART (пины 0 и 1 за RX и TX), затем &lt;a href="http://mk90.blogspot.com/2009/04/arduino-mega-ethernet-shield.html"&gt;обожглись&lt;/a&gt; на пинах SPI при создании Mega (с тех пор SPI надо брать исключительно с вилки ICSP). Видимо, есть желание или вынужденная необходимость стыковать шилды также и по I2C - а они-то как раз, увы, фиксированного положения пока не имели.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Появление&amp;nbsp;&lt;b&gt;IOREF&lt;/b&gt; - прямое наследие&amp;nbsp;&lt;b&gt;Arduino Due&lt;/b&gt;. Будущая ARM/Cortex плата была упомянута всего &lt;a href="http://arduino.cc/blog/2011/09/17/arduino-launches-new-products-in-maker-faire/"&gt;однажды&lt;/a&gt;, но похоже, что именно ей мы обязаны появлением Arduino pinout 1.0. Поскольку Due трехвольтовая, то предполагается, что будущие Shield-платы будут способны через этот пин адаптировать уровень логической единицы для обмена с основной платой. Соответственно, на IOREF должно подаваться VCC MCU (+5В, +3,3В или +1,8В).&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
В качестве варианта - на шилд-плате&amp;nbsp;IOREF&amp;nbsp;можно подключить к специальному чипу-согласователю уровней сигналов. Но тогда автоматически встает вопрос совместимости - что делать, если такой шилд подключен к "старой" плате, и IOREF попросту повис в воздухе? Городить на шилде специальную схему для такого случая? Оказывается, есть простой подход ;) Вот так,&amp;nbsp;дешево и сердито,&amp;nbsp;при помощи пары диодов Шоттки это реализовано в &lt;b&gt;Arduino MotorShield&lt;/b&gt; R3:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-ZfcfLi4pjfs/TvBO4V7t09I/AAAAAAAAF0o/YH0yV2druAk/s1600/iorefinuse.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-ZfcfLi4pjfs/TvBO4V7t09I/AAAAAAAAF0o/YH0yV2druAk/s1600/iorefinuse.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Если брать в общем случае комбинацию новая &lt;i&gt;плата+старый шилд&lt;/i&gt;, то вроде бы все нормально. В неиспользуемые старыми шилдами колодки ничего не втыкается. Но если &lt;i&gt;старая плата&lt;/i&gt; принимает на себя &lt;i&gt;новый шилд&lt;/i&gt;, то мне довольно ясно представляется, как эти дополнительные четыре ножки упрямо упираются в элементы, расположенные на месте несуществующих отверстий на старой плате (а они были, особенно в области IOREF!). Возможно, &lt;strike&gt;все пропало!&lt;/strike&gt; придется их подрезать или отогнуть.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
А вот c выходом релиза ArduinoIDE 1.0 по поводу &lt;b&gt;Leonardo&lt;/b&gt;&amp;nbsp;наступила некоторая неизвестность. Во-первых, определение Leonardo &lt;i&gt;закомментировано&lt;/i&gt; в &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;boards.txt&lt;/span&gt;, а во-вторых - ошибки в ядре и бутлоадере исправлены не до конца. А пофиксить их было бы довольно просто - достаточно посмотреть в исходники &lt;a href="http://www.pjrc.com/teensy/"&gt;Teensy&lt;/a&gt;. Однако, положительный момент тоже присутствует - есть изменения в правильном направлении, а саму поддержку USB из ядра никуда не удалили. И если бы раньше я заключил, что выход Leonardo откладывается до следующего года, то с таким непредсказуемым развитием событий уже завтра может выйти ArduinoIDE 1.1, где оно будет. Собственно, такое бывало и раньше - выпускали новую IDE ради изменений в boards.txt.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Поэтому, для тех, кто хочет поэкспериментировать с Leonardo &lt;i&gt;до&lt;/i&gt; его официального выхода - &amp;nbsp;плата &lt;b&gt;Freeduino 32u4 R2&lt;/b&gt;. Основное отличие от версии R1 - это шелкография, на которой теперь нанесены пины Arduino (сама раскладка осталась совместимой) :&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-oHe_hFs7_rU/TvHZFS_ViqI/AAAAAAAAF1Y/cgMzZE9P9Bk/s1600/freeduino32u4-r2-top.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-oHe_hFs7_rU/TvHZFS_ViqI/AAAAAAAAF1Y/cgMzZE9P9Bk/s1600/freeduino32u4-r2-top.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Есть, правда, и один недочет - дополнительный аналоговый пин &lt;b&gt;A11&lt;/b&gt;, он совмещен с цифровым D6. Напоминаю, что Freeduino 32u4 имеет на борту:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;микроконтроллер &lt;b&gt;ATmega32u4&lt;/b&gt; со встроенной поддержкой &lt;b&gt;USB&lt;/b&gt;;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;b&gt;32K FLASH&lt;/b&gt;, &lt;b&gt;2.5K SRAM&lt;/b&gt;, &lt;b&gt;1K EEPROM&lt;/b&gt;;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;программирование через USB (ArduinoIDE), ISP и JTAG;&amp;nbsp;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;b&gt;25&lt;/b&gt; универсальных пинов, которые могут быть сконфигурированы в качестве входов или выходов, со встроенными подтягивающими резисторами;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;для &lt;b&gt;12&lt;/b&gt; универсальных пинов (из 25) возможна работа в режиме 10-битного &lt;b&gt;АЦП&lt;/b&gt;;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;для &lt;b&gt;7&lt;/b&gt; пинов возможна работа в режиме аппаратного &lt;b&gt;ШИМ&lt;/b&gt;;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;1 х UART, 1 x I2C и 1 x SPI.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
Владельцам Freeduino 32u4 R1, при переходе на ArduinoIDE 1.0 настоятельно рекомендую обновиться:&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://mk90.ru/files/source/freeduino32u4-variant-arduino1.0.tar.gz"&gt;freeduino32u4-variant-arduino1.0.tar.gz&lt;/a&gt;&amp;nbsp;- &lt;u&gt;только &lt;i&gt;variant&lt;/i&gt;&lt;/u&gt;, без измененного ядра - гарантирует аутентичность окружения вашей ArduinoIDE 1.0rc2. Правда, не на всех пинах Freeduino32u4 будет ШИМ.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mk90.ru/files/source/freeduino32u4-core-arduino1.0.tar.gz"&gt;freeduino32u4-core-arduino1.0.tar.gz&lt;/a&gt;&amp;nbsp;- &lt;i&gt;variant&lt;/i&gt; + &lt;i&gt;core&lt;/i&gt;, чтобы всё работало корректно. Именно его я и рекомендую ставить, перетирая существующее core в дистрибутиве.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
В обоих вариантах надо&amp;nbsp;распаковать архивный файл в&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;arduino-1.0/hardware/arduino&lt;/span&gt;&amp;nbsp;и исправить&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;boards.txt&lt;/span&gt;, добавив туда содержимое файла&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;boards.txt.add&lt;/span&gt;:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;pre&gt;leonardo1.name=Freeduino 32u4
leonardo1.upload.protocol=arduino
leonardo1.upload.maximum_size=30720
leonardo1.upload.speed=1200
leonardo1.bootloader.low_fuses=0xde
leonardo1.bootloader.high_fuses=0xda
leonardo1.bootloader.extended_fuses=0xcb
leonardo1.bootloader.path=diskloader
leonardo1.bootloader.file=DiskLoader-Leonardo.hex
leonardo1.bootloader.unlock_bits=0x3F
leonardo1.bootloader.lock_bits=0x2F
leonardo1.build.mcu=atmega32u4
leonardo1.build.f_cpu=16000000L
leonardo1.build.core=arduino
leonardo1.build.variant=freeduino32u4
&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="" style="clear: both; text-align: justify;"&gt;
На всякий случай, названия портов ATmega32u4 сохранены с противоположной стороны платы:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-MsImrrKHTtY/TvIN2XEHatI/AAAAAAAAF2I/59Shscj0sMQ/s1600/freeduino32u4-r2-back.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-MsImrrKHTtY/TvIN2XEHatI/AAAAAAAAF2I/59Shscj0sMQ/s600/freeduino32u4-r2-back.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
(хотя, кто будет туда заглядывать, если она уже вставлена в беспаечную макетку? ;)&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Купить Freeduino32u4 можно &lt;a href="http://mk90.ru/store/ru/microcontrollers/145-freeduino-32u4.html"&gt;здесь&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-1131397490481247078?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/ECr1_SEXqT8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/ECr1_SEXqT8/arduino-10-pinout-ide.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-_ikj6kWUTO8/Tsx1YuzV1-I/AAAAAAAAFls/BiUYqRLECWM/s72-c/pinout1.0-top.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://mk90.blogspot.com/2011/11/arduino-10-pinout-ide.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-3586803257242236400</guid><pubDate>Tue, 13 Dec 2011 09:12:00 +0000</pubDate><atom:updated>2011-12-16T14:38:31.486+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kits</category><category domain="http://www.blogger.com/atom/ns#">проекты в Eagle</category><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><title>Ёлкадуино</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Рискуя превратить свой блог в дайджест журнала &lt;a href="http://www.radio.ru/"&gt;Радио&lt;/a&gt;, в качестве краткого предисловия хочу поделиться содержимым раздела "Радио - начинающим" декабрьского номера: там схемы сразу двух &lt;b&gt;светодиодных ёлок&lt;/b&gt;. Такие, знаете - мигалки - чисто &lt;i&gt;for fun&lt;/i&gt;. Первая схема родом из Украины (автор - В.Хмара из Житомира, усовершенствовал схему А. Лечкина, опубликованную в 2007 году во все том же Радио):&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-NFdGiAbP02w/TuZW4IfcBkI/AAAAAAAAFwU/ROsSgF6ZUZQ/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-NFdGiAbP02w/TuZW4IfcBkI/AAAAAAAAFwU/ROsSgF6ZUZQ/s590/1.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-_F5FARB1ZeU/Tuc8bpAmZ7I/AAAAAAAAFyU/G4lxcdsiJfo/s1600/1a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-_F5FARB1ZeU/Tuc8bpAmZ7I/AAAAAAAAFyU/G4lxcdsiJfo/s640/1a.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Схема выполнена на основе трехфазного мультвибратора, управляющего тремя группами светодиодов (суммарно их 20 штук), создающих эффект "бегущий огонь". Схема довольно &lt;strike&gt;ортодоксальная&lt;/strike&gt; простая, настройка не требуется. Единственное, что можно менять - это скорость переключения, подбирая емкости между транзисторами мультвибратора.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Вторая схема более продвинута, поскольку имеет в своем составе "восьминогий" MCU &lt;b&gt;PIC12F675&lt;/b&gt; (автор - Владимир Баландин), управляющий 28-ю двухцветными светодиодами:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-b_b1NeYmEeo/TuZXYSG52eI/AAAAAAAAFwk/ORcsDS_-2Kw/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-b_b1NeYmEeo/TuZXYSG52eI/AAAAAAAAFwk/ORcsDS_-2Kw/s590/2.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Светодиоды разбиты на две группы, каждый цвет группы управляется отдельно - через четыре полевых транзистора. Эффектов реализовано гораздо больше - "плавное зажигание и погасание" (fading), &amp;nbsp;мигание, переключение цветов. К сожалению, на двух группах светодиодах "бегущие огни" реализовать можно очень и очень условно, но зато для &lt;a href="ftp://ftp.radio.ru/pub/2011/12/elka.zip"&gt;скачивания&lt;/a&gt;&amp;nbsp;доступна микропрограмма с исходниками (и даже вместе с видеороликом, но, к сожалению, автор демонстрирует только один эффект).&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-mnVGAKl2qYc/TuZXZIMH2vI/AAAAAAAAFwg/7kFRJxJZoL8/s1600/2a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-mnVGAKl2qYc/TuZXZIMH2vI/AAAAAAAAFwg/7kFRJxJZoL8/s590/2a.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
К чему это я? Ах да - в качестве иллюстрации: думаю, существует &lt;strike&gt;туева куча &lt;/strike&gt;очень много схем новогодних светодиодных елок, но какая из них &lt;b&gt;самая лучшая&lt;/b&gt; для повторения? Та, которая &lt;b&gt;светит ярче&lt;/b&gt; или та, которая выдает более &lt;b&gt;затейливый эффект&lt;/b&gt;? Не наскучит ли она &amp;nbsp;через пару дней однообразием эффектов? Думаю, читатель уже догадывается, к чему я клоню - было бы прекрасно, если бы внутри такой елки была Arduino-совместимая плата, дающая реципиенту качественно новый простор для творчества.&amp;nbsp;Это была бы, как любят теперь выражаться наши чиновники, &amp;nbsp;&lt;b&gt;&lt;i&gt;умная&lt;/i&gt;&lt;/b&gt; елочка.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Памятуя&amp;nbsp;о изобретении велосипеда, я начал искать Arduino-совместимую елку на просторах Интернета, и нашел практически то, что искал - &lt;a href="http://www.jaycollett.com/2010/11/homemade-blinky-christmas-ornaments/"&gt;Blinky Christmas Ornaments&lt;/a&gt;.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-0npg9A8Y0Oc/TuZfrEWxEKI/AAAAAAAAFxQ/6jFg24fDX5k/s1600/IMG_0933.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-0npg9A8Y0Oc/TuZfrEWxEKI/AAAAAAAAFxQ/6jFg24fDX5k/s590/IMG_0933.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Автор как раз пишет, что &lt;i&gt;I wanted the board to be easily hacked by family and friends that were so inclined&lt;/i&gt; - идея, в точности совпадающая с моей.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-FZPSQtbhd0E/TuZf5I8T6XI/AAAAAAAAFxU/hKJMZQ1Z4do/s1600/IMG_0950.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-FZPSQtbhd0E/TuZf5I8T6XI/AAAAAAAAFxU/hKJMZQ1Z4do/s590/IMG_0950.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;strike&gt;Полностью уничтожив &lt;/strike&gt;немного поработав с&amp;nbsp;неприемлемым&amp;nbsp;для меня контуром-кругляшкой,&amp;nbsp;удалось вписать&amp;nbsp;ребристый елочный профиль в размер для бесплатной версии &lt;a href="http://www.cadsoftusa.com/"&gt;EagleCAD&lt;/a&gt; - 100x80 мм:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-pTcIyqZXTOg/TuZWfulFduI/AAAAAAAAFvw/8OSBHGP9n_0/s1600/hnyduino_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-pTcIyqZXTOg/TuZWfulFduI/AAAAAAAAFvw/8OSBHGP9n_0/s600/hnyduino_1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Основная идея сохранена - использование пары закаскадированных микросхем &lt;b&gt;74HC595N&lt;/b&gt; для индикации на 16 светодиодах (8 зеленых + 8 красных). В центре есть также четыре дополнительных светодиода, непосредственно подключенных к линиям &lt;b&gt;D2&lt;/b&gt;, &lt;b&gt;D3&lt;/b&gt;, &lt;b&gt;D4&lt;/b&gt;, &lt;b&gt;D5&lt;/b&gt; (здесь и далее - нумерация Arduino). В качестве MCU использован &lt;b&gt;ATmega328P-AU&lt;/b&gt; с бутлоадером &lt;b&gt;Duemilanova&lt;/b&gt;, но вместо USB-порта только вилка для кабеля FTDI - не думаю, что наличие отдельного USB-чипа в таком устройстве слабо оправдано. "Хакнуть" елку несложно: достаточно подключить &lt;a href="http://mk90.ru/store/ru/programmatory/19-ftdi-firiend-v11.html"&gt;USB-TTL переходник&lt;/a&gt; и &amp;nbsp;выставить в ArduinoIDE тип платы "Arduino Duemilanova". Если кому-то больше по душе UNO, можно перешить бутлоадер, запаяв гребенку ISP06 и подключив к ней любой &lt;a href="http://mk90.ru/store/ru/programmatory/82-programmator-usbasp.html"&gt;ICSP-программатор&lt;/a&gt;&amp;nbsp;с помощью 6-пинового кабеля.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-pUerTLVH4Uc/TuZjVvku9SI/AAAAAAAAFxk/dg1tOWIm4NY/s1600/hnyduino_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-pUerTLVH4Uc/TuZjVvku9SI/AAAAAAAAFxk/dg1tOWIm4NY/s590/hnyduino_2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Присутствует также и отверстие для подвешивания девайса за ниточку:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-iG4kja6zizQ/TuZjMQfD7zI/AAAAAAAAFxc/6VjrDP0oh3A/s1600/hnyduino_5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-iG4kja6zizQ/TuZjMQfD7zI/AAAAAAAAFxc/6VjrDP0oh3A/s590/hnyduino_5.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Но мне кажется, подвешивать надо за проводочек, по которому приходит +5В ;)&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
В нижней части &lt;b&gt;HNYDuino&lt;/b&gt; (это официальное название, а мне по душе менее благозвучное "Ёлкадуино") - пины для стыковки с подставкой при помощи вилки PLS-R:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Z0xt5IBH5Cs/TubI69L_3sI/AAAAAAAAFxw/igYFD2ffvDo/s1600/hnyduino_6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Z0xt5IBH5Cs/TubI69L_3sI/AAAAAAAAFxw/igYFD2ffvDo/s590/hnyduino_6.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Подставка играет не только декоративную роль, но и несет на себе холдер батарейки типа "крона", стандартный для Arduino разъем питания и защитный диод 1N4007.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-VBAwcPogKeY/TubI6-iiS6I/AAAAAAAAFx0/IOpWd7CC3t8/s1600/hnyduino_8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-VBAwcPogKeY/TubI6-iiS6I/AAAAAAAAFx0/IOpWd7CC3t8/s590/hnyduino_8.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Но самое главное - туда выведены некоторые неиспользуемые пины - &lt;b&gt;D6&lt;/b&gt;, &lt;b&gt;D7&lt;/b&gt;, &lt;b&gt;D9&lt;/b&gt; и &lt;b&gt;A0&lt;/b&gt;, &lt;b&gt;A4&lt;/b&gt;, &lt;b&gt;A5&lt;/b&gt;. Это позволяет читать показания аналоговых датчиков, использовать шину I2C и аппаратный ШИМ.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-JABQXz5teyc/TubI8EopDhI/AAAAAAAAFx8/tuIhjyjbG4c/s1600/hnyduino_9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-JABQXz5teyc/TubI8EopDhI/AAAAAAAAFx8/tuIhjyjbG4c/s590/hnyduino_9.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Расположенный слева DPDT переключает источники питания - либо это &lt;b&gt;+5В&lt;/b&gt; с кабеля FTDI, либо &lt;b&gt;BATT&lt;/b&gt;, приходящий с подставки (напряжение от БП 9..12В или "крона"). Если подключить что-то одно, то он превращается в выключатель.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Что можно сотворить с такой елочкой? Фантазия подсказывает световой датчик (чтобы она&amp;nbsp;зажигалась&amp;nbsp;только с наступлением темноты) и/или датчик звука, реагирующий на хлопки или традиционное "елочка, зажгись!". Более изощренным можно посоветовать подключить по I2C микросхему RTC&amp;nbsp;&lt;a href="http://mk90.ru/store/ru/mikroshemy/139-ds1307n.html"&gt;DS1307&lt;/a&gt;&amp;nbsp;и ровно в 00:00 01.01.201X "неожиданно" замигать всеми огоньками или сыграть гимн через предусмотрительно подключенный пьезодинамик.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Конечно, проект далек от совершенства - тут есть огромный простор для совершенствования. Поэтому, для ищущих &lt;i&gt;even more fun&lt;/i&gt; и готовых поработать самостоятельно - &lt;a href="http://mk90.ru/files/cad/hnyduino_r1.tar.gz"&gt;выкладываю&lt;/a&gt; схему и разводку в Eagle, а также и &lt;a href="http://mk90.ru/files/source/HNY_test1.pde"&gt;тестовый скетч&lt;/a&gt; для проверки работы.&lt;br /&gt;
&lt;br /&gt;
Свои экземпляры я в основном планировал задарить&amp;nbsp;&lt;i style="text-align: left;"&gt;friends that were so inclined, &lt;/i&gt;&lt;span style="text-align: left;"&gt;но &lt;a href="http://mk90.ru/store/ru/microcontrollers/210-hnyduino.html"&gt;несколько экземпляров&lt;/a&gt; отправилась и в магазин.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Happy new hacking! ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-3586803257242236400?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/51DwDpPPLSE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/51DwDpPPLSE/blog-post.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-NFdGiAbP02w/TuZW4IfcBkI/AAAAAAAAFwU/ROsSgF6ZUZQ/s72-c/1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mk90.blogspot.com/2011/12/blog-post.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-6576769028877474408</guid><pubDate>Tue, 06 Dec 2011 20:18:00 +0000</pubDate><atom:updated>2011-12-07T01:41:04.602+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">LaunchPad</category><title>LaunchPad unboxing</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
И все-таки я решил из принципа заказать LaunchPad у TI - со второй попытки у меня получилось. TI не много ни мало... отправляет их FedEx-ом за свой счет! Так что подержать заветную коробочку в руках можно уже через какие-то четыре-пять дней:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-i-5CG8xDbr4/Tt50Tj00FhI/AAAAAAAAFsg/ZlQMQYtStBo/s1600/pic_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-i-5CG8xDbr4/Tt50Tj00FhI/AAAAAAAAFsg/ZlQMQYtStBo/s600/pic_01.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Но, что же внутри? Ниже - фотографии, которых мне так не хватало к статье в &lt;a href="http://mk90.blogspot.com/2011/11/arduino.html"&gt;Радио&lt;/a&gt;&amp;nbsp;для полноты ощущений ;)&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-cjOmOONJEUg/Tt50Th7gmYI/AAAAAAAAFso/xiFaOZd8lMQ/s1600/pic_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-cjOmOONJEUg/Tt50Th7gmYI/AAAAAAAAFso/xiFaOZd8lMQ/s600/pic_02.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Внутри коробки - бумажка. &lt;i&gt;Встречайте меня&lt;/i&gt;, типа.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-90LiFFGf5rY/Tt50T5QyMAI/AAAAAAAAFsk/zd2dtAjU1xI/s1600/pic_03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-90LiFFGf5rY/Tt50T5QyMAI/AAAAAAAAFsk/zd2dtAjU1xI/s600/pic_03.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Кроме самой платы, есть две десятипиновые вилки и розетки (они не запаяны - что именно ставить, решаете самостоятельно), дополнительный микроконтроллер &lt;b&gt;MSP430G2211&lt;/b&gt;, часовой кварц-цилиндрик, шнурок miniUSB, бумажка и две наклейки. Последние я сразу использовал - страсть как люблю всё вокруг обклеивать бессмысленными наклейками!&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-8IstFhhJBVs/Tt50VDPkcAI/AAAAAAAAFsw/XJ-cFgqAfTs/s1600/pic_04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-8IstFhhJBVs/Tt50VDPkcAI/AAAAAAAAFsw/XJ-cFgqAfTs/s600/pic_04.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Сама плата похожа на Arduino по размеру - но строго квадратная и чуть меньше (6,5 на 5 см). Расположение колодок пинов здесь - &lt;strike&gt;тупо&lt;/strike&gt; бесхитростно, один-в-один соответствует расположению пинов самого контроллера - вполне ожидаемое решение от фирмы-производителя чипов. Скорее всего, они полагают, что их решение - наилучшее, и не надо его никак транслировать или преобразовывать.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/--0DSuOa1i_I/Tt50VElyB9I/AAAAAAAAFtA/X8baJU_-Oec/s1600/pic_05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/--0DSuOa1i_I/Tt50VElyB9I/AAAAAAAAFtA/X8baJU_-Oec/s600/pic_05.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
С обратной стороны мы видим прелестные ножки. Мелочь, конечно - но вся плата, по сути - это и есть набор мелочей, профессионально подобранных. Умиление у меня вызвали тактовые кнопки (одна - сброс, другая - просто кнопка) - внешне они похожи на обычные четырехлапные квадратные тактовые кнопки - но лапок у них всего две! ;)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-l6RnRrbywEE/Tt50VNFacMI/AAAAAAAAFs8/cq2Vgcy8Sbg/s1600/pic_06.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-l6RnRrbywEE/Tt50VNFacMI/AAAAAAAAFs8/cq2Vgcy8Sbg/s600/pic_06.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Это и есть тот самый дополнительный &lt;b&gt;MSP430G2211&lt;/b&gt;. По цене он не особенно сильно отличается от MSP430G2231 - оба они стоят около 2 USD.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-mH2Z3_2ywYk/Tt50VzAzsyI/AAAAAAAAFtI/hC-lSMYX3yo/s1600/pic_07.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-mH2Z3_2ywYk/Tt50VzAzsyI/AAAAAAAAFtI/hC-lSMYX3yo/s600/pic_07.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Вставляется он вместо своего коллеги - в цанговую панельку. В этом плане цанга хороша - если надо часто вставлять и вынимать. Она реально на 20 контактов - можно установить любой чип в PDIP-корпусе из этого семейства, если только он сюда влезет. Странно, что не заложили 28-ми контактную (тем более, что в семействе такие чипы - есть). Слева два джампера, отключающие пару светодиодов.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-DjEKHlEDrog/Tt50WIDSVbI/AAAAAAAAFtQ/5vGJgA5m2bo/s1600/pic_08.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-DjEKHlEDrog/Tt50WIDSVbI/AAAAAAAAFtQ/5vGJgA5m2bo/s600/pic_08.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Это - "сердце" отладочной части, чип&amp;nbsp;&lt;b&gt;MSP430F1612&lt;/b&gt;. Это тоже 16-битный MCU из семейства MSP430, только помощнее и подороже - стоит около 500 рублей.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-eXiCiH3OQaI/Tt50W0YiQFI/AAAAAAAAFtg/cQq1_R1BSLE/s1600/pic_09.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-eXiCiH3OQaI/Tt50W0YiQFI/AAAAAAAAFtg/cQq1_R1BSLE/s600/pic_09.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
А это - мост USB &amp;nbsp;&lt;b&gt;TUSB3410V&lt;/b&gt;. Внутри MCU с набором команд 8052, 16K RAM и&amp;nbsp;10K ROM - в последнем даже есть bootloader для шины I2C! Еще ~200 рублей в копилку стоимости.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-5FoW-8JE8CI/Tt50XD4UYEI/AAAAAAAAFtY/35Ie-lEzeRg/s1600/pic_10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-5FoW-8JE8CI/Tt50XD4UYEI/AAAAAAAAFtY/35Ie-lEzeRg/s600/pic_10.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
По умолчанию, кварц не установлен, используется внутренняя RC-цепочка. Поэтому внешние выводы, которые используются под кварц, выведены наружу. В противном случае надо снять резисторы-нулевки и установить кварц с емкостями или резонатор.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-buf4Fyi2dPA/Tt50XRRU3XI/AAAAAAAAFto/Z1o28JZL1Xg/s1600/pic_11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-buf4Fyi2dPA/Tt50XRRU3XI/AAAAAAAAFto/Z1o28JZL1Xg/s600/pic_11.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Вилочки и розетки из комплекта - какие-то понтовые, с надписью даже.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-NKplNYSeHl0/Tt50X5IvljI/AAAAAAAAFtk/eSqYwQBDhHE/s1600/pic_12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-NKplNYSeHl0/Tt50X5IvljI/AAAAAAAAFtk/eSqYwQBDhHE/s600/pic_12.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
А вот и часовой кварц. ТТХ у него самые обычные - и точность, и встроенная емкость. Выглядит он так:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-SIm4mhSTCIU/Tt50YWWxjXI/AAAAAAAAFt4/teYPap0uldg/s1600/pic_13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-SIm4mhSTCIU/Tt50YWWxjXI/AAAAAAAAFt4/teYPap0uldg/s600/pic_13.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Я привык к недорогим часвым кварцам в цилиндрическом корпусе&amp;nbsp;DT-26, но этот какой-то особенный - золотистый, слегка приплюснутый (видимо, чтобы проще было паять корпус), тонюсенькие ножки заранее отформованы. Обратите внимание, что соседние ячейки ленты пустуют - это значит, как минимум спецзаказ. Но все равно - паять такое чудо в домашних условиях сложновато. Логичнее было бы давать что-то в корпусе HC49X.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-TREEnIfbaTU/Tt50Y4VPuFI/AAAAAAAAFt0/ojOtFomnPwg/s1600/pic_14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-TREEnIfbaTU/Tt50Y4VPuFI/AAAAAAAAFt0/ojOtFomnPwg/s600/pic_14.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-to0FyrIrOP0/Tt50ZJ9ZFGI/AAAAAAAAFt8/cl7gCSaqEn4/s1600/pic_15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-to0FyrIrOP0/Tt50ZJ9ZFGI/AAAAAAAAFt8/cl7gCSaqEn4/s600/pic_15.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Бумажка несет в себе декоративную ценность. И действительно, никакого софта в комплекте. Логично, если учесть, с какой скоростью этот самый софт устаревает.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-wKv7xW6QvCw/Tt50Zcbll6I/AAAAAAAAFuM/3muQBgpiJfg/s1600/pic_16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-wKv7xW6QvCw/Tt50Zcbll6I/AAAAAAAAFuM/3muQBgpiJfg/s600/pic_16.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Содержательная часть - четыре шага.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-UZ3sVIe4UeA/Tt50Z25FNyI/AAAAAAAAFuU/XW_jJJbYn8A/s1600/pic_17.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-UZ3sVIe4UeA/Tt50Z25FNyI/AAAAAAAAFuU/XW_jJJbYn8A/s600/pic_17.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Ну и целый разворот предупреждений. Особенно "повезло" японцам - платка не соответствует Technical Regulation of Radio Law of Japan.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-YPOsFRHBV9w/Tt50aE7I97I/AAAAAAAAFuI/JGTGzw3XOsY/s1600/pic_18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-YPOsFRHBV9w/Tt50aE7I97I/AAAAAAAAFuI/JGTGzw3XOsY/s600/pic_18.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Приглашение в wiki - логичное завершение этой листовки. Именно там можно получить всю инфу - ссылку на совместимые котроллеры, firmware, software и&amp;nbsp;&lt;a href="http://hackaday.com/2010/08/11/how-to-launchpad-programming-with-linux/"&gt;howto компилировать в Linux&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Как и для Arduino, схемы LaunchPad выложены в виде CAD-файлов Eagle. Правда, не совсем ясно, зачем это надо - кому придет в голову повторять эту плату, если даже по деталям она стоит не менее 900 рублей, а продается за какие-то $4.3, включая курьерскую доставку за счет отправителя ;)&lt;br /&gt;
&lt;br /&gt;
Если будет свободное время - обязательно продолжу разбор этой железки, потому что теперь уже ясно видно - при ее создании без влияния Arduino не обошлось!&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-6576769028877474408?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/bokAS69sknA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/bokAS69sknA/launchpad-unboxing.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-i-5CG8xDbr4/Tt50Tj00FhI/AAAAAAAAFsg/ZlQMQYtStBo/s72-c/pic_01.jpg" height="72" width="72" /><thr:total>24</thr:total><feedburner:origLink>http://mk90.blogspot.com/2011/12/launchpad-unboxing.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-8383553271590357621</guid><pubDate>Tue, 29 Nov 2011 15:33:00 +0000</pubDate><atom:updated>2011-12-02T10:42:16.036+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Новости</category><category domain="http://www.blogger.com/atom/ns#">Hardware</category><category domain="http://www.blogger.com/atom/ns#">ArduinoCompatible</category><title>Angelino R1</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Наконец-то дошли руки и до комплекта Arduino Minimum на печатной плате (&lt;strike&gt;безжалостный&lt;/strike&gt; умеренный плагиат с платы &lt;a href="http://mk90.blogspot.com/2010/06/diavolino.html"&gt;Diavolino&lt;/a&gt;):&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-m-LH7_6tBV8/TtUtHfbWEaI/AAAAAAAAFro/dyDb2TJb48o/s1600/angelino_r1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-m-LH7_6tBV8/TtUtHfbWEaI/AAAAAAAAFro/dyDb2TJb48o/s600/angelino_r1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Плата будет полезна тем, кто периодически занимается проектами на основе Arduino. Предполагается, что основная стадия отладки уже завершена, и требуется постепенно делать проект более автономным. Что значит "постепенно"? В моем понимании - освобождая от ненужного. Перечислю основные моменты:&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;Ничего лишнего: вместо портов USB и RS232 - только последовательный порт USART на TTL-уровнях. Так что для загрузки скетчей потребуется дополнительный конвертер, типа &lt;a href="http://mk90.ru/store/ru/programmatory/19-ftdi-firiend-v11.html"&gt;такого&lt;/a&gt;;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Возможность питания напрямую от батарейного отсека, источника стабилизированного питания +5В или от блока питания +7-12В;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Наличие автосброса и возможность его отключения.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Никакой схемы автовыбора источника питания нет - как нет и защитного диода. Почему? Предполагается, что в фазе постпротипизации вы уже определились с источником питания и &amp;nbsp;не собираетесь тратить, быть может, критичные для проекта 1,1В впустую. Гораздо выгоднее сразу запитаться от пятивольтового блока питания с разъемом 2.1 мм или от переходника USB-TTL.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Для автономных проектов отлично подходит &lt;a href="http://mk90.ru/store/ru/pitanie/104-boks-dlja-batarey-3-x-aa.html"&gt;батарейный отсек 3хAA&lt;/a&gt; - в сумме получается 4,5В. В качестве альтернативы можно использовать отсек 4xAA с аккумуляторами (~4,8В).&amp;nbsp;Если не устанавливать светодиод L, то можно добиться &amp;nbsp;большей четкости &amp;nbsp;работы &lt;a href="http://mk90.blogspot.com/search/label/lol"&gt;LoLShield&lt;/a&gt;, что советует даже сам автор - J.P.Rogers.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
Заказать набор для сборки за 350 рублей можно &lt;a href="http://mk90.ru/store/ru/microcontrollers/200-angelino-r1.html"&gt;здесь&lt;/a&gt;. Собрать самому - совсем несложно, пошаговое руководство &lt;a href="http://howtomakekit.blogspot.com/2011/11/angelino.html"&gt;здесь&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Update по просьбам читателей - схема (кликабельно):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-j_Fv-4Wk9sU/Tthyzix6C5I/AAAAAAAAFsM/GhEZ02nOdvw/s1600/shematic_r1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-j_Fv-4Wk9sU/Tthyzix6C5I/AAAAAAAAFsM/GhEZ02nOdvw/s600/shematic_r1.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-8383553271590357621?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/PNKUa2elKcE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/PNKUa2elKcE/angelino-r1.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-m-LH7_6tBV8/TtUtHfbWEaI/AAAAAAAAFro/dyDb2TJb48o/s72-c/angelino_r1.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://mk90.blogspot.com/2011/11/angelino-r1.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8944086625767573647.post-8186027945566430482</guid><pubDate>Fri, 25 Nov 2011 11:58:00 +0000</pubDate><atom:updated>2011-12-01T17:51:35.470+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Новости</category><category domain="http://www.blogger.com/atom/ns#">Linuxcenter.ru</category><category domain="http://www.blogger.com/atom/ns#">пресса</category><category domain="http://www.blogger.com/atom/ns#">Начинающим</category><category domain="http://www.blogger.com/atom/ns#">Arduino</category><category domain="http://www.blogger.com/atom/ns#">Книги</category><title>Книга про Arduino на русском</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Спешу поделиться хорошей новостью: издательства наконец-то заинтересовались темой Arduino и выпустили перевод Соммерса (отличилось питерское издательство &lt;b&gt;BHV&lt;/b&gt;):&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;img border="0" src="http://4.bp.blogspot.com/-AoSjyPkK1i4/Ts-FjYX9bFI/AAAAAAAAFnk/F3LrNCSlqUA/s1600/sommers.png" /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Книгу в руках пока не держал, но доступен небольшой фрагмент в виде &lt;a href="http://mk90.ru/files/books/sommers-announce.pdf"&gt;PDF&lt;/a&gt; (только оглавление и введение). Его хватает, чтобы оценить объем рассмотренных вопросов, но, к сожалению, недостаточно для понимания качества и полноты изложения. Тем не менее, уже сейчас &lt;i&gt;Программирование микроконтроллерных Плат Arduino/Freeduino&lt;/i&gt;&amp;nbsp;можно купить:&lt;/div&gt;
&lt;div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;a href="http://goo.gl/u1Za8"&gt;в Линуксцентре&lt;/a&gt;&amp;nbsp;- &lt;b&gt;300&lt;/b&gt; руб.;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://goo.gl/syUEC"&gt;на Озон-е&lt;/a&gt;&amp;nbsp; - &lt;b&gt;237&lt;/b&gt; руб.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Если кто-то уже может поделиться впечатлениями - милости прошу в комменты.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;Материал опубликован на сайте mk90.blogspot.com под лицензией Creative Commons Share Alike 3.0&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8944086625767573647-8186027945566430482?l=mk90.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/mk90/~4/Bs_P496_lgU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/mk90/~3/Bs_P496_lgU/arduino_25.html</link><author>noreply@blogger.com (id)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-AoSjyPkK1i4/Ts-FjYX9bFI/AAAAAAAAFnk/F3LrNCSlqUA/s72-c/sommers.png" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://mk90.blogspot.com/2011/11/arduino_25.html</feedburner:origLink></item></channel></rss>

