Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Practical embedded system programming.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
9.24 Mб
Скачать

Void setup()

{

Serial.begin(9600);

// SPI SS пин должен быть OUTPUT

pinMode(10, OUTPUT);

// Инициализируем СД карту

Serial.print("Initializing SD card...");

if (!SD.begin(4)) {

Serial.println("initialization failed!");

return;

}

Serial.println("initialization done.");

// Открываем первый файл

originalFile = SD.open(ORIGINAL_FILE_NAME);

if (originalFile) {

Serial.println(ORIGINAL_FILE_NAME);

// Считываем текст из 1 файла

int i = 0;

while (originalFile.available()) {

char c = originalFile.read();

fileText[i++] = c;

Serial.write(c);

}

fileText[i] = 0;

// Закрываем файл

originalFile.close();

} else {

// Если произошла ошибка открытия файла, выводим сообщение

Serial.print("error opening ");

Serial.println(ORIGINAL_FILE_NAME);

}

// Открываем (или создаем, если его нет) файл копии

copiedFile = SD.open(COPIED_FILE_NAME, FILE_WRITE);

// Записываем в него считанный текст

if (copiedFile) {

Serial.print("Copying...");

copiedFile.println(fileText);

// Закрываем файл

copiedFile.close();

Serial.println("done.");

} else {

// Если произошла ошибка открытия файла, выводим сообщение

Serial.print("error opening ");

Serial.println(COPIED_FILE_NAME);

}

}

// Весь код был выполнен в функции setup

void loop()

{

}

// Тестировалось на Arduino IDE 1.0.1

#include <VirtualWire.h>

Void setup()

{

Serial.begin(9600);

vw_set_ptt_inverted(true); // Необходимо для DR3100

vw_setup(2000); // Задаем скорость приема

vw_rx_start(); // Начинаем мониторинг эфира

}

void loop()

{

uint8_t buf[VW_MAX_MESSAGE_LEN]; // Буфер для сообщения

uint8_t buflen = VW_MAX_MESSAGE_LEN; // Длина буфера

if (vw_get_message(buf, &buflen)) // Если принято сообщение

{

// Начинаем разбор

int i;

// Если сообщение адресовано не нам, выходим

if (buf[0] != 'z')

{

return;

}

char command = buf[2]; // Команда находится на индексе 2

// Числовой параметр начинается с индекса 4

i = 4;

int number = 0;

// Поскольку передача идет посимвольно, то нужно преобразовать набор символов в число

while (buf[i] != ' ')

{

number *= 10;

number += buf[i] - '0';

i++;

}

Serial.print(command);

Serial.print(" ");

Serial.println(number);

}

}

int val;

int LED = 13;

Void setup()

{

Serial.begin(9600);

pinMode(LED, OUTPUT);

}

void loop()

{

if (Serial.available())

{

val = Serial.read();

// При символе "W" включаем светодиод

if (val == 'W')

{

digitalWrite(LED, HIGH);

}

// При символе "S" выключаем светодиод

if ( val == 'S')

{

digitalWrite(LED, LOW);

}

}

}

// Реле модуль подключен к цифровому выводу 4

int Relay = 4;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]