Я должен признать, что я довольно неосведомлен обо всех электрических вещах, поэтому я получил Arduino с целью заполнить этот пробел в своем образовании, а также узнать больше о физике программирования и делать низкоуровневые вещи, но я не нашел правильное теоретическое введение в то, что происходит внутри устройства. Я могу найти только учебники типа « плагин ».
Например, вот макет учебника по миганию светодиодов (pdf)
Мне кажется, что провод, подключенный к 5v контакту, подключен к +
контактам макета ... которые ни к чему не подключены. На +
колонке больше ничего нет .
Так разве это не разомкнутая цепь? Что именно + -- 5v
делает эта связь?
Это соединение не показано на принципиальной схеме.
Мне также не ясно, как контакты подключены в самом Arduino.
Я знаю, что это основной вопрос "Google It", но, вероятно, из-за того, что у меня нет словарного запаса, поэтому я не смог найти описание текущего потока в Arduino.
источник
Ответы:
Чтобы узнать, как все связано на самом Arduino, вы должны взглянуть на схему. Это Ардуино Уно. Справа внизу вы можете увидеть, как входы / выходы платы подключены к микроконтроллеру:
Таким образом, следуя линии от контакта 13, вы переходите к PB5 микроконтроллера. Это означает бит 5 порта B. Если вы установите этот вывод на выход и установите его на высокий уровень, вы подаете 5 В на светодиодную цепь. Последовательный резистор будет ограничивать ток примерно до 5 мА, что является нормальным значением для микроконтроллера.
Итак, поскольку 5 В поступает от вывода ввода / вывода Arduino, провод 5 В на макетной плате не нужен.
источник
Вы правы, провод 5В не подключен к цепи.
Вероятно, он был оставлен там только потому, что другие эксперименты для этой серии учебных пособий требуют этого, но не обязательны для работы этой схемы.
источник
В общем, предоставленная вами схема, по сути, использует схему типа «блок-схема», в которой все абстрагировано для упрощения реализации. В этом случае Arduino изображается в виде блока, и предполагается, что все его функции работают так, как задокументировано.
Arduino - это плата разработки, основанная на микропроцессоре Atmel AVR. В общем, микропроцессор внутренне не «подключен», он предназначен для решения множества различных задач. Чтобы реализовать так много разных вещей, внутренняя «разводка» постоянно меняется внутри MCU в зависимости от того, какую задачу он в данный момент обрабатывает (спасибо, транзисторы!).
Сравните это с аппаратной реализацией логики (FPGA), где они «программируются» один раз для реализации одной конкретной функции, а затем «проводка» внутри остается постоянной.
Я говорю «проводка» в кавычках, потому что даже диаграммы логического уровня (И, ИЛИ и т. Д.) По-прежнему абстрагированы от того, что физически находится внутри процессора. Логические вентили могут быть выполнены из различных конструкций транзисторных цепей.
Причина всей абстракции заключается в том, что иметь дело с низким уровнем было бы совершенно глупо (и я не могу описать это словами). Таким образом, как только самый нижний уровень спроектирован и абстрагирован, можно с уверенностью использовать следующий уровень, который будет выполнять то, что ему говорят. Повторите цикл, и мы пройдем путь от транзисторов и логических вентилей до высокоуровневого программирования и графических интерфейсов!
Я как бы бьюсь над твоим вопросом, в основном потому, что не могу сказать, как течет ток через Arduino. Для более веского объяснения причин обратитесь к Интегральным схемам, VLSI (Очень Крупномасштабная Интеграция) и связанным темам, которые обязательно появятся в вашем поиске.
источник