Не ясно назначение входного Pin

Тема в разделе "Arduino & Shields", создана пользователем Itat, 28 ноя 2017.

  1. Itat

    Itat Нерд

    Здравствуйте, уважаемые форумчане! Пожалуйста, помогите начинающему немного понять одну штуку...
    Имеем плату Arduino Uno/

    Я решил составить программу "помигать светодиодом", но не встроенным, как показывают на первых видеоуроках, а, присоединив свой, как показано на схемке А (извините, рисовал в Пайнте и на скорую руку).

    Здесь я хотел, чтобы +5 В выходил из Pin2 и заходил в Pin 3. эта схема не работает.

    int svoiPin=2;
    int inPin=3;

    void setup()
    {
    pinMode (svoiPin,OUTPUT);
    pinMode (inPin,INPUT);
    }

    void loop()
    {
    digitalWrite (svoiPin, HIGH);
    delay (1000);
    digitalWrite (svoiPin, LOW);
    delay (1000);
    }

    Тогда я провод вытащил из гнезда 3 и переставил его в гнездо GND. Всё заработало!
    После этого я решил переписать программу и убрать строку int inPin=3; , ведь теперь этот разъём не участвует! Но загрузит не получилось, компилятор "ругаться стал"

    Вопрос: почему, когда я убрал строку int inPin=3; (ведь этот пин теперь в схеме не участвует) компилятор написал об ошибке??
     

    Вложения:

    • Вопрос.png
      Вопрос.png
      Размер файла:
      19,6 КБ
      Просмотров:
      1.168
  2. akl

    akl Гуру

    во-первых - где токоограничивающий резистор? без него микросхема сломает ногу.
    во-вторых кури как работают ноги:
    http://easyelectronics.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html

    если по этой ссылке совсем ничего непонятно, то можно с чего-то подобного начать http://wiki.amperka.ru/конспект-arduino:понятие-электричества
     
    Последнее редактирование: 28 ноя 2017
  3. rkit

    rkit Гуру

    В схеме не участвует, а в программе участвует. И компилятор компилирует именно программу, а про схему ему ничего не известно.
    Светодиод подключен неправильно, читайте учебник.
     
  4. CYITEP_BAC9I

    CYITEP_BAC9I Гик

    попробую себя в роли объяснятеля) (чтоб не забывать самому)
    1 вставляйте кот с помощью <> в верхней строке меню сообщения. Так проще понять, что к чему
    2 честно говоря не сталкивался чтоб одну ногу Дуни использовали как + другую как - да еще и без резистора (220- 360 ом хватает)
    но если только теоретически то вам надо было сделать примерно так
    Код (C++):
    #define svoiPin 2
    #define inPin 3

    void setup()
    {
    pinMode (svoiPin,OUTPUT);
    pinMode (inPin,OUTPUT);
    digitalWrite (inPin, LOW);
    }

    void loop()
    {

    digitalWrite (svoiPin, HIGH);
    delay (1000);
    digitalWrite (svoiPin, LOW);
    delay (1000);
    }
    НО !!! это чисто теоретический кот!!! не советовал бы так подключать во избежание будущих проблем со здоровьем Дуни.
    компилятор ругался потому что вы убрали в инициализации int inPin=3; но не убрали его из setup. компилятор просто не знал что это и с чем его едят. я так думаю)
    Пока писал уже ответили, какой здесь добрый и отзывчивый народ!
     
    Последнее редактирование: 28 ноя 2017
    b707, Tomasina и Толик Иванов нравится это.
  5. b707

    b707 Гуру

    "кот Да Винчи" :)
    Вася!
    "Кот" - это домашнее животное среднего размера, как правило пушистое с длинным хвостом, говорит "мяу", обожает сметану и гадить в тапки.
    А текст программы называется "коД". :)

    Но обьясняешь ты хорошо.
     
    Последнее редактирование: 29 ноя 2017
    CYITEP_BAC9I нравится это.
  6. Itat

    Itat Нерд

    компилятор ругался потому что вы убрали в инициализации int inPin=3; но не убрали его из setup.

    Всё понял!

    Огромное спасибо всем за дельные советы и ссылки! И за то, что потратили на меня ДРАГОЦЕННОЕ ВРЕМЯ!

    ЗЫ: здоровье возможно хоть немного поправить, подругу или жену новую найти можно, денег заработать можно, а время никакими деньгами и молитвами не вернёшь...
     
    CYITEP_BAC9I нравится это.