×
Traktatov.net » Изучаем Arduino: инструметы и методы технического волшебства » Читать онлайн
Страница 29 из 138 Настройки

Листинг 3.3. Программа управляемого ночника - nightlight.ino

// Автоматический ночник

const int RLED=9; // Контакт 9 для ШИМ-вывода RED RGB-светодиода

const int LIGHT=0; // Контакт A0 для входа фоторезистора

const int MIN_LIGHT=200; // Нижний порог освещенности

const int MAX_LIGHT=900; // Верхний порог освещенности

int val = 0; // Переменная для сохранения считанного аналогового значения


void setup()

{

pinMode(RLED, OUTPUT); // Сконфигурировать RED-контакт светодиода как выход

}

- 79 -

void loop()

{

val = analogRead(LIGHT); // Чтение показаний фоторезистора

val = map(val, MIN_LIGHT, MAX_LIGHT, 255, 0); // вызов функции map()

val = constrain(val, 0, 255); // ограничение границ

analogWrite(RLED, val); // управление светодиодом

}

Обратите внимание, что в листинге переменная val используется повторно.

В принципе, можно задать и другую переменную. В таких функциях, как map(), предыдущее значение переменной val служит в качестве аргумента и после завершения выполнения функции перезаписывается заново.

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

Резюме

В этой главе вы узнали следующее:

• Чем отличаются аналоговые сигналы от цифровых.

• Как преобразовать аналоговые сигналы в цифровые.

• Как считать аналоговый сигнал с потенциометра.

• Как вывести на экран данные, используя монитор последовательного порта.

• Как взаимодействовать через интерфейс с аналоговыми датчиками.

• Как создать собственные аналоговые датчики.

• Как ограничить значения для управления аналоговыми выходами.

ЧАСТЬ II Управление окружающей средой


В этой части

Глава 4. Использование транзисторов и управляемых двигателей

Глава 5. Работаем со звуком

Глава 6. USB и последовательный интерфейс

Глава 7. Сдвиговые регистры


Глава 4. Использование транзисторов и управляемых двигателей


Список деталей

Для повторения примеров главы вам понадобятся следующие детали:

• плата Arduino Uno;

• USB-кабель;

• батарея 9 В;

• разъем для батареи 9 В;

• стабилизатор напряжения L4940V5;

• электролитический конденсатор 22 мкФ;

• электролитический конденсатор 0, 1 мкФ;

• керамический конденсатор 1 мкФ;

• 4 синих светодиода;

• 4 резистора номиналом 1 кОм;

• биполярный n-p-n транзистор PN2222;

• диод 1N4004;

• перемычки;

• провода;

• ИК-датчик расстояния Sharp GP2YOA41SKOF ИК с кабелем;

• стандартный серводвигатель;

• двигатель постоянного тока;

• макетная плата;

• потенциометр;

• драйвер двигателя SN754410.

- 84 -


Электронные ресурсы к главе

На странице http://www.exploringarduino.com/content/ch4 можно загрузить код программ, видеоуроки и другие материалы для данной главы. Кроме того, листинги примеров можно скачать со страницы www.wiley.com/go/exploringarduino в разделе Downloads.