С чего начать?

Тема в разделе "Посоветуйте детальки", создана пользователем джекте трис, 18 окт 2017.

  1. с чего начать новичку некоторые я уже сделал
     
  2. Arkad_snz

    Arkad_snz Гик

    Как и в любой сфере деятельности начать лучше с проверенных "Академических" задач, расписанных в подробностях в литературе (в Тырнете).
    Выбрать одну - тут уж на свой вкус, и решить ее - т.е. пройти весь путь от задумки, задачи, до проекта, разработки и реализации.
    Т.о. на конкретной, давно всеми решенной задаче изучить и отработать порядок работы.
    Параллельно не забывать, и выполнять упражнения - микрозадачки.
     
  3. я сделал пианино

    сначало из трёх кнопок потом добавил ещё две

    вот
    #define BUZZER_PIN 13 // пин с пищалкой (англ. «buzzer»)
    #define FIRST_KEY_PIN 7 // первый пин с клавишей (англ. «key»)
    #define KEY_COUNT 5 // общее количество клавиш

    void setup()
    {
    pinMode(BUZZER_PIN, OUTPUT);
    }

    void loop()
    {
    // в цикле бежим по всем номерам кнопок от 0-го по 2-й
    for (int i = 0; i < KEY_COUNT; ++i) {
    // на основе номера кнопки вычисляем номер её пина
    int keyPin = i + FIRST_KEY_PIN;

    // считываем значение с кнопки. Возможны всего 2 варианта:
    // * высокий сигнал, 5 вольт, истина — кнопка отпущена
    // * низкий сигнал, земля, ложь — кнопка зажата
    boolean keyUp = digitalRead(keyPin);

    // проверяем условие «если не кнопка отпущена». Знак «!»
    // перед булевой переменной означает отрицание, т.е. «не».
    if (!keyUp) {
    // рассчитываем высоту ноты в герцах в зависимости от
    // клавиши, которую рассматриваем на данном этапе цикла.
    // Мы получим значение 3500, 4000 или 4500
    int frequency = 3500 + i * 500;

    // Заставляем пищалку пищать с нужной частотой в течение
    // 20 миллисекунд. Если клавиша останется зажатой, пищалка
    // вновь зазвучит при следующем проходе loop, а мы услышим
    // непрерывный звук
    tone(BUZZER_PIN, frequency, 20);
    }
    }
    }
     
    Последнее редактирование модератором: 18 окт 2017
  4. ostrov

    ostrov Гуру

    Сделай клавиатуру на одну октаву, включая диезы. Оптимизируй код, частоты в массив, номера пинов в массив. Потом сделай то же самое но через сдвиговый регистр. Вот тебе на первое время заданий.
     
  5. null

    null Гик

    Я кода не вижу!
    Код это так:
    Код (C++):
    #define BUZZER_PIN 13 // пин с пищалкой (англ. «buzzer»)
    #define FIRST_KEY_PIN 7 // первый пин с клавишей (англ. «key»)
    #define KEY_COUNT 5 // общее количество клавиш

    void setup()
    {
    pinMode(BUZZER_PIN, OUTPUT);
    }

    void loop()
    {
    // в цикле бежим по всем номерам кнопок от 0-го по 2-й
    for (int i = 0; i < KEY_COUNT; ++i) {
    // на основе номера кнопки вычисляем номер её пина
    int keyPin = i + FIRST_KEY_PIN;

    // считываем значение с кнопки. Возможны всего 2 варианта:
    // * высокий сигнал, 5 вольт, истина — кнопка отпущена
    // * низкий сигнал, земля, ложь — кнопка зажата
    boolean keyUp = digitalRead(keyPin);

    // проверяем условие «если не кнопка отпущена». Знак «!»
    // перед булевой переменной означает отрицание, т.е. «не».
    if (!keyUp) {
    // рассчитываем высоту ноты в герцах в зависимости от
    // клавиши, которую рассматриваем на данном этапе цикла.
    // Мы получим значение 3500, 4000 или 4500
    int frequency = 3500 + i * 500;

    // Заставляем пищалку пищать с нужной частотой в течение
    // 20 миллисекунд. Если клавиша останется зажатой, пищалка
    // вновь зазвучит при следующем проходе loop, а мы услышим
    // непрерывный звук
    tone(BUZZER_PIN, frequency, 20);
    }
    }
    }
     
    NikitOS нравится это.
  6. я не понимаю
    в этом
     
  7. null

    null Гик

    В чем?
    В том, как сделать
    Код (Text):
    код?
     
  8. Arduino_man

    Arduino_man Гик

    Пожалуйста, учитесь правильно формулировать свои мысли! Вы же всё-таки русский знаете! Или нет?.. :confused:
     
  9. Arkad_snz

    Arkad_snz Гик

    А, и не надо.
    Ты же не МК - это его забота понять и выполнить, а не твоя.