Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2018-01-30 | 4276 |
5.00
из
|
Заказать работу |
|
|
Защитный диод нам нужен для того, чтобы ток обратного направления, который начнет создавать двигатель, вращаясь по инерции, не вывел из строя транзистор.
Почему мы использовали полевой 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.В каком случае оператор && возвращает значение «истина»?
Логический оператор && («и») возвращает значение «истина» только в случае истинности обоих его операндов.
Что такое «дребезг»?
Это многократные неконтролируемые замыкания и размыкания контактов за счет упругости материалов и деталей контактной системы — некоторое время контакты «подпрыгивают» при соударениях, размыкая и замыкая электрическую цепь.
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!