Универсальное управление вспышкой Фтотриггер - ФОРУМ ДВ Робот dvrobot.ru
Пятница, 16.11.2018, 05:36
Главная Мой профиль Регистрация Выход
  • НАШ МАГАЗИН
  • Вы вошли как Гость | Группа "Гости"Приветствую Вас, Гость
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 1 из 1
    • 1
    Модератор форума: Serg, GRACH  
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Arduino - вопросы и ответы. » Универсальное управление вспышкой Фтотриггер (Помогите разобраться!)
    Универсальное управление вспышкой Фтотриггер
    sanikДата: Суббота, 02.03.2013, 06:56 | Сообщение # 1
    5 Вольт
    Группа: Пользователи
    Сообщений: 55
    Репутация: 0
    Статус: Offline
    Я не очень разбираюсь, в case switch.  Подскажите пожалуйста почему у меня при запуске не выполняется void procesSound  выполняется только hello и сase MODE_SETUP и нет выхода из этого цикла?
    Код
    #include <LiquidCrystal_I2C.h>

    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>


    Добавлено (02.03.2013, 06:56)
    ---------------------------------------------
    Похоже здесь глухо?


    Сообщение отредактировал sanik - Пятница, 12.04.2013, 08:16
     
    SergДата: Суббота, 02.03.2013, 07:22 | Сообщение # 2
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    разберемся.а что это за конструкция?
     
    m_wДата: Суббота, 02.03.2013, 15:38 | Сообщение # 3
    5 Вольт
    Группа: Пользователи
    Сообщений: 67
    Репутация: 2
    Статус: Offline
    Цитата (sanik)
    Похоже здесь глухо?
    В смысле? Никто не отвечает? Так земля то круглая. Когда у Вас день, у кого-то ночь. Да и форум еще молодой. Участников не много.

    По программе. Ищите того кому интересна та же тематика и кто разбирается в программировании ардуино. Без личной заинтересованности разбираться в таком нагромождении кода очень лениво. Да и не понятно ничего. Хотя бы минимальные сведения об аппаратной части проекта должны быть. Очень кстати было бы описание алгоритма.

    Если не знаете как работает switch case, замените эту конструкцию на
    Код
    if ( условие1 )
    {
          действие1
    }
    else if ( условие2 )
    {
          действие2
    }
    else if ( условие3 )
    {
          действие3
    }
    else
    {
          действие4
    }

    Посмотрите http://arduino.cc/en/Reference/SwitchCase и http://arduino.cc/en/Reference/Else


    Мой блог http://justforduino.blogspot.ru/

    Сообщение отредактировал m_w - Суббота, 02.03.2013, 16:01
     
    SergДата: Суббота, 02.03.2013, 17:05 | Сообщение # 4
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    procesSound  зависит от состояния каких то кнопок. Откуда взят код?

    А вообще в процессе отладки программы надо  и нужно выводить соответствующие сообщения в терминал. Удобнее будет контролировать.
     
    sanikДата: Воскресенье, 03.03.2013, 00:58 | Сообщение # 5
    5 Вольт
    Группа: Пользователи
    Сообщений: 55
    Репутация: 0
    Статус: Offline
    Цитата (m_w)
    Если не знаете как работает switch case, замените эту конструкцию на
    Заменить её в этом коде я не смогу так как здесь работают три подпрограммы А из case удобней их вызывать кода это требуется. Алгоритм таков четыре кнопки, setup, seletc, plus, minus, при запуске здороваемся) далее при первом нажатии кн.seletc выполняем case MODE_SETUP_S:, устанавливаем значение задержки soundsetup   кнопками  + -  при втором нахжатии значение задержки lasersetup третье нажатие  setup  выполняем void procesSound(), Кнопкой seletc переключем между режимом void procesSound() и режимом void procesLaser() режимы у меня проверены по отдельности работают мне с управлением не разобраться...

    Добавлено (03.03.2013, 00:58)
    ---------------------------------------------
    Цитата (Serg)
    procesSound зависит от состояния каких то кнопок.
    Продвинулся дальше, почти все работает, Только почему то void procesSound() и void procesLaser() отрабатывают по одному разу как сделать их чтоб пока не нажата не одна из кнопок  после установок выбранный void() работал по кругу ? тоесть FLASH_PIN, FlashState и снова чтение с датчиков.... Помогите пожалуйста!!!

    Код
    #include <LiquidCrystal_I2C.h>

    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    LiquidCrystal_I2C lcd(0x27,16,2);

    const byte LaserPIN = 2; // Питание лазера
    const byte MicPIN = 7; //Питание микрофона
    const byte DiodPIN = 4;    
    const int Sound_trigger_PIN = A0; //Микрофон
    const int Laser_trigger_PIN = A1; // фотодиод
    const byte FLASH_PIN = 8;


    Сообщение отредактировал sanik - Пятница, 12.04.2013, 08:16
     
    SergДата: Воскресенье, 03.03.2013, 20:07 | Сообщение # 6
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    Цитата (sanik)
    тоесть FLASH_PIN, FlashState и снова чтение с датчиков
    ну и поставьте их в void loop()
     
    sanikДата: Понедельник, 04.03.2013, 02:27 | Сообщение # 7
    5 Вольт
    Группа: Пользователи
    Сообщений: 55
    Репутация: 0
    Статус: Offline
    Цитата (Serg)
    ну и поставьте их в void loop()
    То есть как? Подскажите? Что нужно убрать,что дописать? Я пытался начинает ошибки выдавать.. Просто я не знаю как правильно вписать туда а потом в сase вызывать...


    Сообщение отредактировал sanik - Понедельник, 04.03.2013, 02:29
     
    SergДата: Понедельник, 04.03.2013, 07:21 | Сообщение # 8
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    Для начала сформулируйте вопрос, что бы было понятно все остальным.
     
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Arduino - вопросы и ответы. » Универсальное управление вспышкой Фтотриггер (Помогите разобраться!)
    • Страница 1 из 1
    • 1
    Поиск:

    ДВ Робот - Чат