Как передать код на радиопередатчик с SD карты

Sinhrofazatron
Offline
Зарегистрирован: 06.11.2017

Здравствуйте, друзья. Помогите разобраться. Есть 4к кодов которые нужно по очереди передать на радиоприемник. Вопрос как залить все 4к кодов в скетч?Если каждый код отдельно посылать, то памяти хватает только на 1,5к. Цикл задать не получается т. к. шаг между кодами везде разный.
Было предложение через sd карту, но не могу разобраться как это реализовать.

Вот что посоветовали 

Проверяем файл на наличие, делаем его копию, открываем копию и считываемых 1 строку, удаляем ее сразу, считанное число из строки переменной вставляем в код отправки, далее опять считываемых строку и удаляем и так до конца
Коды идут столбиком

Вот исходный код

#include <RCSwitch.h> 
RCSwitch mySwitch = RCSwitch(); 
void setup() { 
Serial.begin(9600); 
// Transmitter is connected to Arduino Pin #10 
mySwitch.enableTransmit(10); 
// Optional set pulse length. 
// mySwitch.setPulseLength(320); 
// Optional set protocol (default is 1, will work for most outlets) 
// mySwitch.setProtocol(2); 
// Optional set number of transmission repetitions. 
// mySwitch.setRepeatTransmit(15); 
} 
void loop() { 
/* Same switch as above, but using decimal code */ 
mySwitch.send(5625693, 24); 
delay(10);

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

А что там разбираться? Читаем документацию к SD, далее - юзаем методы SD.exists, SD.open, File.read, File.close - и всё. Пробуйте, примеров работы с файлами в поставке Arduino IDE уже есть, только вы почему-то даже не удосужились их просмотреть.

Sinhrofazatron
Offline
Зарегистрирован: 06.11.2017

Я прочитал,но не смог разобраться. Поэтому и пришел на форум.

Как мне соединить

#include <SPI.h>
#include <SD.h>
File myFile;
void setup() {
// запускаем последовательную коммуникацию и ждем открытия порта:
Serial.begin(9600);
while (!Serial) {
; // ждем подключения последовательного порта (нужно только для плат со штатным USB-портом)
}
Serial.print("Initializing SD card...");//  "Инициализация SD-карты..."
if (!SD.begin(4)) {
Serial.println("initialization failed!");//  "инициализация не удалась!"
return;
}
Serial.println("initialization done.");//  "инициализация выполнена."
myFile = SD.open("test.txt");
if (myFile) {
Serial.println("test.txt:");
// считываем содержимое файла до тех пор, пока нечего будет считывать:
while (myFile.available()) {
Serial.write(myFile.read());
}
// закрываем файл:
myFile.close();
} else {
  // если файл не открылся, сообщаем об ошибке:
Serial.println("error opening test.txt");//  "ошибка при открытии test.txt"
}
}
void loop() {
// после setup() ничего не происходит
}

Эту часть с сд карты,но что бы он не в ком порт выводил мне значения из файла txt,а в 

#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
// Transmitter is connected to Arduino Pin #10
mySwitch.enableTransmit(10);
// Optional set pulse length.
// mySwitch.setPulseLength(320);
// Optional set protocol (default is 1, will work for most outlets)
// mySwitch.setProtocol(2);
// Optional set number of transmission repetitions.
// mySwitch.setRepeatTransmit(15);
}
void loop() {
/* Same switch as above, but using decimal code */
mySwitch.send(5625693(вот сюда все значения из txt по порядку), 24);
delay(10);

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Соединить просто - потихоньку учиться программировать, разбираться в логике работы кода, начинать понимать, что делает тот или иной его кусок. Желание новичков быстро слепить из двух кусков кода один - вызывает жгучее отвращение: тут быстро ничего не бывает, это не диарея, а программирование.

Sinhrofazatron
Offline
Зарегистрирован: 06.11.2017

Если "просто" помогите в реализации данного вопроса,за этим я собственно и написал на форум специалистам.Я учусь по примерам не так давно и потихоньку вникаю в это все,а хотелось бы решение этой задачи сейчас,а не через пол года. Когда я сам пойму.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Sinhrofazatron пишет:

Я учусь по примерам 

Примеры есть в Arduino IDE - и открытие файла, и чтение из него. Учитесь по ним, что мешает? Нет, вы просто хотите кусок готового кода, а не учиться. Документация по библиотекам - есть, примеры - есть, всё что нужно - есть, надо лишь взять - и учиться, тогда со временем и поймёте. А готовый кусок кода вас ничему не научит.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DIYMan пишет:

Нет, вы просто хотите кусок готового кода, а не учиться. ... со временем и поймёте.

Экой непонятливый! Сказано же, что нужно "решение этой задачи сейчас,а не через пол года"!