 
        
        Занятие 9 Цифровые датчики
.docКурс «Основы робототехники». Занятие 9. Цифровые датчики
Изученные ранее датчики освещенности и температуры на основе фоторезисторов и терморезисторов являются аналоговыми – выдают уровни напряжений, зависящие от измеряемых ими параметров. Использование этих и подобных им датчиков имеет следующие неудобства:
- 
необходимость калибровки и пересчета уровней напряжений в измеряемый параметр 
- 
при необходимости установки датчика на расстоянии от контроллера – возможны помехи в соединяющих проводах, меняющие напряжение с датчика и, соответственно, ошибки измерения 
Э тих
недостатков лишены цифровые датчики,
которые выдают измеренные величины в
виде цифровых сигналов (комбинаций
нулей и единиц), которые расшифровывает
контроллер. Такие датчики заранее
откалиброваны при изготовлении и
обладают высокой помехоустойчивостью
при передаче сигналов на большие
расстояния.
тих
недостатков лишены цифровые датчики,
которые выдают измеренные величины в
виде цифровых сигналов (комбинаций
нулей и единиц), которые расшифровывает
контроллер. Такие датчики заранее
откалиброваны при изготовлении и
обладают высокой помехоустойчивостью
при передаче сигналов на большие
расстояния.
Цифровой датчик температуры DS18B20
Используется для измерения температуры воздуха, а также различных устройств, на поверхность которых или внутрь может быть установлен (в том числе с возможностью герметизации, например, в металлической трубке). Он может измерять температуру в диапазона от -55 до +125C с точностью ±0,5C
К ак
и большинство датчиков, имеет три
контакта: +5
В, Signal,
Gnd.
Сигнальный провод должен соединяться
резистором 4,7 кОм с контактом +5 В (в
используемом в стенде датчике с проводами
такое соединение уже сделано)
ак
и большинство датчиков, имеет три
контакта: +5
В, Signal,
Gnd.
Сигнальный провод должен соединяться
резистором 4,7 кОм с контактом +5 В (в
используемом в стенде датчике с проводами
такое соединение уже сделано)
Примечание: датчик подключается к контроллеру по шине OneWire, которая позволяет подсоединить до 100 датчиков на одну шину (три провода 5V, Gnd, Signal), при длине линии до 300 метров.
Практическое занятие 1. Снятие и вывод температуры
- 
откройте пример работы с библиотекой опроса датчика Файл / Примеры / DallasTemperature / Simple 
Примечание: для работы библиотека должна быть скопирована в папку Мои документы / Arduino / libraries (на учебных компьютерах она там уже имеется)
- 
подключите датчик температуры: красный провод к 5V, черный к Gnd, белый к цифровому входу 2. Номер входа задается в строке 
| #define ONE_WIRE_BUS 2 | 
и может быть изменен исправлением числа в конце этой строки
- 
откройте Монитор порта и посмотрите измеряемую датчиком температуру. Попробуйте нагревать датчик рукой и убедитесь, что температура меняется 
- 
установите ЖК индикатор на Arduino и выведите на него измеряемую температуру, например, в формате 
| Temperature = 25,11С | 
Примечание: значок  выводится таким образом: lcd.print("/337");
Практическое занятие 2. Модель нагревателя для поддержания заданной температуры
Добавьте к схеме с датчиком температуры и ЖК индикатором светодиод и, используя условие if, реализуете следующий алгоритм:
| если температура с датчика меньше 25 градусов – зажечь светодиод иначе – погасить светодиод | 
Нагревая датчик прикосновением пальцев, убедитесь, что алгоритм выполняется
Примечание: можно подключить светодиод и DS18B20 к контактам А1…А5 шилда. В этом случае используются номера контактов: А1 = 15, А2 = 16, А3 = 17, А4 = 18, А5 = 19
Светодиод в данном случае имитирует нагреватель. Данная модель управления нагревателем является самой простой и обеспечивает низкую точность поддержания заданной температуры. В продвинутом курсе планируется изучить ПИД-регулирование, обеспечивающее более высокую точность
Цифровой ультразвуковой датчик расстояния HC-SR04
Датчик может использоваться для определения расстояния до препятствий и стен на роботах, в качестве датчика линии, например, для определения пересечения человеком дверного проема. Помимо контактов питания, имеет два сигнальных контакта – Trig (включение динамика) и Echo (снятие результата)
Д атчик
может измерять расстояние до препятствия,
дальность работы от 3 см до 3 м (в некоторых
источниках до 4,5 м), точность ±3 см
атчик
может измерять расстояние до препятствия,
дальность работы от 3 см до 3 м (в некоторых
источниках до 4,5 м), точность ±3 см
Практическое занятие 5. Измерение расстояния
- 
откройте пример работы с библиотекой опроса датчика Файл / Примеры / Ultrasonic / Ultrasonic2serial 
- 
подключите датчик расстояния к контроллеру: красным проводом Vcc к 5V, черным (синим) GND к Gnd, еще двух цветов Trig и Echo к цифровым контактам 
- 
откройте Монитор порта и посмотрите измеряемое датчиком расстояние до препятствия 
Практическое занятие 6. Датчик присутствия на основе HC-SR04
Можно построить датчик пересечения луча, например, направив датчик на стену и периодически измеряя расстояние до нее. Если расстояние резко уменьшилось – значит, между стеной и датчиком прошел человек.
Установите датчик так, чтобы он смотрел в стену, измерьте это расстояние и сделайте звуковую индикацию пересечения луча с использованием спикера: спикер пищит, когда расстояние стало меньше расстояния до стены-10 см, и не пищит, когда больше этого расстояния.
Практическое занятие 7. Робот, следующий за ладонью
Примечание: обязательно сохраните этот скетч, он понадобится, когда начнется изучение управления роботов-роверов
Установите на макетную плату два светодиода и подключите к контактам 3 и 5 Arduino. Данные светодиоды имитируют два мотора робота.
Напишите программу для движения робота: когда расстояние с датчика больше 30 см – ехать (зажечь оба светодиода), когда меньше 15 см – не ехать (погасить оба светодиода)
Домашнее задание
| № | Задание | 
| 1 | DS18B20 и спикер. Зависимость частоты пищания от температуры, измеренной датчиком | 
| 2 | DS18B20 и спикер. Температура выше заданного уровня – высокая частота пищания, ниже – низкая частота | 
| 3 | HC-SR04 и спикер. Зависимость частоты пищания от расстояния, измеренного датчиком | 
| 4 | HC-SR04 и спикер. Расстояние выше заданного уровня – высокая частота пищания, ниже – низкая частота | 
| 5 | HC-SR04, робот. Программа обнаружения и объезда препятствий (в идеале, с демонстрацией на роботе) | 
| 6 | HC-SR04 и спикер. Расстояние больше заданного – высокая частота пищания, меньше – низкая частота | 
| 7 | HC-SR04 и два светодиода: один светодиод при увеличении расстояния горит ярче (на минимуме – не горит) второй светодиод при увеличении расстояния горит тусклее (на минимуме – максимум яркости) | 
| 8 | DS18B20, светодиод, ЖК экран. Вывести температуру на ЖК индикатор, если температура ниже 20 – светодиод горит ярко от 20 до 30 - горит тускло, выше 30– не горит | 
| 9 | HC-SR04, робот. Программа обнаружения и объезда препятствий (в идеале, с демонстрацией на роботе) | 
| 10 | светодиод и датчик температуры DS18B20. Вывести показания полученной с него температуры на ЖК индикатор. При температуре ниже определенного уровня (например, ниже 27 градусов) светодиод загорается и пищит спикер, а при большей температуре – потухает и замолкает | 
| 11 | HC-SR04 и пять светодиодов, аналоговый индикатор расстояния: менее 5 см – светодиоды не горят 5…10 см – горит один светодиод 10…15 см – горят два светодиода 15…20 см – горят три светодиода 20…25 см – горят четыре светодиода больше 25 см – горят все светодиоды | 
