Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Конденсатор в данной схеме нам нужен для того, чтобы при включении сервопривода избежать просадки питания платы.
2.Каким образом библиотека <Servo.h> позволяет нам работать с сервоприводом?
В библиотеке есть всё для управления сервоприводом, нужно только её подключить.
Зачем мы ограничиваем область допустимых значений для angle?
обычная серва не сможет повторить угол потенциометра на всём диапазоне углов. Она умеет вставать в углы от 0° до 180°. Ограничиваем угол соответствующе.
Как быть уверенным в том, что в переменную типа int после вычислений попадет корректное значение?
Мы использовали функцию int() для явного преобразования числа с плавающей точкой в целочисленное значение. Она принимает в качестве параметра значение любого типа, а возвращает целое число. Когда в одном выражении мы имеем дело с различными типами данных, нужно позаботиться о том, чтобы не получить непредсказуемый ошибочный результат.
Задания для самостоятельного решения
1.Измените программу так, чтобы по мере поворота ручки потенциометра, сервопривод последовательно занимал 8 положений: 45, 135, 87, 0, 65, 90, 180, 150°.
Предположим, что сервопривод управляет шторкой, и нам нужно поддерживать постоянное количество света в помещении. Создайте такой механизм.
Эксперимент 18. Тестер батареек
В этом эксперименте мы выводим на жидкокристаллический дисплей данные о напряжении, измеренном на батарейке.
Схема
Код
#include <LiquidCrystal.h>
#define DIODE_DROP 0.7
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
void setup()
{
pinMode(7, OUTPUT);
lcd.begin(16, 2);
lcd.print("Battery voltage:");
}
void loop()
{
digitalWrite(7, HIGH);
float voltage = analogRead(A0) / 1024.0 * 10.0;
if (voltage > 0.1)
voltage += DIODE_DROP;
lcd.setCursor(0, 1);
lcd.print(voltage, 2);
lcd.print(" Volts");
}
Вопросы для проверки себя
Из-за чего измерения напряжения в этом эксперименте могут быть неточными (на что мы можем повлиять)?
Из-за падения напряжения на диоде, нужно прибавить это падение к конечному результату.
Какая библиотека облегчает работу с нашим текстовым экраном? Какие шаги нужно предпринять до начала вывода текста на него?
В этом эксперименте мы снова пользуемся готовой библиотекой <LiquidCrystal.h> для создания объекта lcd и использования его методов
· lcd.begin(cols,rows) с помощью которого мы задаем количество колонок и строк нашего дисплея
· lcd.print(data) для вывода данных. У него есть второй необязательный параметр BASE, передав который, можно выбрать систему счисления, так же, как в примере с Serial.print().
· lcd.setCursor(col,row) устанавливает курсор в переданную колонку и строку. Последующий вывод будет осуществляться с этого места.
Каким образом мы задаем позицию, с которой на экран выводится текст?
Сообщаем объекту количество
// строк и столбцов. Опять же, вызывать pinMode не требуется:
// функция begin сделает всё за нас
lcd.begin(16, 2);
// печатаем сообщение на первой строке
Можем ли мы писать на экране кириллицей? Как?
Можем, если закодируем каждую букву в шестнадцатеричной системе.
Задания для самостоятельного решения
Создайте секундомер, который будет отсчитывать время, прошедшее с начала работы Arduino и выводить секунды и сотые секунд на экран.
Совместите отсчет времени и измерение напряжения. Отобразите все данные на дисплее. Отправляйте их раз в 10 секунд на компьютер.
Эксперимент 19. Светильник, управляемый по USB
В этом эксперименте мы отправляем устройству команды, как ему светить.
Схема
Код
#define LED_PIN 9
String message;
void setup()
{
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
}
void loop()
{
while (Serial.available()) {
char incomingChar = Serial.read();
if (incomingChar >= '0' && incomingChar <= '9') {
message += incomingChar;
} else if (incomingChar == '\n') {
analogWrite(LED_PIN, message.toInt());
message = "";
}
}
}
Вопросы для проверки себя
|
|
|
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!