Считывания с CD карты массива (бюджет 1000р)

Тема в разделе "Закажу проект", создана пользователем Artclonic, 25 янв 2018.

  1. Artclonic

    Artclonic Гик

    Добрый день нужен код считывания массива с CD карты. и в зависимости от элемента массива провернуть ШД на соответствующий градус (шаг). Массив большой (может соответственно быть разный) где то 300 на 300. Элементов в массиве - 30 шт (1,2,3,4 и т.д. до 30).
    В зависимости от значения элемента повернуть Шаговый Двигатель на соответствующий угол (1,2,3 и т.д. до 30)
    Массив читать снизу верх "змейкой" (пусть число строк будет всегда четным.
     
  2. Green

    Green Гик

    Пусть число танков равно Х. Нет, Х мало. Пусть Y.
     
  3. Artclonic

    Artclonic Гик

    Массив набор чисел с 1 до 30
    число строк 300 столбцов 300 (к примеру)
    Нужно считать данный массив в зависимости от значения элемента выполнитьь действие, к примеру повернуть ШД на соответствующий угол.
    На CD карте в файле TXT... Массив
     
  4. Artclonic

    Artclonic Гик

    Пример файла
     

    Вложения:

  5. ostrov

    ostrov Гуру

    Может внешний EEPROM?
     
  6. Developer-RU

    Developer-RU Гик

    А в чем трудность? Бюджет какой?
     
  7. ostrov

    ostrov Гуру

    Бюджет озвучен в заголовке, а трудность в том, что я, например, нихрена не понял. Что за змейка, какого типа данные в массиве и тд и тп.
     
  8. Developer-RU

    Developer-RU Гик

    Змейкой это справа налево, шаг вверх, слева направо, потом в цикле.
    Просто времени у меня нет, так там писать полчаса, читай строку и парси в массив и в цикле шагай и так много раз.
    Берись - у меня просто времени нет.. да и за 1000 как то неинтересно отвлекаться даже.
     
  9. Artclonic

    Artclonic Гик

    Данные - числа (от 1 до 30). считывание снизу вверх данного массива, но не справа на лево, а нижняя строка слева на право, следующая наоборот с права на лево.
     
  10. Developer-RU

    Developer-RU Гик

    Программно любой бы сделал как я сказал, потому там нужно задать какую либо переменну, в каком направлении читать и на каждой строке инвертировать, так что смысл тот же.
     
  11. Artclonic

    Artclonic Гик

    Массив большенкий где-то в среднем 300 на 300
     
  12. ostrov

    ostrov Гуру

    Чем этот 300х300 отличается от одномерного 90000?
     
  13. Artclonic

    Artclonic Гик

    Для меня ни чем, только данные входные (начальная таблица) будут в виде, как в приложенном файле, а там можно из него и одномерный сделать...
     
  14. Artclonic

    Artclonic Гик

    Ну мож 1100руб наберу.. больше нет...
     
  15. Developer-RU

    Developer-RU Гик

    если никто не согласится - завтра пиши в вибер 89995897024
     
  16. Artclonic

    Artclonic Гик

    Нет вибера... телефон не современный. готов даже предоплату сделать руб 500...
     
  17. Developer-RU

    Developer-RU Гик

    значит напишешь в личку. сегодня нет времени.
     
  18. Artclonic

    Artclonic Гик

    Техническое задание.

    Оборудование: Ардуино мега, Слот SD карты

    Входная информация:

    Массив не менее 300 на 300 (если есть возможность то более).

    Формат массива таблица в TXT файле. (пример в форуме., по факту копирую таблицу из екселя и вставляю в txt файл). Файл записывается на CD карту. При включении питания начинается работа программы.

    Кол-во элементов – 30 шт (1,2,3 ….30)

    Программа должна проанализировать все элементы массива поочередно и выполнить действие в соответствии с элементом. Действие, к примеру зажигание соответствующего светодиода ( Я потом действие сам пропишу).

    Чтение массива должно быть снизу вверх по «змеевидной траектории». Я так понимаю это будет организованно переменной какой-то, Так вот переходе на 1 ячейку (а также направление движения «чтения» ячеек я должен идентифицировать (ну наверное по переменной вот этой). Соответственно и движение чтения строк, но там все понятно – только в одну сторону.

    К чему это требование, к тому что я привяжу чтение элементов массива к движению еще двух шаговых двигателей (один отвечает за движение по ячейкам, другой по строкам).

    Алгоритм следующий

    Чтение массива 3 на 3 (9 элементов) (к примеру, по факту не менее 300х300).

    6 7 3

    8 2 4

    1 2 3

    прочитали «3» зажегся светодиод №3 ШД1 повернулся на 1 ед влево, прочитали «2» зажегся светодиод №2 ШД1 повернулся на 1 ед влево, прочитали «1», зажегся светодиод №1 ШД1 повернулся на 1 ед влево

    окончание строки ШД2 повернулся на 1 ед

    прочитали «8» зажегся светодиод №8 ШД1 повернулся на 1 ед вправо, прочитали «2» зажегся светодиод №2 ШД1 повернулся на 1 ед вправо, прочитали «4» зажегся светодиод №4 ШД1 повернулся на 1 ед вправо

    окончание строки ШД2 повернулся на 1 ед

    прочитали «3» зажегся светодиод №3 ШД1 повернулся на 1 ед влево, прочитали «7» зажегся светодиод №7 ШД1 повернулся на 1 ед влево, прочитали «6», зажегся светодиод №6 ШД1 повернулся на 1 ед влево

    Конец
     
  19. ostrov

    ostrov Гуру

    Тоже не пойму почему нельзя записать команды, например, столбиком? Трехзначным числом например, номер ШД, направление, светодиод, или типа того. Как файл закончился начали сначала. Считывать построчно, парсить в три действия и выполнять. Можно эту огромную матрицу 300х300 предварительно конвертировать на ПК в удобоваримую форму, например тем же EXEL. А так какой то ацкий адЪ.
     
  20. DIYMan

    DIYMan Guest

    Топикстартеру: в архиве парсер с комментариями, приложен тестовый файл program.txt, который надо закачать в корень SD-карточки. Разделитель между столбцов - табуляция, меняется в настройках скетча. Читается последовательно, слева-направо и сверху вниз.

    Номер телефона скину в личку.
     

    Вложения: