Информация о книге

978-5-9775-3337-9

Главная  » Научно-техническая литература » Информационные технологии. Компьютеры » Программирование » Основы программирования и алгоритмы » Проекты с использованием контроллера Arduino

Петин В., Проекты с использованием контроллера Arduino


серия: Электроника
BHV, 2014 г., 978-5-9775-3337-9


Описание книги

Рассмотрены основные платы Arduino и платы расширения (шилды), добавляющие функциональность основной плате. Подробно описан язык и среда программирования Arduino IDE. Тщательно разобраны проекты с использованием контроллеров семейства Arduino. Это проекты в области робототехники, создания погодных метеостанций, "умного дома", вендинга, телевидения, Интернета, беспроводной связи (bluetooth, радиоуправление). Для всех проектов представлены схемы и исходный код. Также приведен исходный код для устройств Android, используемых в проектах для связи с контроллерами Arduino. На сайте издательства размещен архив с исходными кодами программ проектов из книги, исходными кодами библиотек, описаниями и спецификациями электронных компонентов, схемами из книги в формате spl7.

Поделиться ссылкой на книгу



Содержание книги

Предисловие
Для кого и о чем эта книга?
Структура книги
Благодарности
Часть I. Arduino - общий обзор
Глава 1. Введение в Arduino
1.1. Arduino - что это?
1.2. В чем преимущество Arduino?
1.3. История создания Arduino
Глава 2. Обзор контроллеров семейства Arduino
2.1. Arduino Pro Mini
2.2. Arduino Duemilanove
2.3. Arduino Nano
2.4. Arduino LilyPad
2.5. Arduino Uno
2.6. Arduino Mega2560
2.7. Arduino Leonardo
2.8. Arduino Due
Глава 3. Платы расширения Arduino
Часть II. Среда разработки и язык
программирования контроллеров Arduino
Глава 4. Среда программирования Arduino IDE
4.1. Установка Arduino IDE в Windows
4.2. Установка Arduino IDE в Linux
4.3. Настройка средв Arduino IDE
Глава 5. Программирование в Arduino
5.1. Базовые знания
5.1.1. Цифровые выводы
5.1.2. Аналоговые входы
5.1.3. Широтно-импульсная модуляция
5.1.4. Память в Arduino
5.2. Структура программы
5.2.1. Функции setup() и loop()
5.3. Синтаксис и операторы
5.3.1. Управляющие операторы
5.3.1.1. Оператор if (условие) и операторы
сравнения ==, !=, < , >
5.3.1.2. Оператор if..else
5.3.1.3. Оператор for
5.3.1.4. Оператор switch
5.3.1.5. Оператор while
5.3.1.6. Оператор do ... while
5.3.1.7. Оператор break
5.3.1.8. Оператор continue
5.3.1.9. Оператор return
5.3.2. Синтаксис
5.3.2.1. ; (точка с запятой) ; (semicolon)
5.3.2.2. {} (фигурные скобки) {} (curly braces)
5.3.2.3. Комментарии // (single line comment), /* */
(multi-line comment)
5.3.3. Арифметические операторы
5.3.3.1. = (assignment) = оператор присваивания
5.3.3.2. + (cложение), - (вычитание), *
(умножение) , / (деление)
5.3.3.3. % (modulo)
5.3.4. Операторы сравнения
5.3.5. Логические операторы
5.3.5.1. && (логическое И)
5.3.5.2. || (логическое ИЛИ)
5.3.5.3. ! (логическое отрицание)
5.3.6. Унарные операторы
5.3.6.1. ++ (увеличение значения) / --
(уменьшение значения)
5.3.6.2. += , -= , *= , /=
5.4. Данные
5.4.1. Типы данных
5.4.1.1. boolean
5.4.1.2. char
5.4.1.3. byte
5.4.1.4. int
5.4.1.5. unsigned int
5.4.1.6. long
5.4.1.7. unsigned long
5.4.1.8. float
5.4.1.9. double
5.4.1.10. string - текстовые строки
5.4.1.11. Массивы
5.4.1.12. void
5.4.2. Константы
5.4.3. Переменные
5.4.3.1. Объявление переменных
5.4.3.2. Границы переменных
5.4.4. Преобразование типов данных
5.4.4.1. char()
5.4.4.2. byte()
5.4.4.3. int()
5.4.4.4. long()
5.4.4.5. float()
5.5. Функции
5.5.1. Цифровой ввод/вывод
5.5.1.1. Функция pinMode
5.5.1.2. Функция digitalWrite()
5.5.1.3. Функция digitalRead()
5.5.2. Аналоговый ввод/вывод
5.5.2.1. Функция analogRead()
5.5.2.2. Функция analogReference()
5.5.2.3. Функция analogWrite()
5.5.3. Дополнительные фунции ввода/вывода
5.5.3.1. Функция tone()
5.5.3.2. Функция noTone()
5.5.3.3. Функция shiftOut()
5.5.3.4. Функция pulseIn()
5.5.4. Работа со временем
5.5.4.1. Функция millis()
5.5.4.2. Функция micros()
5.5.4.3. Функция delay()
5.5.4.4. Функция delayMicroseconds()
5.5.5. Математические функции
5.5.5.1. Функция min(x,yx)
5.5.5.2. Функция max(x, y)
5.5.5.3. Функция abs()
5.5.5.4. Функция constrain(x, a, b)
5.5.5.5. Функция map(value, fromLow, fromHigh,
toLow, toHigh)
5.5.5.6. Функция pow(base, exponent)
5.5.5.7. Функция sq(x)
5.5.5.8. Функция sqrt(x)
5.5.6. Тригонометрические функции
5.5.6.1. Функция sin(rad)
5.5.6.2. Функция cos(rad)
5.5.6.3. Функция tan(rad)
5.5.7. Генераторы случайных значений
5.5.7.1. Функция randomSeed(seed)
5.5.7.2. Функция random()
5.5.8. Операции с битами и байтами
5.5.8.1. Функция lowByte()
5.5.8.2. Функция highByte()
5.5.8.3. Функция bitRead()
5.5.8.4. Функция bitWrite()
5.5.8.5. Функция bitSet()
5.5.8.6. Функция bitClear()
5.5.8.7. Функция bit()
5.5.9. Внешние прерывания
5.5.9.1. Функция attachInterrupt
5.5.9.2. Функция detachInterrupt
Часть III. Практическое применение Arduino
Глава 6. Arduino и набор функций Serial
6.1. Функции библиотеки Serial
6.1.1. Функция Serial.begin()
6.1.2. Функция Serial.end()
6.1.3. Функция Serial.available()
6.1.4. Функция Serial.read()
6.1.5. Функция Serial.flush()
6.1.6. Функция Serial.print()
6.1.7. Функция Serial.println()
6.1.8. Функция Serial.write()
6.1.9. Функция Serial.peek()
6.2. Библиотека SoftwareSerial
6.2.1. Функция SoftwareSerial()
6.2.2. Функция SoftwareSerial.listen()
6.2.3. Функция SoftwareSerial.isListening()
6.2.4. Функция SoftwareSerial.overflow()
Глава 7. Arduino и знакосинтезирующие
жидкокристаллические индикаторы
7.1. Принцип работы модулей ЖКИ WINSTAR
WH1604
7.2. Библиотека LiquidCrystal
7.2.1. Функция LiquidCrystal()
7.2.2. Функция begin()
7.2.3. Функция clear()
7.2.4. Функция home()
7.2.5. Функция setCursor()
7.2.6. Функция write()
7.2.7. Функция print()
7.2.8. Функция cursor()
7.2.9. Функция noCursor()
7.2.10. Функция blink()
7.2.11. Функция noBlink()
7.2.12. Функция display()
7.2.13. Функция noDisplay()
7.2.14. Функция scrollDisplayLeft()
7.2.15. Функция scrollDisplayRight()
7.2.16. Функция autoscroll()
7.2.17. Функция noAutoscroll()
7.2.18. Функция leftToRight()
7.2.19. Функция rightToLeft()
7.2.20. Функция createChar()
7.3. Библиотека LiquidCrystalRus
Глава 8. Библиотека EEPROM
8.1. Функции библиотек EEPROM
8.1.1. Функция чтения EEPROM.read
8.1.2. Функция записи EEPROM.write
8.2. Примеры использования памяти EEPROM
8.2.1. Воспроизведение звука
8.2.2. Звонок с мелодиями
Глава 9. Подключение клавиатуры и мыши
9.1. Обмен данными по протоколу PS/2
9.2. Библиотека ps2dev
9.3. Подключение клавиатуры
9.4. Редактор текста на дисплее WH1604
9.5. Подключение мыши
9.6. Опрос состояния мыши
Глава 10. Arduino и сенсорная панель
10.1. Как работает резистивный экран?
10.2. Программа чтения координат сенсорного
экрана
10.3. Библиотека Arduino TouchScreen
Глава 11. Arduino и 1-Wire
11.1. Что такое 1-Wire?
11.2. Применение 1-Wire
11.3. Протокол 1-Wire
11.3.1. Описание интерфейса 1-Wire
11.3.2. Обмен информацией по 1-Wire
11.3.3. Протокол обмена информацией 1-Wire
11.4. Библиотека OneWire
11.4.1. Функция begin()
11.4.2. Функция requestFrom()
11.4.3. Функция beginTransmission()
11.4.4. Функция endTransmission()
11.4.5. Функция write()
11.4.6. Функция available()
11.4.7. Функция read()
11.4.8. Функция onReceive()
11.4.9. Функция onRequest()
11.5. Устройство iButton и программирование
электронного замка
11.5.1. Поиск устройств 1-Wire и получение
уникального кода
11.5.2. Режимы работы
11.5.3. Режим пользователя
11.5.4. Первоначальный ввод ключа в пустую
базу
11.5.5. Просмотр, запись и удаление кодов
ключей в режиме администратора
11.5.6. Блок-реле. Открывание замка
11.5.7. Проигрывание мелодий
Глава 12. Arduino и цифровой датчик температуры
DS18B20
12.1. Описание датчика DS18B20
12.2. Использование библиотеки OneWire
12.3. Библиотека DallasTemperature
Глава 13. Arduino и датчики температуры и
влажности DHT
13.1. Характеристики датчиков DH11, DH22
13.2. Подключение к Arduino
13.3. Библиотека DHT
Глава 14. Сетевой обмен с помощью Arduino
14.1. Устройство Arduino Ethernet shield
14.2. Библиотека Ethernet library
14.2.1. Класс Ethernet (Ethernet class)
Функция Ethernet.begin()
Функция Ethernet.localIP()
14.2.2. Класс IPAddress (IPAddress class)
Функция IPAddress()
14.2.3. Класс Server (Server class)
Функция ethernetServer()
Функция begin()
Функция available()
Функция write()
Функция print()
Функция println()
14.2.4. Класс Client (Client class)
Функция client()
Функция EthernetClient()
Функция connected()
Функция connect()
Функция write()
Функция print()
Функция println()
Функция available()
Функция read()
Функция flush()
Функция stop()
14.2.5. Класс EthernetUDP (EthernetUDP class)
Функция begin()
Функция read()
Функция write()
Функция beginPacket()
Функция endPacket()
Функция parsePacket()
Функция available()
Функция remoteIP()
Функция remotePort()
14.3. Домашняя метеостанция с доступом через
Интернет
14.3.1. Устройство, настройка и отладка
метеостанции
14.3.2. Создание виджета для планшетов с ОС
Android
14.3.3. Размещение данных метеостанции на сайте
Глава 15. Arduino и карта памяти SD
15.1. Arduino-библиотека SD
15.1.1. Класс SD
Функция begin()
Функция exists()
Функция mkdir()
Функция rmdir()
Функция open()
Функция remove()
15.1.2. Класс File
Функция available()
Функция close()
Функция flush()
Функция peek()
Функция position()
Функция print()
Функция println()
Функция seek()
Функция size()
Функция read()
Функция write()
Функция isDirectory()
Функция openNextFile()
Функция rewindDirectory()
15.2. Запись показаний датчиков на SD-карту
Глава 16. Arduino и светодиодные матрицы
16.1. Светодиоды и светодиодные матрицы
16.2. Светодиодная матрица FYM-23881BUG-11
16.3. SPI-расширитель выходов 74HC595
16.4. Игра "Тетрис" на светодиодных матрицах
FYM-23881BUG-11
16.4.1. Управление изображением на
светодиодных матрицах
16.4.2. Фигуры игры "Тетрис"
16.4.3. Управление фигурами игры "Тетрис"
16.4.4. Проверка столкновения фигур
16.5. Светодиодная матрица RGB
16.6. RGB-ночник, управляемый с помощью
движения рук
Глава 17. Работа Arduino с купюроприемником
17.1. Купюроприемник ICT серий A7 и V7
17.2. Подключение купюроприемника ICT V7 к
Arduino
17.3. Скетч для получения номинала принимаемой
купюры
Глава 18. Arduino и радиочастотная
идентификация (RFID)
18.1. Радиочастотная идентификация
18.2. Датчик считывания RFID-карт
18.3. Скетч для считывания RFID-карт
Глава 19. Arduino и датчики расстояния
19.1. Ультразвуковые дальномеры HC-SR04
19.2. Принцип работы ультразвукового
дальномера HC-SR04
19.3. Библиотека Ultrasonic
19.4. Инфракрасные датчики расстояния Sharp
19.5. Подключение датчиков Sharp к Arduino
Глава 20. Arduino и передача данных в
инфракрасном диапазоне
20.1. Обмен данными в инфракрасном диапазоне
20.2. Протоколы для ИК-пультов
20.2.1. Протокол RC5
20.2.2. Протокол NEC
20.2.3. Протокол JVC
20.2.4. Протокол Sony
20.3. Подключение ИК-приемника
20.4. Библиотека IRremote
20.5. Скетч для получения кодов ИК-пульта
Глава 21. Создаем робота
21.1. Ходовая часть
21.2. Драйвер двигателей L293D
21.3. Массив возможных состояний моторов
21.4. Разработка скетча движений робота
21.5. Движение робота по линии в автономном
режиме
Глава 22. Arduino и шаговые двигатели
22.1. Управление шаговым двигателем
22.2. Arduino-библиотека Stepper
22.2.1. Функция Stepper()
22.2.2. Функция setSpeed(rpm)
22.2.3. Функция step(steps)
22.3. Пример использования библиотеки Stepper
22.4. Arduino-библиотека AccelStepper
Глава 23. Arduino и сервоприводы
23.1. Сервоприводы
23.2. Arduino-библиотека Servo для управления
сервоприводом
23.2.1. Функция attach()
23.2.2. Функция detach()
23.2.3. Функция write(int)
23.2.4. Функция writeMicrosconds(int)
23.2.5. Функция read()
23.2.6. Функция attached()
23.3. Робот-паук на сервоприводах
23.4. Скетч для управления роботом-пауком
Глава 24. Arduino и Bluetooth
24.1. "Голубой зуб"
24.2. Модуль Bluetooth HC-05
24.3. Управление роботом с Android-устройства по
Bluetooth
Глава 25. TV-выход на Arduino
25.1. Схема подключения
25.2. Arduino-библиотека TVOut
25.2.1. Функция установки режима begin()
25.2.2. Функции задержки
Функция delay()
Функция delay_frame()
25.2.3. Функции получения параметров
Функция hres()
Функция vres()
Функция char_line()
25.2.4. Основные графические функции
Функция set_pixel()
Функция get_pixel()
Функция fill()
Функция clear_screen()
Функция invert()
Функция shift_direction()
Функция draw_line()
Функция draw_row()
Функция draw_column()
Функция draw_rect()
Функция draw_circle()
Функция bitmap()
25.2.5. Функции вывода текстовой информации
Функция select_font()
Функция print_char()
Функция set_cursor()
Функция print()
Функция println()
25.2.6. Функции вывода аудио
Функция tone()
Функция noTone()
25.3. Создание пользовательских шрифтов
25.4. Создание графических примитивов
25.5. Создание простейшей игровой консоли
25.6. Разработка игры для игровой консоли
25.6.1. Создание переменных игры
25.6.2. Управление положением "игрока" с
помощью джойстика
25.6.3. Генерация и перемещение объектов-цифр
25.6.4. Проверка столкновения "игрока" и
объектов-цифр
25.6.5. Счетчик баллов "игрока"
25.6.6. Переход на новый уровень
25.6.7. Отображение данных игры на табло
25.6.8. Звуковое сопровождение игры
25.6.9. Основной цикл игры
25.6.10. Добавляем меню для выбора игр
Глава 26. Arduino и радиоуправление
26.1. Принципы формирования радиосигнала
26.2. Установка связи приемника с передатчиком
26.3. Разработка скетча приема команд для
Arduino
Глава 27. Arduino и беспроводной радиомодуль
NRF24L01
27.1. Радиомодуль NRF24L01
27.2. Библиотека для работы с модулем NRF24L01
27.2.1. Параметры библиотеки Mirf
27.2.2. Функции библиотеки Mirf
Функция init()
Функция setRADDR()
Функция setTADDR()
Функция config()
Функция dataReady()
Функция getData()
Функция send()
Функция isSending()
27.3. Пример соединения двух плат Arduino с
помощью модуля NRF24L01
Глава 28. Работа Arduino с USB-устройствами
28.1. Интерфейс USB
28.2. USB Host Shield
28.3. HID-устройства USB
28.4. Подключение HID-мыши USB
28.5. Использование HID-устройства (руль
Defender) для управления роботом
28.6. Подключение к Arduino Android-устройства
через USB Host Shield
Глава 29. Arduino и ROS
29.1. Что такое ROS?
29.2. Дистрибутивы ROS
29.3. Установка ROS
29.4. Узлы и темы в ROS
29.5. Пакет rosserial
29.6. Подготовка сообщения (publisher) на Arduino
29.7. Создание подписки (subscriber) на Arduino
29.8. Связь через ROS двух плат Arduino
Глава 30. Arduino и "умный дом" X10
30.1. Система домашней автоматизации X10
30.2. Двусторонний интерфейс TW523
30.3. Arduino-библиотека X10
30.3.1. Функция begin()
30.3.2. Функция write()
30.4. Блок на Arduino для голосового управления
приборами X10
Приложение 1. Список использованных источников
Приложение 2. Описание электронного архива


Об авторе


Последние поступления в рубрике "Основы программирования и алгоритмы"



Программирование на visual c# 2013. Учебное пособие для прикладного бакалавриата Программирование на visual c# 2013. Учебное пособие для прикладного бакалавриата Казанский А.

Эта книга предназначена для изучения программирования на одном из самых современных и мощных языков — Visual C# 2013. Язык C# создан для программирования в Windows и вместе со средой разработки IDE Microsoft Visual Studio 2013 позволяет разрабатывать эффективные приложения, имеющие удобный графический интерфейс для решения прикладных задач....

Программирование на языке высокого уровня С/С++. Конспект лекций Программирование на языке высокого уровня С/С++. Конспект лекций Зоткин С.

Приведены основные элементы языков программирования C/C++: типы данных, операторы и операции, структура программы, работа с файлами, основы численных методов решения инженерных задач, организация данных в виде стека, очереди, списка и дерева.Для студентов первого курса бакалавриата направления подготовки 09.03....

Примеры и задачи по программированию на Паскале и Питоне. Фонд оценочных средств для промежуточных аттестаций. Часть 1. Учебное пособие Примеры и задачи по программированию на Паскале и Питоне. Фонд оценочных средств для промежуточных аттестаций. Часть 1. Учебное пособие Пылькин А.Н., Москвина О.П.

В сборнике рассмотрены примеры разработки алгоритмов и программ по различным разделам программирования. Приведены практические примеры программ на языках Паскаль и Питон. По каждой теме даны наборы заданий различной степени сложности....

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Петин В., Проекты с использованием контроллера Arduino в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.