Джереми Блум - Изучаем Arduino - инструметы и методы технического волшебства

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

Изучаем Arduino: инструметы и методы технического волшебства: краткое содержание, описание и аннотация

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

Книга посвящена проектированию электронных устройств на основе микроконтроллерной платформы Arduino. Приведены основные сведения об аппаратном и программном обеспечении Arduino. Изложены принципы программирования в интегрированной среде Arduino IDE. Показано, как анализировать электрические схемы, читать технические описания, выбирать подходящие детали для собственных проектов. Приведены примеры использования и описание различных датчиков, электродвигателей, сервоприводов, индикаторов, проводных и беспроводных интерфейсов передачи данных. В каждой главе перечислены используемые комплектующие, приведены монтажные схемы, подробно описаны листинги программ. Имеются ссылки на сайт информационной поддержки книги. Материал ориентирован на применение несложных и недорогих комплектующих для экспериментов в домашних условиях.
Для радиолюбителей

Изучаем Arduino: инструметы и методы технического волшебства — читать онлайн бесплатно полную книгу (весь текст) целиком

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

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

Интервал:

Закладка:

Сделать

Для отладки программы будем контролировать статус нескольких функций библиотеки SD. Например, для установки связи с SD-картой необходимо вызвать следующую функцию (листинг 13.1 ):

Листинг 13.1. Функция инициализации SD-карты

if (!SD.begin(CS_pin))

{

Serial.println("Card Failure");

return;

}

Serial.println("Card Ready");

- 282 -

Обратите внимание, что мы не просто инициализируем обмен с картой с помощью функции so.begin (CS_pin), а получаем статус выполнения этой функции. При успешной инициализации программа выдает в последовательный порт сообщение об этом, в противном случае выводится сообщение о неуспехе и команда возврата останавливает дальнейшее выполнение программы.

При записи строки в файл подход аналогичный. Например, если вы хотите записать новую строку "hello" в файл, код будет выглядеть так, как в листинге 13.2.

Листинг 13.2. Функция записи информации на SD-карту

File dataFile = SD.open("log.csv", FILE_WRITE);

if (dataFile)

{

dataFile.println("hello");

dataFile.close();

// Данные не записываются,

// пока соединение не будет закрыто

}

else

{

Serial.println("Couldn't open log file");

}

В первой строке расположена команда создания нового файла (или открытие, если он уже существует) с названием log. csv. Если файл создан/открыт успешно, переменная dataFile получит значение true, и начнем процесс записи данных в файл.

В противном случае сообщаем об ошибке в последовательный порт. Запись строки данных в файл осуществляет функция da taFile.println(); чтобы предотвратить добавление символа новой строки, вызывайте функцию dataFile.print(). Все данные направляются в буфер и записываются в файл только после выполнения команды dataFile.close().

Теперь напишем простую программу, которая создает на SD-карте файл log.csv и каждые 5 секунд записывает в него через запятую метки и какое-либо сообщение (листинг 13.3). В каждой строке файла CSV будет записана временная метка (текущее значение функции millis()) и некоторый текст. Программа может показаться вам бесполезной, но на самом деле это важный пример, подготавливающий взаимодействие с реальными датчиками, чем мы займемся в дальнейших проектах.

Листинг 13.3. Тест записи данных на SD-карту- write_to_sd.ino

// Запись данных на SD-карту

#include

// Подключение контактов

// MOSI = pin 11

// MISO = pin 12

// SCLK = pin 13

- 283 -

// Подключение контакта выбора CS

const int CS_PIN = 10;

// Контакт для питания SD-карты

const int POW_PIN =8;

void setup()

{

Serial.begin(9600);

Serial.println ("Initializing Card");

// Установить CS как выход

pinMode(CS_PIN, OUTPUT);

// Для питания карты используется вывод 8, установить HIGH

pinMode(POW_PIN, OUTPUT);

digitalWrite(POW_PIN, HIGH);

if ( !SD.begin(CS_PIN))

{

Serial.println("Card Failure");

return;

}

Serial.println("Card Ready");

}

void loop()

{

long timeStamp = millis();

String dataString = "Hello There!";

// Открыть файл и записать в него

File dataFile = SD.open("log.csv", FILE_WRITE);

if (dataFile)

{

dataFile.print(timeStamp);

dataFile.print(",");

dataFile.println(dataString);

dataFile.close(); // Данные не записаны,

// пока соединение не закрыто!

// Вывод в монитор для отладки

Serial.print(timeStamp);

Serial.print(",");

Serial.println(dataString);

}

else

{

Serial.println("Couldn't open log file");

}

delay(5000);

}

- 284 -

Обратите внимание на несколько моментов, особенно если у вас такой же переходник, как у меня (Cooking Hacks Micro SD shield):

• CS можно установить на любом контакте; если это не контакт по умолчанию (10), то необходимо в setup() предусмотреть команду pinMode(10, OUTPUT), иначе библиотека SD не будет работать;

• питание на переходник подается через контакт 8, поэтому POW_PIN должен быть установлен в качестве выхода и в setup() необходимо определить его значение как HIGH;

• при каждом проходе цикла loop() временная метка обновляется значением текущего времени, прошедшего с начала выполнения программы в миллисекундах. Переменная должна иметь тип long, потому что millis() возвращает число больше, чем 16 бит.

Файл открывается для записи и в него добавляются данные, разделенные запятыми.

Мы также выводим эти данные в последовательный порт для отладочных целей.

Если вы откроете терминал последовательного порта, то увидите вывод данных как на рис. 13.14.

Рис 1314 и Рис 1315 При возникновении ошибок проверьте правильность - фото 140

Рис. 13.14. и Рис. 13.15.

При возникновении ошибок проверьте правильность подключения переходника, убедитесь, что SD-карта отформатирована и должным образом вставлена. Для проверки корректности записи данных вставьте SD-карту в компьютер и откройте файл в программе просмотра электронных таблиц (рис. 13.15). Обратите внимание,

- 285 -

что данные располагаются в таблице с учетом разделяющих запятых и символов перехода на новую строку.

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

Интервал:

Закладка:

Сделать

Похожие книги на «Изучаем Arduino: инструметы и методы технического волшебства»

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


Отзывы о книге «Изучаем Arduino: инструметы и методы технического волшебства»

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

x