ИК паяльная станция на Arduino Mega 2560. Доработка скетча "ARS_v2_Lilium_JSN"

Тема в разделе "Глядите, что я сделал", создана пользователем Jalnin, 2 ноя 2012.

Статус темы:
Закрыта.
  1. Dmitrysh

    Dmitrysh Гуру

    И вы считаете, что код от такого подхода станет меньше? И работать он станет быстрее?
    А вот такая запись
    Код (C++):
    EEPROM.update(Adres+((NnProf-1)*SizePrrof)+j, u.Mode[j]);  
    любого среднестатистического "станциястроителя" приведёт в шок.
    Если честно, я считаю что с++ подходит для серьёзных процессоров, а не для мелких 8-битных систем.
     
  2. Watashi

    Watashi Гуру

    Те, кто пишет программы, не должны ориентироваться на среднестатистического строителя ) надо писать короткий и эффективный код. А строителям, если что то не понятно, - спрашивать и изучать.
    Вы же стараетесь отвечать на возникающие вопросы и я готов отвечать.

    Я стараюсь учиться и пару месяцев ранее такой код
    Код (C++):
    Wr_pr = (byte*)Adresa[Vklad_G]+Shag;
    myGLCD.printNumI(*(byte*)Wr_pr, 286, i*Y_S_win+Y_shift, 3, ' ');
    меня поставил бы в ступор ))) , а поизучав матчасть я сам его написал.
     
  3. Dmitrysh

    Dmitrysh Гуру

    Перезалил релиз из поста #2195. Там была ошибка. Теперь параметры сохраняются не скопом в конце настройки, а как перешли на следующий параметр, предыдущий сохраняется. Мне кажется так удобнее.
     
  4. Dmitrysh

    Dmitrysh Гуру

    Да я согласен, что код должен быть эффективный и короткий, но здесь не так много программистов, которые могут разобраться в обычном си, а вы хотите чтобы люди понимали конструкции типа "указатель на указатель указателя на ячейку памяти в которой хранится указатель на процедуру обработки этого указателя". Станции строят люди которые заняты в сфере ремонта электроники, и не многие из них могут осознать некоторые конструкции, особенно если они написаны на с++.
    Ваша идея со структурами хорошая, тем более она даёт экономию в размере кода, но пользоваться ей, мягко говоря, не очень удобно. Код должен быть ещё и "читаемым". Я ещё проверю структуры на скорость исполнения, если и там всё будет хорошо, можно попробовать интегрировать.
    Есть ещё одна проблема. А как вы собираетесь сохранять параметры, допустим, раздельно. Например, как сохранить Setpoint2 для третьего профиля, не сохраняя весь профиль целиком?
     
    SOLOway нравится это.
  5. Watashi

    Watashi Гуру

    Раздельно не надо сохранять, сразу все. При вводе настроек профиля время сохранения не имеет решающего значения.
     
  6. SOLOway

    SOLOway Гуру

    Циферку поправил, а то не 14, а 13 профилей получалось :)
    Код (C++):
          if (upSwitchState == HIGH && ( millis() - ms_button) > 500) //если нажата UP,то нужно перейти к следующему профилю
          {
            ms_button =  millis();
            currentProfile = currentProfile + 1;
            if (currentProfile >= 15) //если текущий номер профиля = 14 и нажать UP, то нужно вернуться к профилю № 1
            {
              currentProfile = 1;
            }
            loadProfile(); //вызов функции loadProfile для загрузки данных профиля из eeprom
          }
          if (downSwitchState == HIGH && ( millis() - ms_button) > 500) //если нажата DOWN,то нужно перейти к предыдущему профилю
          {
            ms_button =  millis();
            currentProfile = currentProfile - 1;
            if (currentProfile <= 0)
            {
              currentProfile = 14;
            }
    Вообще, у @Watashi идеи - это хорошо. Жаль, я не могу оценить их, всилу своей безграмотности в языках программирования и банальном отсутствии времени на изучение последних... И я поддерживаю его настрой на оптимизацию кода, только прошу не смешивать ветки развития. Я помню историю с проектом LDZ и историю с проектом tormentor. - там люди, мастера, преимущественно, именно ХОТЕЛИ разобраться, как это "залить прошивку в микроконтроллер", однако единицы из них что-то понимали в языках программирования... И, кстати, ни первый, ни второй проект так и не был в виде исходников выложен в свободный доступ :) .
     
    Последнее редактирование: 6 окт 2019
    Dmitrysh нравится это.
  7. Dmitrysh

    Dmitrysh Гуру

    Как раз очень даже надо. Допустим мне поменять надо количество шагов и температуру. Зачем мне все настройки листать до конца, я поменял нужное, нажал ок, потом cancel и работаю.
     
  8. Watashi

    Watashi Гуру

    Все правильно. После нажатия ок происходит запись байта в EEPROM (во всяком случае в скече PC_revolver_Dmitrysh_v4) и надо вызывать не (например)
    Код (C++):
    EEPROM.update(((currentProfile - 1) * 9 + 178), tableSize);
    а сразу
    Код (C++):
    SaveProfile(byte NnProf);   //  сохранение текущего профиля
    по скольку в этой подпрограмме используется EEPROM.update(...) будет реально изменен только один байт. А время исполнения этого 0.05 сек или 0.3 сек не имеет значения.
     
  9. Yojiq

    Yojiq Гик

    Watashi то что вы делаете это хорошо, но нужно предупреждать что ваш скетч с другой нумерацией выводов.
    Разобрался, запустил - при переходе на следующий шаг таймер считает в + до выставленного значения
    А так вполне работоспособная прошивка, продолжаю тестировать
    Для паялки и других прожор протянул от щитка отдельную линию, мерцания лампами пропало.
    Поставил на изоляторы максы и полностью отвязал все от корпуса, а также сделал заземление и подключил на корпус станции - пока отвалов максов не было.
     
  10. Watashi

    Watashi Гуру

    Наверное это про подключение аналоговой клавиатуры? не А0, а А5. Сорри, забыл предупредить что клавиатуру надо настроить. У меня на А0-А3 висит сенсор от дисплея по заводу.
     
  11. Yojiq

    Yojiq Гик

    Как раз клавиатура заработала сразу, но у меня клавиатура резистивная
    А вот выходы верх низ перепутаны и MAX6675 у вас в параллель и на другие выводы, но все норм - тестим дальше.
    Не знаю почему, но в прошлых прошивках у меня не работала задержка по скорости роста температуры, а в вашей все ок, где глюк не знаю, но как то так.
     
    Последнее редактирование: 20 мар 2019
  12. Watashi

    Watashi Гуру

    По логике работы - это Dmitrysh колдовал, я только интерфейс настроек подправил.
     
  13. Watashi

    Watashi Гуру

    Несколько раз упоминал что пишу программу контроллера и решил показать свой (сырой еще) вариант. Не судите строго )) я только учусь.

     
    YurchikV, binaver, alsh_0907 и 5 другим нравится это.
  14. chirokiy77

    chirokiy77 Нерд

    Dmitrysh доброго дня сегодня залил скетч в Arduino Mega 2560 графика по горизонтали зеркально, на дисплее маркировка 3.5" driver ILI9486 TFTLCD bus 16bit HVGA 480x320 не подскажите куда копать?
     
  15. Dmitrysh

    Dmitrysh Гуру

    У всех похоже контроллеры разные в LCD. Я свой поборол вот так(автор доработки не я)
    Вот на всякий случай моя библиотека
     

    Вложения:

    Yojiq нравится это.
  16. chirokiy77

    chirokiy77 Нерд

    Спасибо за помощь буду пробовать.
     
  17. SOLOway

    SOLOway Гуру

    @chirokiy77 Вас порою и не понять :) Вы же, вроде у славона прошивку примусовскую купили...
    А по зеркальному смотрите на первые страницы темы - это решено ещё там, и впервые проблему обозначили в посте #154
    Я тут смотрел опять, как мои на Ersa IR-550A паяют. Так вот там во всех профилях есть некая Tinit - это температура, с которой начинает выполняться любой термопрофиль. Сделано так потому, что в этой станции НИ это 2 120*120/400W хоть и качественной, но керамики, накрытые на некоторой высоте стеклокерамикой. Т.е. инерция как у чугунного моста. При старте пайки станция ждет, когда температура, по выбранному для этого этапа в меню, датчика станет равна заданной там же величине Tinit.
    Кстати, оба датчика - и пиросенсор и K-Type, следят за поверхностью платы сверху платы!
     
    Последнее редактирование: 6 окт 2019
    Dmitrysh нравится это.
  18. chirokiy77

    chirokiy77 Нерд

    Какой славон первый раз слышу я прошивок ни у кого не покупал первое что я увидел так это видео на ютубе там где крупикус демонстрировал свою конструкцию а там уже увидел ссылку по которой и перешол на этот форум раньше в году 2011 я собирал и паялку от лдз и другие конструкции и печатки но чтото мне не по душе были эти конструкции приелись мне эти лсд 1602 очень захотелось что то графическое цветное и больших размеров а когда через время увидел что нашлись ребята которые смогли реализовать на ардуино паялку то радости не было границ и понял что нашел именно то что искал все эти годы, стал бы я просить дмитрича до ума скетч довести уж больно я загорелся этой кострукцией а у славона я не покупал прошивку даже не знаю с чего у вас эта информация. за подсказку по зеркальному изображению спасибо!!!
     
    Последнее редактирование: 21 мар 2019
  19. SOLOway

    SOLOway Гуру

    @chirokiy77
    Прошу прощения, если принял другого человека за вас. Я руководствовался сведениями из поиска google.com.
    В выдаче несколько раз мелькал ник, который вы используете тут, возможно, что это просто совпадение. Еще раз прошу прощения, если это не вы.
    Я с вами, и буду рад всем вашим успехам!
     

    Вложения:

    • chirokiy77.pdf
      Размер файла:
      112,4 КБ
      Просмотров:
      246
    Последнее редактирование: 6 окт 2019
  20. chirokiy77

    chirokiy77 Нерд

    SOLOway вы правы я писал этому человеку когда еще не знал этого форума но потом когда почитал переписку со славоном других людей понаблюдал за ситуацией писал ему несколько раз он так и не отвечал на контакт плохо шел ну и его поведение особенно то как он отвечал этим людям что то у меня желание отпало там ведь корысть цель наживы а здесь на амперке все по человечески попросил о помощи и помогли ребята и за это вам огромное человеческое спасибо долгих лет жизни и крепкого здоровья !!!!!
     
Статус темы:
Закрыта.