Arduino:Примеры/Dump File: различия между версиями
Myagkij (обсуждение | вклад) м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">») |
Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 29: | Строка 29: | ||
На '''SD'''-карте должен быть файл под названием '''''datalog.txt'''''. В блоке [[Arduino:Справочник языка Arduino/loop()|loop()]] открываем этот файл при помощи функции [[Arduino:Библиотеки/SD/Класс SD/open()|SD.open()]]. Чтобы отправить файл на компьютер через последовательную коммуникацию, используем функцию [[Arduino:Справочник языка Arduino/Библиотеки/Serial/print()|Serial.print()]], а чтобы прочитать данные, находящиеся в файле – [[Arduino:Библиотеки/SD/Класс File/read()|dataFile.read()]]. | На '''SD'''-карте должен быть файл под названием '''''datalog.txt'''''. В блоке [[Arduino:Справочник языка Arduino/loop()|loop()]] открываем этот файл при помощи функции [[Arduino:Библиотеки/SD/Класс SD/open()|SD.open()]]. Чтобы отправить файл на компьютер через последовательную коммуникацию, используем функцию [[Arduino:Справочник языка Arduino/Библиотеки/Serial/print()|Serial.print()]], а чтобы прочитать данные, находящиеся в файле – [[Arduino:Библиотеки/SD/Класс File/read()|dataFile.read()]]. | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
/* | /* | ||
Извлечение данных из файла на SD-карте и их отправка на компьютер | Извлечение данных из файла на SD-карте и их отправка на компьютер | ||
Строка 109: | Строка 109: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Arduino}} | |||
[[Категория:Пример]] | [[Категория:Пример]] | ||
[[Категория:Примеры]] | [[Категория:Примеры]] | ||
[[Категория:Пример программирования Arduino]] | [[Категория:Пример программирования Arduino]] | ||
[[Категория:Примеры программирования Arduino]] | [[Категория:Примеры программирования Arduino]] |
Текущая версия от 12:33, 8 июля 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Извлечение данных из файла на SD-карте и их отправка на компьютер[1]
Этот пример показывает, как при помощи библиотеки SD считывать файл с SD-карты, а затем передавать его через последовательный порт. Более подробно о библиотеке SD можно прочесть тут.
Необходимое оборудование
- Плата Arduino или Genuino
- Модуль Arduino Ethernet Shield (или другая плата с SD-слотом)
- Отформатированная карта с файлом datalog.txt, содержащим какой-нибудь текст
Цепь
Плата Arduino или Genuino должна быть подключена к Ethernet-модулю, а также через USB-кабель – к компьютеру.
Схема
Код
Скетч ниже настроен для использования с Ethernet-модулем, который имеет встроенный SD-слот. В блоке setup() вызываем функцию SD.begin(), а затем в качестве CS-контакта делаем 4-ый контакт. Однако если вместо модуля Arduino Ethernet Shield будет использоваться другой модуль, вам нужно будет задействовать другой контакт.
На SD-карте должен быть файл под названием datalog.txt. В блоке loop() открываем этот файл при помощи функции SD.open(). Чтобы отправить файл на компьютер через последовательную коммуникацию, используем функцию Serial.print(), а чтобы прочитать данные, находящиеся в файле – dataFile.read().
/*
Извлечение данных из файла на SD-карте и их отправка на компьютер
Этот пример показывает, как при помощи библиотеки SD
считывать файл, находящийся на SD-карте, и передавать его
через последовательный порт.
Цепь:
* SD-карта, подключенная к шине SPI следующим образом:
** MOSI – к 11-ому контакту на Arduino
** MISO - к 12-ому контакту на Arduino
** CLK – к 13-ому контакту на Arduino
** CS – к 4-ому контакту
Создан 22 декабря 2010 года Лимор Фрид (Limor Fried),
модифицирован 9 апреля 2012 года Томом Иго (Tom Igoe).
Этот код не защищен авторским правом.
*/
#include <SPI.h>
#include <SD.h>
const int chipSelect = 4;
void setup() {
// запускаем последовательную коммуникацию и ждем открытия порта:
Serial.begin(9600);
while (!Serial) {
; // ждем подключения последовательного порта (нужно только для плат со штатным USB-портом)
}
Serial.print("Initializing SD card..."); // "Инициализация SD-карты..."
// смотрим, присутствует ли карта и может ли она быть инициализирована:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present"); // "Карта повреждена или отсутствует"
// ничего не делаем:
return;
}
Serial.println("card initialized."); // "карта инициализирована."
// открываем файл (обратите внимание, что одновременно может быть
// открыт только один файл; то есть перед тем, как открывать
// следующий файл, закройте этот):
File dataFile = SD.open("datalog.txt");
// если файл доступен, записываем в него данные:
if (dataFile) {
while (dataFile.available()) {
Serial.write(dataFile.read());
}
dataFile.close();
}
// если файл не открылся, сообщаем об ошибке:
else {
Serial.println("error opening datalog.txt"); // "ошибка при открытии datalog.txt"
}
}
void loop() {
}
См.также
- SD library - Your reference for the SD Card library.
- Notes on using SD cards – What you need to know when you use SD cards
- CardInfo - Get info about your SD card.
- Datalogger - How to log data from three analog sensors to an SD card.
- Files - How to create and destroy an SD card file.
- Listfiles - How print out the files in a directory on a SD card.
- ReadWrite - How to read and write data to and from an SD card.
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino