Текст книги "Знакомство с Arduino (перевод книги "Getting Started with Arduino")"
Автор книги: Автор Неизвестен
Жанр:
Компьютерное "железо"
сообщить о нарушении
Текущая страница: 1 (всего у книги 5 страниц)
Знакомство с Arduino (перевод книги «Getting Started with Arduino»)
Текст взят из файла Getting Started with Arduino.chm, гуляющего по сети интернет.
В книге описана работа с платой Arduino Duemilanove, но вы можете использовать примеры программ с любой из плат семейства Arduino, просто внимательно читайте описание выводов вашей платы.
Содержание:
Глава1. Введение
1.1 Целевая аудитория
1.1.1 Дизайн взаимодействия – это дизайн любого опыта взаимодействия
1.2 Что такое физические вычисления?
Глава 2. Путь Arduino
2.1 Прототипирование
2.2 Самоделкины
2.3 Смешивание
2.4 Искажение схем
2.5 Хаки клавиатуры
2.6 Мы любим мусор!
2.7 Хакайте игрушки
2.8 Сотрудничество
Глава 3. Платформа Arduino
3.1. Аппаратное обеспечение Arduino
3.1.1 14 контактов цифрового ввода-вывода (контакты 0-13)
3.1.2 6 контактов аналогового входа (контакты 0–5)
3.1.3 Контакты аналогового выхода (контакты 3, 5, 6, 9, 10 и 11)
3.2 Интегрированная среда разработки (IDE)
3.3 Установка Arduino на ваш компьютер
3.4 Установка драйверов: Macintosh
3.5 Установка драйверов: Windows
3.6 Идентификация порта: Macintosh
3.7 Идентификация порта: Windows
Глава 4. Знакомство с Arduino – теперь точно!
4.1 Анатомия интерактивного устройства
4.2 Сенсоры и актюаторы
4.3 Мигание светодиодом
4.4 Передайте мне пармезан
4.5 Arduino не остановить
4.6 Настоящие самоделкины пишут комментарии
4.7 Код, шаг за шагом
4.8 Что мы будем создавать
4.9 Что такое электричество?
4.10 Использование кнопки для управления светодиодом
4.11 Как это работает?
4.12 Одна схема, тысяча применений
5. Продвинутый ввод-вывод
5.1 Пробуем другие датчики включения-выключения
5.1.1 Выключатели
5.1.2 Термостаты
5.1.3 Магнитные переключатели, также известные как «герконы»
5.1.4 Ковровые переключатели
5.1.5 Датчики наклона
5.2 Управление светом при помощи ШИМ
5.3 Использование фотодатчика вместо кнопки
5.4 Аналоговый ввод
5.5 Попробуйте другие аналоговые датчики
5.6 Последовательная связь
5.7 Управление большими нагрузками (электродвигатели, лампы и тому подобное)
5.8 Сложные сенсоры
Глава 6. Разговоры с облаками
6.1 Цифровой вывод
6.1.1 Цифровой вывод
6.1.2 Аналоговый вывод
6.1.3 Цифровой ввод
6.1.4 Аналоговый ввод
6.1.5 Последовательная связь
6.2 Планирование
6.3 Программирование
6.4 Сборка схемы
6.5 Как собрать лампу
Глава 7. Устранение неполадок
7.1 Понимание
7.1.1 Понимание
7.1.2 Упрощение и разделение
7.1.3 Исключение и уверенность
7.2 Проверка платы
7.3 Проверка схемы на макетной плате
7.4 Выделение проблемы
7.5 Проблемы с IDE
7.6 Как получить помощь онлайн
Приложение A. Макетная плата
Приложение B. Маркировка резисторов и конденсаторов
Глава 1. Введение
Arduino – физическая вычислительная платформа и открытым исходным кодом, основанная на просто плате ввода-вывода и среда разработки, которая использует язык Processing (www.processing.org). Arduino может применяться для разработки самостоятельных интерактивных обьектов или может быть связана с программой на вашем компьютере (такой как Flash, Processing, VVVV, или Max/MSP). Платы могут быть собраны самостоятельно или куплены уже собранными; среда разработки (далее IDE) может быть загружена бесплатно с сайта www.arduino.cc
Arduino отличается от других платформ на рынке следующими возможностями:
Это многоплатформенная среда, она может работать на Windows, Macintosh, и Linux.
Она основана на IDE языка Processing, лёгкой в использовании среде разработки, для использования художниками и дизайнерами.
Она программируется через кабель USB, а не через последовательный порт. Это полезно, так как многие современные компьютеры не имеют последовательных портов.
Это открытые аппаратное и программное обеспечение – если хотите, вы можете скачать схему, купить все компоненты и сделать всё сами, без оплаты разработчикам Arduino.
Компоненты недорогие. Плата USB стоит около €20 (в настоящее время около US$35) и замена сгоревшей микросхемы на плате легка и стоит не более €5 или US$4. Так что вы можете ошибаться.
Существует активное общество пользователей, так что вам может помочь большое число людей.
Проект Arduino развивался как образовательный и поэтому он отлично подходит начинающим для быстрого обучения.
Эта книга была создана для того чтобы начинающие поняли преимущества, которые они могут получить от изучения возможностей применения, а также для того, чтобы они поняли её философию.
1.1 Целевая аудитория
Эта книга была написана для «настоящих» пользователей Arduino: дизайнеров и художников. Поэтому она пытается объяснять вещи таким образом, который может свести некоторых инженеров с ума. Вообще-то, один из них назвал вступительные главы моего первого проекта отстоем. В этом-то и дело. Посмотрим правде в глаза: большинство инженеров не в состоянии объяснить то, что они делают другим инженерам, не говоря уже об обычных людях.
Примечание: Arduino опирается на тезисную работу Эрнандо Баррагана, которую он сделал на платформе Wiring во время учебы под началом Casey Reasи меня в IDII Ivrea.
После того, как Arduino начала становиться популярной, я понял что экспериментаторы, люди с хобби и хакеры всех видов начали использовать её для создания прекрасных и безумных вещей. Я понял, что вы все художники и создатели в собственном праве, так что эта книга для вас.
Arduino был создан для изучения дизайна взаимодействия – дисциплины конструирования, которая ставит прототипирование в центр методологии. Существует множество определений дизайна взаимодействия, но я предпочитаю следующее:
1.1.1 Конструирование взаимодействия – это дизайн любого опыта взаимодействия
В сегодняшнем мире дизайн взаимодействия касается значимого опыта между нами (людьми) и обьектами. Это хороший способ изучить возможность создания красивых и, может быть, даже спорных опытов между нами и технологией. Дизайн взаимодействия предлагает разработку путем интерактивного процесса, основанного на прототипах все возрастающей верности. Такой подход – также часть некоторых типов «обычной» разработки – может быть расширен до включения прототипирования с помощью технологии; в частности, прототипирование в электронике.
Конкретной областью дизайна взаимодействия, которой занимается Arduino, являются физические вычисления (или физический дизайн взаимодействия).
1.2 Что такое физические вычисления?
Физические вычисления используют электронику для прототипирования новых материалов для дизайнеров и художников.
Он включает разработку интерактивных объектов, которые могут общаться с людьми с применением датчиков и исполнительных механизмов, управляемых поведеним, которое реализовано в виде программного обеспечения, запущенного в микроконтроллере (небольшом компьютере на одной микросхеме).
В прошлом использовать электронику означало всё время иметь дело с инженерами и создавать один маленький компонент в то-же время. Эти вопросы отделяли творческих людей от игр с окружающей средой напрямую. Большинство инструментов были предназначены для инженеров и требовали обширных знаний. В последние годы микроконтроллеры стали более дешевы и легки в применении, позволяя создавать более лучшие инструменты.
Прогресс, который мы сделали с Arudino, должен приблизить эти инструменты на шаг ближе к новичкам, позволяя людям начать создание вещей после двух-трёх дней учёбы.
С Arduino дизайнер иди художник может узнать основы электроники и сенсоров очень быстро и может начать создавать прототипы с очень маленькими вложениями.
Глава 2. Путь Arduino
Философия Arduino основана на создании проектов вместо разговоров о них. Это постоянный поиск более быстрых и ярких способов строить лучшие прототипы. Мы изучили множество способов прототипирования и создали способы мышления с применением рук.
Классический инжиниринг полагается на строгий процесс получения А из Б, а прелесть пути Arduino – возможность уйти с этого пути и вместо него получить В.
Это процесс рукоделия, который мы так любим – играть с окружающей средой в бесконечном поиске и находить неожиданное. В этом поиске путей постройки лучших прототипов мы также выбрали ряд программных пакетов, которые обеспечили этот процесс постоянного манипулирования средой программного и аппаратного обеспечения.
Следующие несколько разделов представляют несколько философий, событий и пионеров, которые вдохновили на Путь Arduino.
2.1 Прототипирование
Прототипирование – сердце пути Arduino: мы делаем вещи и создаём обьекты, которые взаимодействуют с другими обьектами, людьми и сетями. Мы стремимся найти более простой и быстрый путь создания прототипа наиболее дешёвёвым способом.
Многим новичкам, который знакомятся с электроникой в первый раз, кажется что они должны научиться строить всё с нуля. Это пустая трата энергии: что вам надо, так это очень быстро просто удостовериться в том, что что-то работает, так-что вы сможете мотивировать себя предпринять следующий шаг или даже мотивировать кого-то ещё дать вам побольше денег для реализации задуманного.
Именно поэтому мы разработали "оппортунистическое прототипирование": зачем тратить время и энергию, строить с нуля (процесс, который требует времени и глубоких технических знаний), когда можно взять готовые устройства и взломать их чтобы использовать большую работу, проделанную крупными компаниями и хорошими инженерами?
Наш герой – Джеймс Дайсон, который создал 5127 прототипов своего пылесоса прежде чем удовлетворился в том, что сделал всё как надо (www.international.dyson.com/jd/1947.asp).
2.2 Самоделкины
Мы полагаем, что для работы с технологиями важно изучать различные возможности прямо на аппаратном и программной обеспечении иногда без точно определённой цели.
Повторное применение существующей технологии – наилучший путь для самоделкина. Получить дешёвые игрушки или списанное оборудование и взломать их для того, чтобы заставить их сделать что-то новое – один из способов достижения великих результатов.
2.3 Сшивание
Я всегда был очарован модульностью и возможность построения сложных систем соединением простых устройств. Этот процесс очень хорошо показан Робертом Мугом и его аналоговыми синтезаторами. Музыканты создавали звуки, пробую бесконечные комбинации «сшивая» различные модули при помощи кабелей. При таком подходе синтезатор выглядит как старинный телефонный коммутатор, но в соединении со множеством кнопок, это прекрасная платформа для экспериментов со звуком и инновационной музыкой. Муг определил это как процесс между «свидетельством и открытием» . Я уверен, что большинство музыкантов не знали что делают все эти сотни кнопок, но они пробовали и пробовали, перерабатывая собственный стиль безостановочным потоком.
Снижение количества остановок потока очень важно для творчества – чем более беспрерывный процесс, тем больше получится рукоделия.
Эта техника была переведена в мир программ при помощи средств "визуального программирования" , таких как Max, Pure Data, или VVVV. Эти инструменты визуализированы как "ящики" с разной фукнциональностью, позволяя пользователю строить связи, соединяя эти ящики вместе. Эти среды позволяют пользователю экспериментировать с программированием без постоянных перерывов, типичных для обычного цикла: "ввести программу, скомпилировать, чёрт побери – тут ошибка, исправить ошибку, скомпилировать, запустить". Если вы нацеливаетесь на визуализацию, рекомендую попробовать их.
2.4 Искажение схем
Искажение схемы – одна из наиболее интересных форм творчества.. Это творческое короткое замыкание низковольтных аудиоприборов с питанием от батарей, таких как педали гитарных эффектов, детские игрушки и небольшие синтезаторы для получения новых музыкальных инструментов и генераторов звука. Сердце этого процесса – «искусство шанса». Оно было начато Ридом Газала, который случайно закоротил гитарный усилитель железякой в своём ящике стола, что вызвало поток необычных звуков. Что мне нравится в искажателях схем – это то, что они могут создать самые дикие устройства при помощи технологий без понимания что они собственно делают с теоретической стороны.
2.5 Хаки клавиатуры
Компьютерные клавиатуры – всё ещё основной способ общения с компьютером на протяжении более 60 лет. Алекс Пентленд, академический глава MIT Media Laboratory, однажды заметил: «Извините за выражение, но мужские писсуары мужчин компьютеров. Компьютеры отделены от того, что вокруг них».
Как экспериментаторы, мы можем реализовывать новые пути общения с программами, заменяя клавиши устройствами, которые могут получать данные от окружающей среды. Клавиатура отдельно от компьютера, является простым (и дешёвым) устройством. Её сердце – маленькая платка. Обычно это дурно пахнущая зелёная или коричневая плата с двумя рядами контактов, которые идут к пластиковым прокладам, осуществляющим соединения между клавишами. Если вы снимете их и используете провод чтобы соединить контакты, на дисплее компьютера появится символ. Если вы приобретёте детектор движения и подключите его к своей клавиатуре, вы увидите, что как только кто-то пройдёт мимо компьютера, будет "нажата" клавиша. Свяжите его с вашей любимой программой, и вы сделаете свой компьютер умнее писсуара. Изучение хаков клавиатуры – ключевой кирпичик прототипирования и физических вычислений.
2.6 Мы любим мусор!
В настоящее время люди выбрасывают множество техники: старые принтеры, компьютеры, странные офисные машины, техническое оборудование и даже множество военных устройств. Это всегда было большим рынком для такой продвинутой технологии, особенно среди молодых и/или бедных хакеров, которые только начинают свой путь. Этот рынок стал очевидным в Иври, где мы разрабатывали Arduino. В городе расположен главный офис компании Оливетти. Они производят компьютеры с 1960-х годов; в середине 1990-х они выбросили всё на свалки района. Они были полны компьютерных частей, электронных компонентов и странных устройств различных видов. Мы потратили здесь бесконечные часы, выбирая все сорта приспособлений за небольшие деньги и применяя их в своих прототипах. Если вы покупаете тысячу динамиков за необльшие деньги, в конце-концов вы родите какую-нибудь идею. Накапливайте мусор и просматривайте его перед началом создания чего-нибудь с нуля.
2.7 Хакайте игрушки
Игрушки – фантастический источник дешёвых технологий для хака и повторного использования, об этом свидетельствует практика искажения схем, упомянутая ранее. При нынешнем притоке очень дешёвых высокотехнологичных игрушек из Китая вы можете быстро реализовать идеи при помощи нескольких мяукающих котов или световых мечей. Я делал это несколько лет для того чтобы заставить понять моих студентов что технология – не страшна, и не сложна в понимании. Один из моих любимых источников – это буклет «Низкотехнологичные сенсоры и актюаторы» авторов Usman Haque и Adam Somlai-Fischer. Я думаю, что они прекрасно описали эту технику в своей книге, и я использую это при любом удобном случае.
2.8 Сотрудничество
Сотрудничество между пользователями является одним из их ключевых принципов мира Arduino – через форум на www.arduino.cc люди из разных уголков мира помогают друг другу в изучении платформы. Команда Arduino побуждает людей к сотрудничеству на местном уровне, а также помогая им создавать группы пользователей в каждом городе, который они посещают. Мы также создали Wiki, названную «Детская площадка» (www.arduino.cc/playground), где пользователи документируют свои результаты. Это так удивительно видеть, как много знаний эти люди вываливают в сеть для всех пользователей. Эта культура обмена опытом и помощи друг другу – одна из вещей, которыми я больше всего горжусь в связи с Arduino.
Глава 3. Платформа Arduino
Arduino состоит из двух основных частей – платы Arduino, которая является частью аппаратного обеспечения, над которым вы работаете при создании собственных обьектов; и среды разработки (IDE) Arduino – программного обеспечения, которое вы запускаете на своём компьютере. Вы используете IDE для создания скетчей (маленьких компьютерных программ), которые выгружаются на плату Arduino. Скетч говорит плате что делать.
Не так давно работа на аппаратным обеспечением означала создание схем с нуля, используя сотни различных компонентов со странными названиями, такими как резисторы, конденсаторы, индуктивности, транзисторы и тому подобными.
Каждая схема была спаяна для выполнения одного специфического приложения и изменения требовали отрезания проводов, перепайки соединений и т.п.
С появленияем цифровых технологий и микропроцессоров эти функции, ранее реализованные проводами, заменены программами.
Программное обеспечение легче менять, чем аппаратное. Несколькими нажатиями вы можете радикально изменить логику устройства и испытать две или три её версии за то-же время, которое потребуется на перепайку нескольких резисторов.
3.1. Аппаратное обеспечение Arduino
Плата Arduino – небольшая плата микроконтроллера, состоящая из небольшой схемы, содержащей целый компьютер в маленьком чипе (микроконтроллер). Этот компьютер по крайней мере в тысячу раз менее мощный чем MacBook, на котором я пишу эту книгу, но он намного дешевле и очень полезен для постройки интересных устройств. Посмотрите на плату Arduino – вы увидите чёрный чип с 28 «ножками» – это ATmega168, сердце вашей платы.
Мы (команда Arduino разместили на этой плате все компоненты, требуемые для нормальной работы и связи с компьютером этого микроконтроллера. Существует много версий этой платы; та, которую мы описываем в книге – ArduinoDuemilanove, сама простая в использовании и наилучшая для изучения. Однако эти-же инструкции подходят к ранним версиям платы, включая последнюю Arduino Diecimila и более старую Arduino NG. На рис. 3-1 показана Arduino Duemilanove, на рис. 2 – Arduino NG.
На иллюстрациях ниже вы видите плату Arduino. Во-первых, все эти разъёмы могут немного напугать. Вот пояснение того, что делает каждый элемент платы:
3.1.1 14 контактов цифрового ввода-вывода (контакты 0-13)
Они могут быть как входами, так и выходами, что определяется вашим скетчем.
3.1.2 6 контактов аналогового входа (контакты 0–5)
Эти отдельные контакты для аналогового входа получают аналоговые значения (например, величину напряжение в датчике) и преобразовывают их в цифры от 0 до 1023.
3.1.3 Контакты аналогового выхода (контакты 3, 5, 6, 9, 10 и 11)
Шесть цифровых контактов, которые могут быть запрограммированы на аналоговый выход при помощи вашего скетча.
Плата может быть запитана от USB-порта компьютера, большинства USB-зарядных устройств, или от AC-адаптера (рекомендуется напряжением 9 вольт, разъём 2,1мм, плюс в центре). Если в разъём питания не подключён источник, плата получает питания от USB-разъёма, но как только вы подключите источник питания, она автоматически переключится на него.
Примечание: Если вы используете старую Arduino-NG или Arduino Diecimila, вам надо установить перемычку выбора питания (помеченную на плате PWR_SEL) на отметку EXT (внешнее) или USB-питание. Эта перемычка расположена между разъмёмом для AC-адаптера и USB-портом.
Рис. 3-1. Arduino Duemilanove
Рис. 3-1. Arduino Duemilanove
Рис. 3-2. Arduino NG
Рис. 3-2. Arduino NG
3.2 Интегрированная среда разработки (IDE)
IDE (интегрированная среда разработки) – это специальная программа, работающая на вашем копьютере, которая позволяет вам писать скетчи для платы Arduino на простом языке по образцу языка Processing. Когда вы нажмёте кнопку выгрузки скетча на плату, случится волшебство – код, который вы написали, будет транслирован в язык C (который немного сложен для начинающих), и будет передан компилятору avr-gcc, важной части открытого программного обеспечения, который и произведёт финальную трансляцию в язык, понятный микроконтроллеру. Последний шаг очень важен, так как Arduino упрощает вам жизнь, скрывая все возможны есложности программирования микроконтроллеров.
Цикл программирования Arduino упрощённо выглядит так:
Подключите вашу плату в USB-порт своего компьютера.
Напишите скетч, оживляющий плату
Выгрузите этот скетч на плату через USB-соединение и подождите несколько секунд для перезапуска платы
Плата выполнит написанный вами скетч.
Примечание: Установка Arduino на Linux в настоящее время немного усложнена. См. полные инструкции на www.arduino.cc/playground/Learning/Linux.
3.3. Установка Arduino на ваш компьютер
Чтобы запрограммировать вашу плату Arduino, сначала вы должны скачать среду разработки (IDE) отсюда: www.arduino.cc/en/Main/Software. Выберите подходящую версию для своей операционной системы.
Скачайте файл и дважды щёлкните на нём для распаковки; он создаст папку с именем arduino-[версия], например, arduino-0012. Перетащите эту папку в любое удобное вам место: на рабочий стол, в свою папку или папку приложений (на Mac), или в папку C:Program Files (на Windows). Теперь, когда вы захотите запустить среду разработки Arduino, откройте эту папку и дважды щёлкните на иконке Arduino. Пока-что не делайте этого, нам требуется выполнить ещё один шаг.
Примечание: Если у вас есть проблемы с запуском Arduino IDE, см. Главу 7, Устранение неполадок.
Теперь вам требуется установить драйверы, которые позволят вашему компьютеру общаться с платой через порт USB.