Вопрос по урокам Матрешки Z

Тема в разделе "Обсуждение магазина", создана пользователем MihaNN52, 23 сен 2016.

  1. MihaNN52

    MihaNN52 Нерд

    Помогите решить задачку №11 http://wiki.amperka.ru/конспект-arduino:светильник-с-кнопочным-управлением

    Не могу разобраться в коде, не смотря на то что есть описание.
    boolean handleClick(int buttonPin, boolean wasUp, int delta)
    {
    boolean isUp = digitalRead(buttonPin);
    if (wasUp && !isUp) {
    delay(10);
    isUp = digitalRead(buttonPin);
    // если был клик, меняем яркость в пределах от 0 до 255
    if (!isUp)
    brightness = constrain(brightness + delta, 0, 255);
    }

    Конкретно не понятно от куда берутся значения - int buttonPin, boolean wasUp, int delta

    Спасибо за подсказку.
     
  2. ZAZ-965

    ZAZ-965 Гуру

    Это имена параметров функции, а не значения. Можно написать определение функции так boolean handleClick(int argument_1, boolean argument_2, int argument_3), но запомнить легче осмысленные имена.
     
  3. MihaNN52

    MihaNN52 Нерд

    Да, моя это понимает), Это просто названия отражающие суть. Мне не понятно чему они равны.
    До этого урока было все понятно, все значения задавались.
    Тут же функция с тремя не известными.

    если можно по примеру
    if (wasUp && !isUp)
    Вот wasUp понятно что он будет равен или 0 или 1 т.к он boolean
    Но чему он будет равен и как это считать я не понимаю.
    Для меня это непонятно.
    Или boolean isUp = digitalRead(buttonPin);
    buttonPin понятно что это какой то пин (digitalRead(pin), но какой? Он не где не задан ранее.

    Тоже самое и с int delta, какое то целое число которое принимает участие в функции несколькими строками ниже, но от куда берется его значение не понимаю.
     
  4. ZAZ-965

    ZAZ-965 Гуру

    В строках 27-38 скетча у вас определение функции, т.е. количество входящих аргументов, их типы и некие вычисления, в которых используются входящие аргументы. В строке 20 скетча у вас происходит вызов этой функции с передачей в нее реальных параметров, т.е будет вызов handleClick (buttonPin=2, wasUp=true, delta=+35). А дальше, думаю, понятно.
    Рекомендую почитать книги по Arduino: Петин В.А. - Проекты с использованием контроллера Arduino, Улли Соммер - Программирование микроконтроллерных плат ArduinoFreeduino, Блум Джереми - Изучаем Arduino. Инструменты и методы технического волшебства. Можно найти на рутрекере.
     
    MihaNN52 нравится это.
  5. MihaNN52

    MihaNN52 Нерд

    Все теперь понял.... Спасибо!
    За рекомендации спасибо, Блум приобретен, хотел его начать изучать после матрешки.
     
  6. ZAZ-965

    ZAZ-965 Гуру

    Мне одной книгой обойтись не получилось, везде чего-то не хватает, готовлю племянникам задания по этим трем книгам + различным интернет ресурсам.
     
  7. MihaNN52

    MihaNN52 Нерд

    У меня пока двоякое впечатление от уроков "амперки", несомненно они сделали и делают огромное дело, за что им большое Спасибо. Ладно я уже с засаленным мозгом сел за ардуино, тут больше упор на детишек и я от этого в восторге.

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

    Так же не хватает описание в уроках, того что будем делать и как это должно выглядеть на выходе.
    Возможно не хватает видео материала, в котором можно было более подробно рассказать о уроке.
    Просто мнение.....
     
  8. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    http://wiki.amperka.ru/конспект-arduino
    Есть и пояснения к коду, вопросы для проверки и задания для самостоятельного решения.

    Когда я изучал arduino с матрёшкой, мне комментариев было достаточно.
     
    Tomasina нравится это.
  9. MihaNN52

    MihaNN52 Нерд

    Пришлось чуть отойти от матрешек в сторону изучения c++. Случайно наткнулся на интересный сайт по изучению с++ http://academy.cppstudio.com/ на cppstudio.com есть неплохой учебник справочник. После изучения вернусь, не смотря на то что руки на ардуино чешутся))) Надо начинать с начала. Еще раз всем спасибо за помощь.