Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Подключение датчика к микроконтроллеру



 

Соедините вывод Trig датчика с 10 пином контроллера, а Echo с 11. Загрузите программу, представленную ниже.

 

int Trig_pin = 10;

int Echo_pin = 11;

 

void setup()

{

pinMode(Trig_pin, OUTPUT);

pinMode(Echo_pin, INPUT);

 

Serial.begin(9600);
}

 

void loop()

{

long duration;

 

digitalWrite(Trig_pin, LOW);

delayMicroseconds(2);

digitalWrite(Trig_pin, HIGH);

delayMicroseconds(10);

digitalWrite(Trig_pin, LOW);

 

duration = pulseIn(Echo_pin, HIGH);

 

Serial.println(duration);

delay(1000);

}

 

Количество функций, в которые передаются номера пинов увеличилось, поэтому стоит объявить переменные (в будущем лучше использовать константы, см. литературу) в начале программы, обозначающие номера. Таким образом, если датчик подключить к другим разъемам, достаточно будет изменить только две эти строчки. В функции setup() устанавливаются режимы соответствующих пинов и инициализируется интерфейс связи с компьютером. В функции loop() сначала формируется импульс на вход Trig датчика, что заставляет излучатель создать звуковую волну:

 

digitalWrite(Trig_pin, LOW); ← 1

delayMicroseconds(2); ← 2

digitalWrite(Trig_pin, HIGH); ← 3

delayMicroseconds(10); ← 4

digitalWrite(Trig_pin, LOW); ← 5

 

Задаем низкий логический уровень (1), ждем 2 микросекунды (2), чтобы завершились переходные процессы, и действительно установилось требуемое напряжение. Устанавливаем высокий логический уровень (3), ждем 10 мкс согласно документации на датчик (4). Задаем низкий уровень (5). Датчик установил высокий уровень на Echo в момент излучения звуковой волны. Как только волна отражается от объекта и обнаруживается приемником, на выходе Echo датчика устанавливается низкий уровень. Таким образом, длительность высокого уровня на Echo после формирования импульса на Trig равна длительности движения ультразвуковой волны до объекта и обратно. Можно непрерывно отслеживать в цикле состояние входа №11 микроконтроллера или даже установить прерывание в будущем, но пока воспользуемся встроенной функцией pulseIn():

 

duration = pulseIn(Echo_pin, HIGH);

 

Данная функция ожидает появления на пине №11 ( = Echo_pin) высокого логического уровня, запускает отсчет времени, ожидает появления низкого уровня и останавливает отсчет. Измеренное время в микросекундах возвращается и присваивается переменной duration типа long. В работе функции существует таймаут по умолчанию в 1 секунду на случай, если звуковая волна не вернулась обратно.

И, наконец, выводим длительность прохождения звуковой волной расстояния до объекта и обратно в монитор последовательного порта компьютера с задержкой в 1 секунду для удобства чтения результата:

 

Serial.println(duration);

delay(1000);

 

Задание на лабораторную работу

 

Задание к этой работе едино для всех бригад и звучит следующим образом: модифицируйте приведенную выше программу, чтобы она отображала расстояние в сантиметрах. Используйте скорость звука равной 340 м/с для пересчета длительности импульса Echo в сантиметры.

 

Содержание отчета по лабораторной работе

Отчет должен содержать следующие обязательные пункты:

 

1. титульный лист;

2. цель работы, программу работы и задание;

3. текстовое описание выполняемых действий в процессе отладки программы из пункта «Краткие теоретические сведения»;

4. блок-схему алгоритма Вашей программы.

5. исходный текст программы.

6. выводы по работе.

 

Вопросы для защиты лабораторной работы

 

1. Объясните работу ультразвукового датчика расстояния.

2. Поясните работу программ, приведенных в отчете.

3. Объясните работу датчика приближения индуктивного типа.

4. Опишите схему, используемую в индуктивных датчиках приближения для обнаружения металлических объектов.

5. Чем определяется уровень вихревых токов в объекте, помещенном в электромагнитное поле индуктивного датчика?

6. Как влияет экранирование на работу индуктивных датчиков?

7. Объясните работу емкостного датчика приближения? Каких типов они бывают?

8. Опишите структуру датчика расстояния фотоэлектрического типа.

9. Какие режимы применяются в датчиках фотоэлектрического типа. Опишите несколько на выбор.

10. Какие светодиоды применяются в фотоэлектрических датчиках?


Лабораторная работа №4

 

Измерение расстояний при помощи ультразвукового датчика

 

Цель работы

 

Цель работы – научиться задавать реакции микропроцессорной системы на показания измерительных датчиков.

 

Программа работы

 

2.1 Подготовить аппаратное и программное обеспечение лабораторного стенда к работе.

2.2 Изучить работу условного оператора с помощью кратких теоретических сведений и литературы.

2.3 Разработать, ввести, скомпилировать, загрузить в микроконтроллер и отладить программу согласно заданию.

2.4 Оформить и защитить отчет по лабораторной работе.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.