скетч и шаговый двигатель

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Дмитрий Салик, 30 янв 2016.

  1. Товарищи подскажите,при добавлении (summ = true) процесс пропускается только один раз, то есть если я повторно набираю пароль, шаговик не реагирует, 3й раз реагирует.
    Чем воспользоваться, чтоб мой шаговик выполнял действия однократно
    т.е. если набран пароль 5555, то второй раз он уже не набирается: а ждёт 0000, и на оборот
    мой кусочек скетча прилагаю:

    if (summ=="5555"){
    Serial.println("PASS OK");
    summ="";
    keystr="";
    shet=0;
    myStepper.step(stepsPerRevolution);
    summ = true;
    }if(summ=="0000"){
    Serial.println("new");
    summ="";
    keystr="";
    shet=0;
    myStepper.step(-stepsPerRevolution);
    summ = true;
    };
    буду очень признателен
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    чем больше дублей твоих вопросов - тем меньше вероятность получить на них ответ.
     
  3. вопрос выделил в отдельную тему, и страшного в этом ничего нету
     
  4. MXXX

    MXXX Гик

    15 лет занимаюсь программированием, но такого странного кода еще не встречал ))) Пойду я отсюда лучше ))
     
  5. Так помогите написать хороший и правильный код, только язвить можете, а как помочь - так хер
     
  6. MXXX

    MXXX Гик

    Код (C++):
    bool mode = true;
    String summ;

    void loop() {
      if(summ == "5555" && mode == true){
        Serial.println("PASS OK");
        ...
      }
      if(summ == "0000" && mode == false){
        Serial.println("new");
        ...
      }
      mode = !mode;
    }
    Но дело то не в этом, а в подходе. Хороший код можно написать при правильно запроектированном алгоритме, а то как Вы пишите приведет к запутанности кода уже на 30 строчках. Старайтесь не городить кучу if/else, а делить логику на составные части. Если код более 50 строк то обязательно с объектно ориентированным подходом. Да и в целом придерживаться базовых правил, таких как исключение дублирования однообразного кода, не помешает. Я уж не говорю о откровенных странностях. То Вы с переменной summ работаете как со строковым типом, то как с буленовским... У меня есть проекты более 50 тыс. строк кода и никаких сложностей с анализом кода и его доработкой не возникает из-за правильного проектирования и соблюдения правил программрования. А у Вас 3,14 строчки кода и я уже напрягся ))
     
  7. Tomasina

    Tomasina Сушитель лампочек Модератор

    а можно взглянуть? Для самообразования, так сказать.
     
  8. MXXX

    MXXX Гик

    50 тыс. строк кода это не скетчи под калькуляторы вроде Arduino естественно, а корпоративные системы автоматизации. В основном на C# под Net Framework и Mono на Linux. Но общие принципы то одинаковы. Если код правильно структурирован, то будет легко читаться при любом объеме.
    Для самообразования нужно не исходники, а книги по программированию. Но мы кажется далеко заходим уже. У Вас же вопрос всего навсего по простенькому скетчу был