В книге на 34 практических примерах показано, как создать и запрограммировать электронные устройства на основе микроконтроллеров tinyAVR компании Atmel. Рассмотрено устройство микроконтроллеров, их архитектура, электронные компоненты проектов, вопросы питания и др. Описаны инструменты для создания проектов и изготовления печатных плат. Приведены основные сведения о программировании микроконтроллеров и основные команды языка С, используемые во встроенных приложениях.
Все проекты разбиты на шесть групп: простые проекты с использованием светодиодов, сложные проекты со светодиодами, проекты с графическим дисплеем, проекты с использованием датчиков, аудиопроекты и проекты на альтернативных источниках энергии. Некоторые из этих проектов уже стали популярными и выпускаются в виде готовых продуктов.
В проектах использованы доступные компоненты и оборудование. Книга поможет вам с улыбкой освоить разработку и программирование встроенных электронных систем на занимательных и нетривиальных примерах.
Author(s): Дхананья Гадре, Нигул Мэлхотра
Publisher: БХВ-Петербург
Year: 2012
Language: Russian
Tags: Библиотека;Компьютерная литература;Микроконтроллеры;AVR / ATtiny / ATmega / ATxmega;
Об авторах
Благодарности
Введение
Глава 1. Обзор «малюток» Tiny
Микроконтроллеры tinyAVR компании Atmel
Микросхемы tinyAVR
Архитектура tinyAVR
Память
Порты ввода/вывода
Таймеры
Прерывания
USI: универсальный последовательный интерфейс
Аналоговый компаратор
Аналого-цифровой преобразователь
Источники тактовых сигналов
Управление электропитанием и режимы ожидания
Сброс системы
Программирование микроконтроллеров
Отладочная система debugWIRE
Составляющие проекта
Источники питания
Батареи
Батарея из фруктов
Адаптер переменного тока
Питание от разъема USB
Солнечная энергия
Генератор на эффекте Фарадея
Питание от энергии радиоволн
Инструменты для разработки аппаратного обеспечения
Разработка программного обеспечения
Начинаем работать с проектом в программе AVR Studio
Начинаем работать с проектом в программе WinAVR
Изготовление печатной платы
Использование макетной печатной платы
Разработка собственной печатной платы
Проект 1. Программа «Hello World!» в мире микроконтроллеров
Заключение
Глава 2. Простые устройства со светодиодами
Общие сведения о светодиодах
Типы светодиодов
Управление светодиодами
Проект 2. Мерцающая светодиодная свеча
Спецификация проекта
Описание устройства
Конструкция
Программирование
Проект 3. Смешивание цветов светодиода RGB
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 4. Случайный генератор цвета и звука
Спецификация проекта
Описание устройства
Конструкция
Программирование
Проект 5. Светодиодное перо
Спецификация проекта
Описание устройства
Конструкция
Программирование
Заключение
Глава 3. Более сложные проекты со светодиодами
Мультиплексирование светодиодов
Мультиплексирование по методу Чарли
Проект 6. Лампа для создания настроения
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 7. Волюметр с 20 светодиодами
Спецификация проекта
Описание проекта
Конструкция
Программирование
Работа устройства
Проект 8. Вольтметр
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 9. Термометр
Спецификация проекта
Описание устройства
Программирование
Работа устройства
Проект 10. Частотомер с автоматическим выбором диапазона
Спецификация проекта
Описание устройства
Программирование
Работа устройства
Проект 11. Забавные часы
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 12. Разноцветные игральные кости
Спецификация проекта
Описание устройства
Конструкция
Программирование
Проект 13. Игра «крестики-нолики»
Спецификация проекта
Описание устройства
Конструкция
Программирование
Заключение
Глава 4. Проекты с графическими жидкокристаллическими дисплеями
Принцип действия ЖК-дисплея
Дисплей Nokia 3310
Сопряжение дисплея Nokia 3310
Функциональное описание контроллера PCD8455
Программа управления LCD
Сбои, наблюдающиеся в некоторых дисплеях
Проект 14. Регистратор температуры
Спецификации проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 15. Игрушка Тэнгу с графическим дисплеем
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 16. Игра «Жизнь»
Спецификация проекта
Описание устройства
Программирование
Работа устройства
Проект 17. Крестики-нолики
Спецификация проекта
Описание устройства
Программирование
Работа устройства
Проект 18. «Дурацкие» часы
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 19. Громкий будильник
Спецификации проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Заключение
Глава 5. Проекты с датчиками
Основные виды датчиков
Светодиод в качестве датчика
Термистор
Фоторезистор
Катушка индуктивности как датчик магнитного поля
Проект 20. Светодиод как датчик и индикатор
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 21. Валентинка с датчиком близости
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 22. Электронная спичка без огня
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 23. Волчок со светодиодами
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 24. Бесконтактный тахометр
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 25. Индуктивный датчик появления автомобиля и счетчик
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 26. Электронные свечи для дня рождения
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 27. Сигнализация для холодильника
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Заключение
Глава 6. Звуковые проекты
Проект 28. Тональный генератор
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 29. Еще один проект сигнализации для холодильника
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 30. Проигрыватель рингтонов
Спецификация проекта
Описание проекта
Конструкция
Программирование
Работа устройства
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Заключение
Глава 7. Проекты с альтернативными источниками энергии
Выбор подходящего стабилизатора напряжения
Делаем генератор Фарадея
Экспериментальные результаты и их обсуждение
Проект 32. Дистанционное инфракрасное управление без батарей
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Проект 33. Электронные игральные кости (без батареек)
Спецификация проекта
Описание устройства
Конструкция
Программирование
Проект 34. Игрушка, основанная на инерционности зрительного восприятия
Спецификация проекта
Описание устройства
Конструкция
Программирование
Работа устройства
Заключение
ПРИЛОЖЕНИЯ
Приложение 1. Программирование микроконтроллеров AVR на языке С
Разница между ANSI С и встроенным С
Бесконечные и конечные программы
Включаем разные файлы для разных микроконтроллеров
Минимальное использование консольных функций
Типы данных и операторы
Типы с плавающей точкой
Переменные и константы
Операторы
Оператор присваивания (=)
Математические операторы
Логические операции
Операции сравнения
Побитовые операции
Эффективное управление портами ввода/вывода
Использование логических операторов
Битовый оператор NOT
Битовый оператор OR
Побитовый оператор AND
Побитовый оператор XOR
Использование операторов сдвига вправо и влево
Несколько важных файлов заголовков
Функции
Для чего нужны функции?
Как работают функции
Обработка прерываний
Прототип для прерывания
Массивы
Подключение файлов
Макроподстановка
Макросы и функции
Макросы для AVR
Перечислимые типы данных
Описатель volatile
Описатель const
Приложение 2. Проектирование и изготовление печатных плат
Версия EAGLE Light
Программа EAGLE для Windows
Панель управления Control Panel
Руководство по программе EAGLE
Добавление новых библиотек
Размещение компонентов и разводка
Фрезерный станок Roland Modela MDX-20
Шаг 1: изготовление схемы и компоновка платы в программе EAGLE
Шаг 2: создаем схему сверления
Шаг 3: создание файлов сверления и резки для управления станком Roland Modela Milling Machine
Указываем смещения (это важно)
Шаг 4: создаем файлы фрезерования для станка Roland Modela
Шаг 5: фрезерование, сверление и вырезка печатной платы
Приложение 3. Лупа со светодиодной подсветкой
Второй вариант лупы с подсветкой
Лупа с регулируемой светодиодной подсветкой
Предметный указатель