Где может быть ошибка кода?

Тема в разделе "Arduino & Shields", создана пользователем sanik, 8 окт 2013.

  1. sanik

    sanik Гик

    Я записал алгоритм в подробностях решил убрать вращение головы добавить интервалометр.
     
  2. sanik

    sanik Гик

    В какой программе вы рисовали этот?
     
  3. Megakoteyka

    Megakoteyka Оракул Модератор

    http://drakon.su/drakon_editor
    Есть еще другая среда, ИС ДРАКОН, более новая, постоянно появляются новые версии.
     
  4. sanik

    sanik Гик

    А как её активировать я с английским плохо дружу
     
  5. Nickstalker

    Nickstalker Нерд

    Зачем усложнять себе жизнь, устанавливая "переводчика" на язык программирования? Ведь "оригинал" языка всегда функциональнее...
    P.S.: И вообще НАПИСАНИЕ программ структурирует мышление, развивает память, математические и логические навыки!
     
  6. Megakoteyka

    Megakoteyka Оракул Модератор

    Вы сперва почитайте о ДРАКОНе, а потом делайте далеко идущие выводы. Это не "переводчик".
     
    Последнее редактирование: 15 окт 2013
  7. Megakoteyka

    Megakoteyka Оракул Модератор

    Скачать и установить ActiveTcl, запустить ДРАКОН. Ничего активировать не нужно.
     
  8. sanik

    sanik Гик

    Не получается у меня зарисовать и составить алгоритм, не представляю я как должна работать программа .
     
  9. Unixon

    Unixon Оракул Модератор

    Погодите, есть еще другой способ не рисовать пока строгий алгоритм.

    sanik, представьте, что вы сами и есть Arduino и пытаетесь выполнить алгоритм пошагово.
    У вас есть возможность в один момент времени совершать только одно из следующих действий:

    1. Считать двоичный сигнал (digitalRead) и пина M в переменную V.
    2. Записать двоичный сигнал (digitalWrite) в пин M из переменной V.
    3. Считать аналоговый сигнал (analogRead) и пина M в переменную V.
    4. Записать аналоговый или ШИМ сигнал (analogWrite) в пин M из переменной V.
    5. Создать переменную или константу (int, float, bool, ...) V.
    6. Уничтожить переменную или константу (выход из блока }).
    7. Присвоить переменной значение (=).
    8. Вычислить арифметическое или логическое выражение (+,-,*,/,!,&&,||,(,),==,<,>,<=,>=, ...) и присвоить его переменной V.
    9. Если (8) истинно, вернуться на N шагов назад.

    Вместо N,M,V пишите, что хотите.

    Нельзя совершать никакие действия, кроме перечисленных выше.

    Просто возьмите листок бумаги и ручку/карандаш и записывайте на нем пронумерованный порядок действий и их результат. Перед тем как выбрать следующее действие, подумайте, что бы вы сделали на месте ардуины. Отдельно сбоку в столбик пишите имена и значения переменных и вычеркивайте из них удаленные.
     
    Megakoteyka нравится это.
  10. sanik

    sanik Гик

    Почему то криво экспортировалось
    контролер_1.png
     
  11. sanik

    sanik Гик

    Хорошо завтра попробую и так уже не сплю пару ночей надо хоть завтра на работу прийти выспавшим.
     
  12. sanik

    sanik Гик

    Вот я смогу сделать это быстрее чем понять логику алгоритма :)



    А представте как это будет в движении!!!
     
  13. Megakoteyka

    Megakoteyka Оракул Модератор

    Я скриншот делал :) Попробуйте второй редактор, он вроде приличней и не особо сложнее в использовании.
     
  14. sanik

    sanik Гик

    А все равно надписи мелкие получаются(
     
  15. Megakoteyka

    Megakoteyka Оракул Модератор

    А железяка ваша в итоге будет аналогом альт-азимутальной монтировки? А движение каретки что дает?
    Или я совсем неправильно понял? :)

    Тогда просто файл залейте, редактор у меня и у Unixon есть. Желающие скачают себе редактор и тоже смогут посмотреть :)

    drakon_editor1.20_rus, drakon_editor1.20 и drakon_editor1.19 делают экспорт нормально, только что проверил всех троих. И Dragon_2013_10_07 тоже.
    Попробуйте переключить раскладку клавиатуры перед экспортом, со многими программами срабатывает при копировании текста.
     
    Последнее редактирование: 15 окт 2013
  16. sanik

    sanik Гик

    Мне даже простых вещей толком не получается сделать в описании алгоритма упустил важную деталь режим 11. количество кадров!

    Алгоритм контроллера.

    1. При включении приветствие, переходим в режим 2.

    2. Крутим потенциометром, устанавливая желаемое положение каретки. Чем
    больше потенциометр повернут от среднего положения, тем больше скорость
    перемещения каретки, ожидаем нажатие кнопки select. Если каретка дошла до концевика останавливаем пока не будет повернут потенциометр в другое направление. По нажатию кнопки
    select, переходим в режим 3.

    3. Задаем, (количество импульсов с фотоитераптора) на сколько должна продвинуться каретка, нажатием кнопок plus или minus, по нажатию кнопки stop, сбрасываем настройки движения
    каретки, ждем нажатие кнопки select. Выводим значение на экран. По нажатию кнопки select,
    переходим в режим 4.

    4. Устанавливаем время (с шагом 1 сек) отсчета таймера pause нажатием, кнопок plus или minus в секундах, ждем нажатие кнопки select. Выводим значение на экран По нажатию кнопки select, переходим в режим 5.

    5. Устанавливаем время (с шагом 1 сек) отсчета таймера exposure нажатием, кнопок plus или
    minus в секундах, ждем нажатие кнопки select. Выводим значение на экран По нажатию кнопки
    select, переходим в режим 6.

    6. устанавливаем количество кадров shutter нажатием кнопок кнопок plus или
    minus, ждем нажатие кнопки select. Выводим значение на экран По нажатию кнопки
    select, переходим в режим 7.



    7.Ожидание нажатия кнопки start, ожидание нажатия кнопки stop, По
    нажатию кнопки start, переходим в режим 8. , По нажатию кнопки stop
    переходим в режим 2.

    8. Запускаем таймер pause в соответствии установленных параметров
    режимом 4., ожидание нажатия кнопки stop, по окончанию отсчета таймера
    pause, переходим в режим 9., , По нажатию кнопки stop переходим в
    режим 2.

    9. Запускаем таймер exposure в соответствии установленных параметров
    режимом 5. управляем срабатыванием реле focus ждем немного и реле shutter, уменьшаем значение счетчика количество кадров shutter на единицу заданого в режиме 6. Выводим на экран остаток кадров ,ожидание нажатия кнопки stop, по окончанию отсчета таймера exposure, отпускаем оба реле одновременно, переходим в режим 10., По нажатию кнопки stop отпускаем оба реле переходим в режим 2. При обнулении счетчика количество кадров shutter отпускаем оба реле переходим в режим 2.

    10.Запускаем таймер pause в соответствии установленных параметров режимом
    4., двигаем каретку в соответствии установленных параметров режимом 3.
    ожидание нажатия кнопки stop, ожидание срабатывание датчика направления
    каретки, останавливаем каретку в соответствии установленных
    параметров режимом 3. Переходим в режим 9. По нажатию кнопки stop
    переходим в режим 2. При срабатывание датчика направления каретки
    переходим в режим 11.

    11.Устанавливаем движение каретки в обратном направлении, двигаем каретку в соответствии установленных параметров режимом 3, останавливаем каретку в соответствии установленных
    параметров режимом 3 переходим в режим 9.
     
    Последнее редактирование: 25 окт 2013
  17. sanik

    sanik Гик

     
  18. sanik

    sanik Гик

    Все сплю уже находу :)
    Таймлапс это сьемка медлено протекающих процессов с интервалом между кадрами делается например 240 кадров сливается в видеоряд и получается видеоролик продолжительностью 10 секунд Тоесть на каретке крепиться фотик запускется итервалометр в котором установлен количество кадров итервал на сьемку и интервал межу кадрами получается так отснял кадр проехал несколько мм. подождал и снова кадр а управление потенциометрами для съюмки обычного видео.
     
  19. Megakoteyka

    Megakoteyka Оракул Модератор

    Это я понимаю. А каретка с какой целью едет? Для съемки медленно протекающих процессов на медленно движущихся объектах? Я вот в этом месте туплю :)
     
  20. sanik

    sanik Гик

    Нет на видео это выглядит так если облака казалось бы не двигаются в течении двух трех часов они меняют форму и положение то есть облака на видео начинают быстро перемещаться а положение камеры будет плавно передвигаться с одного места на другое получается эффект совмещения простого видео (перемещение камеры) с ускоренным видео (обьект) То видео что я выложил снималось три часа.