Зачем в схеме использован диод? — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Зачем в схеме использован диод?

2018-01-30 4266
Зачем в схеме использован диод? 4.50 из 5.00 4 оценки
Заказать работу

Защитный диод нам нужен для того, чтобы ток обратного направления, который начнет создавать двигатель, вращаясь по инерции, не вывел из строя транзистор.

Почему мы использовали полевой MOSFET-транзистор, а не биполярный?

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

Почему мы не использовали резистор между портом Arduino и затвором транзистора?

В каждом пине уже есть подтягивающий резистор.

Как работает инструкция continue, использованная в цикле for?

Инструкция continue, которая выполнится в этом случае, отменит продолжение данной итерации цикла и выполнение программы продолжится со следующей.

Задания для самостоятельного решения

Внесите единственное изменение в программу, после которого максимальной скоростью вращения мотора составит половину от возможной.

#define MOTOR_PIN 9

#define FIRST_BUTTON_PIN 5

#define BUTTON_COUNT 3

#define SPEED_STEP (128 / (BUTTON_COUNT - 1))

void setup()

{

pinMode(13, OUTPUT);

pinMode(MOTOR_PIN, OUTPUT);

for (int i = 0; i < BUTTON_COUNT; ++i)

pinMode(i + FIRST_BUTTON_PIN, INPUT_PULLUP);

}

void loop()

{

digitalWrite(13, HIGH);

for (int i = 0; i < BUTTON_COUNT; ++i) {

if (digitalRead(i + FIRST_BUTTON_PIN))

continue;

int speed = i * SPEED_STEP;

analogWrite(MOTOR_PIN, speed);

}

}

Перепишите программу без использования инструкции continue.

#define MOTOR_PIN 9

#define FIRST_BUTTON_PIN 5

#define BUTTON_COUNT 3

#define SPEED_STEP (255 / (BUTTON_COUNT - 1))

void setup()

{

pinMode(13, OUTPUT);

pinMode(MOTOR_PIN, OUTPUT);

for (int i = 0; i < BUTTON_COUNT; ++i)

pinMode(i + FIRST_BUTTON_PIN, INPUT_PULLUP);

}

void loop()

{

digitalWrite(13, HIGH);

for (int i = 0; i < BUTTON_COUNT; ++i) {

if (!digitalRead(i + FIRST_BUTTON_PIN))

{

int speed = i * SPEED_STEP;

analogWrite(MOTOR_PIN, speed);

}

}

}

Добавьте в схему еще одну кнопку, чтобы у миксера стало три режима. Понадобилось ли изменять что-либо в программе?

#define MOTOR_PIN 9

#define FIRST_BUTTON_PIN 4

#define BUTTON_COUNT 4

#define SPEED_STEP (255 / (BUTTON_COUNT - 1))

void setup()

{

pinMode(13, OUTPUT);

pinMode(MOTOR_PIN, OUTPUT);

for (int i = 0; i < BUTTON_COUNT; ++i)

pinMode(i + FIRST_BUTTON_PIN, INPUT_PULLUP);

}

void loop()

{

digitalWrite(13, HIGH);

for (int i = 0; i < BUTTON_COUNT; ++i) {

if (digitalRead(i + FIRST_BUTTON_PIN))

continue;

int speed = i * SPEED_STEP;

analogWrite(MOTOR_PIN, speed);

}

}


 

Эксперимент 10. Кнопочный переключатель

В этом эксперименте мы делаем из тактовой кнопки триггер, борясь с «дребезгом».

Схема

Код

#define BUTTON_PIN 3

#define LED_PIN 13

boolean buttonWasUp = true;

boolean ledEnabled = false;

void setup()

{

pinMode(LED_PIN, OUTPUT);

pinMode(BUTTON_PIN, INPUT_PULLUP);

}

 

void loop()

{

boolean buttonIsUp = digitalRead(BUTTON_PIN);

if (buttonWasUp &&!buttonIsUp) {

delay(10);

buttonIsUp = digitalRead(BUTTON_PIN);

if (!buttonIsUp)

{

ledEnabled =!ledEnabled;

digitalWrite(LED_PIN, ledEnabled);

}

}

buttonWasUp = buttonIsUp;

}

Вопросы для проверки себя

1.В каком случае оператор && возвращает значение «истина»?

Логический оператор && («и») возвращает значение «истина» только в случае истинности обоих его операндов.

Что такое «дребезг»?

Это многократные неконтролируемые замыкания и размыкания контактов за счет упругости материалов и деталей контактной системы — некоторое время контакты «подпрыгивают» при соударениях, размыкая и замыкая электрическую цепь.


Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.