Жанры

Страница 8

19 августа 2026, 16:17

Это легко понять если вы задумаетесь. Возьмите батарейку на 9 вольт и включите её в простую схему. Измеряя ток, вы увидите что чем с большим сопротивлением резистор вы добавите в схему, тем меньший ток будет проходить через него.Возвращаясь к аналогии с водой, при данном насосе, если я установлю клапан (который соотносится с сопротивлением в электронике), то чем больше я буду закручивать этот клапан - увеличивая сопротивление потоку воды - тем меньше воды протечёт по трубе. Ом подвёл итог своего закона в формулу:

R (сопротивление) = V (напряжение) / I (ток)

V = R * I

I = V / R

Это единственное правило, который вам надо запомнить и выучить, поскольку в большинстве ваших работ оно единственное вам и понадобится.

4.10 Использование кнопки для управления светодиодом

Мигать светодиодом несложно, но я не думаю что вам понравится если настольная лампа будет бесконечно мигать тогда как вы пытаетесь читать книгу. Поэтому вам надо понять как управлять ею. В нашем предыдущем примере светодиод был актюатором и Arduino управляла им. Чего не хватает для полноты картины, так это сенсора.

В данном случае мы будем использовать простейший из доступных сенсоров - кнопку.

Если вы разберёте кнопку на части, вы увидите что это очень простое устройство: два кусочка металла, разделённые пружинкой, и пластиковый наконечник, который при нажатии соединяет эти контакты. Когда металлические части разделены, ток через кнопку не протекает (она подобна закрытому крану для воды); когда мы нажимаем её, мы осуществляем соединение.

Чтобы узнать состояние выключателя, существует новая для нас команда Arduino, которую нам следует изучить: функция digitalRead().

digitalRead() проверяет, подключено-ли напряжение к контакту, который вы указали в скобках, и возвращает значение "HIGH" или "LOW". Другие инструкции, которые мы использовали до этого, не возвращали никакой информации - они просто выполняли то что мы просили. Но такой тип функций немного ограничен, так как они заставляют нас придерживаться предсказуемой, строго определённой последовательности команд, без ввода данных из окружения. С функцией digitalRead() мы можем "задать вопрос" Arduino и получить ответ, который можно сохранить где-нибудь в памяти и принять решение немедленно или позже.

Составьте схему по рис. 4-6. Для этого у вас должны быть некоторые детали (и они потребуются в следующих проектах):

Беспаечная макетная плата. Приложение A - инструкция по применению такой платы.

Набор нарезанных проводов

Резистор на 10 кОм

Кнопка

Рис. 4-6. Подключение кнопки

Примечание: чтобы не покупать набор проводов, вы можете купить небольшую катушку провода 22 AWG (диаметр 0.65 мм), нарезать куски требуемой длины и зачистить концы самостоятельно.

Давайте рассмотрим код, который используется для управления светодиода кнопкой:

Пример 4-2. Включение светодиода при нажатии кнопки

#define LED 13   // the pin for the LED

#define BUTTON 7 // the input pin where the

                 // pushbutton is co

int val = 0; // val will be used to store the state

                 // of the input pin

void setup() {

  pinMode(LED, OUTPUT); // tell Arduino LED is an output

Пока нет комментариев. Авторизуйтесь, чтобы оставить свой отзыв первым!