Страница 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
Пока нет комментариев. Авторизуйтесь, чтобы оставить свой отзыв первым!