Монк . - Программируем Arduino

Здесь есть возможность читать онлайн «Монк . - Программируем Arduino» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2017, ISBN: 2017, Издательство: Издательский дом Питер, Жанр: Базы данных, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программируем Arduino: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программируем Arduino»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Программируем Arduino — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программируем Arduino», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Для платы Arduino Due была создана сторонняя библиотека, позволяющая выполнять операции чтения/записи с флеш-памятью, чтобы компенсировать отсутствие ЭСППЗУ в этой модели. Более полную информацию об этом проекте можно получить по адресу http://pansenti.wordpress.com/2013/04/19/simple-flash-library-for-arduino-due/.

Самый простой способ создать строковую константу, хранящуюся во флеш-памяти, — использовать функцию F, упоминавшуюся в одном из предыдущих разделов. Напомню ее синтаксис:

Serial.println(F("Program Started"));

Этот прием работает только при использовании строковых констант непосредственно в вызове функции вывода. Нельзя, например, присвоить результат указателю на тип char.

Более гибкий, но более сложный способ заключается в использовании директивы PROGMEM (Program Memory — память программы) для сохранения любых структур данных. Однако данные должны быть постоянными — они не могут изменяться в процессе выполнения сценария.

Следующий пример иллюстрирует, как можно определить массив целых чисел (int), хранящийся во флеш-памяти:

// sketch_06_10_PROGMEM_array

#include

PROGMEM int value[] = {10, 20, 25, 25, 20, 10};

void setup()

{

Serial.begin(9600);

for (int i = 0; i < 6; i++)

{

int x = pgm_read_word(&value[i]);

Serial.println(x);

}

}

void loop()

{

}

Директива PROGMEM перед объявлением массива гарантирует, что он будет храниться только во флеш-памяти. Но прочитать значение элемента из такого массива можно только с помощью функции pgm_read_word из биб­лиотеки avr/pgmspace:

int x = pgm_read_word(&value[i]);

Символ & перед именем массива в параметре указывает, что функции передается адрес данного элемента массива во флеш-памяти, а не его значение.

Функция pgm_read_word читает из флеш-памяти слово (2 байта). В библио­теке имеются также функции pgm_read_byte и pgm_read_dword, возвращающие 1 и 4 байта соответственно.

Использование SD-карты

Несмотря на то что сами платы Arduino не имеют слота для SD-карт, некоторые платы расширения, включая Ethernet и MP3 (рис. 6.6), имеют слоты для карт SD или microSD.

Для подключения карт SD используется интерфейс SPI (обсуждается в главе 9). К счастью, чтобы использовать карту SD с платой Arduino, не требуется писать низкоуровневый код для взаимодействия с интерфейсом SPI, так как в состав Arduino IDE входит специализированная библиотека с простым названием SD.

Рис 66Плата расширения MP3 со слотом для карты microSD Рис - фото 49

Рис. 6.6.Плата расширения MP3 со слотом для карты microSD

Рис 67Результат работы примера Cardinfo Эта библиотека включает множество - фото 50

Рис. 6.7.Результат работы примера Cardinfo

Эта библиотека включает множество примеров скетчей, выполняющих разные операции с картой SD, включая поиск информации о карте SD и ее вывод в монитор последовательного порта (рис. 6.7).

Запись на карту SD выполняется очень просто, как показано в следующем фрагменте кода:

File dataFile = SD.open("datalog.txt", FILE_WRITE);

// Если файл существует, записать в него

if(dataFile) {

dataFile.println(dataString);

dataFile.close();

// вывести также в монитор последовательного порта

Serial.println(dataString);

}

В заключение

В этой главе вы познакомились со всеми аспектами использования памяти и хранения данных в Arduino. В следующих главах мы займемся исследованием приемов программирования различных последовательных интерфейсов в Arduino, начав с шины I2C.

7. Интерфейс I2C

Интерфейсная шина I2C (произносится «и квадрат си») — стандартный способ подключения периферийных устройств к микроконтроллерам. Иногда интерфейс I2C называют двухпроводным интерфейсом (Two Wire Interface, TWI). Все платы Arduino имеют хотя бы один интерфейс I2C, к которому можно подключать широкий диапазон периферийных устройств. Некоторые из таких устройств представлены на рис. 7.1.

Все три устройства в верхнем ряду на рис. 7.1 являются модулями отображения информации, выпускаемыми компанией Adafruit. В нижнем ряду слева находится модуль УКВ-приемника TEA5767. Эти модули можно приобрести на сайте eBay или где-то в другом месте за несколько долларов. Приобретая модуль TEA5767, вы получаете полноценный приемник УКВ, который можно настроить на определенную частоту командами через интерфейс I2C. В центре находится модуль часов реального времени (Real-Time Clock, RTC), включающий микросхему обслуживания шины I2C и кварцевый резонатор, обеспечивающий высокую точность измерения времени. Установив текущие время и дату через интерфейс I2C, вы сможете в любой момент прочитать текущие время и дату через тот же интерфейс I2C. Этот модуль включает также литиевую батарейку с длительным сроком службы, обеспечивающую работу модуля даже в отсутствие электропитания от внешнего источника. Наконец, справа находится 16-канальный ШИМ/сервопривод, добавляющий к вашей плате Arduino 16 дополнительных аналоговых выходов.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программируем Arduino»

Представляем Вашему вниманию похожие книги на «Программируем Arduino» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Программируем Arduino»

Обсуждение, отзывы о книге «Программируем Arduino» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x