Читаем Цифровая электроника для начинающих полностью

Еще одним популярным в любительской электронике прибором, является дальномер HC-SR04. Это недорогой прибор, стоимостью 2-4$ на eBay, позволяющий измерять расстояние до препятствий с помощью ультразвука.



Дальность обнаружения от нескольких сантиметров до 4м, позволяет использовать его в различных устройствах, например в самодельных роботах.


Принцип использования HC-SR04 показан на рисунке.


Когда активируется запускающий импульс (trigger signal), устройство посылает серию ультразвуковых импульсов, и в завершении формирует импульс, длина которого пропорциональна расстоянию. Таким образом, для подключения достаточно всего двух проводов, для выходного и для входного импульсов.


Использование датчика весьма просто - для Arduino уже написаны готовые библиотеки, позволяющие получить расстояние. Вначале нужно скачать библиотеку по адресу https://github.com/JRodrigoTech/Ultrasonic-HC-SR04, ее необходимо распаковать в уже знакомую нам папку Документы\Arduino\libraries.


Сам код, считывающий показания сенсора и отправляющий их в serial port, весьма прост.


#include


Ultrasonic ultrasonic(4,2); // (Trig,Echo)


void setup() {

Serial.begin(9600);

}


void loop()

{

Serial.print(ultrasonic.Ranging(CM));

Serial.println(" cm" );

delay(100);

}


Как можно видеть, создается объект Ultrasonic, в качестве параметров которого указываются номера выводов. Дальше функция ultrasonic.Ranging(CM) делает всю работу.


Само подключение сенсора тоже не вызывает сложностей.

Самостоятельная работа: подключить к данной схеме LCD-дисплей и сделать вывод на экран расстояния до объектов. Опционально, можно подключить светодиод и зажигать его, если расстояние до объекта меньше критического.

2.12 Подключаем плату управления моторами

Мы уже можем подключить к Arduino практически все необходимое - датчики, светодиоды, индикаторы. Остался последний шаг, после которого можно собрать вполне полноценного робота - это научиться управлять моторами.


Как уже говорилось в предыдущей главе, любой микроконтроллер не может управлять мотором напрямую, у вывода не хватит мощности. Существуют специальные микросхемы, называемые “драйверами”, которые и выполняют эту работу. Разумеется, мотор можно подключить и через транзистор, но полноценный драйвер имеет больше возможностей, например возможность смены направления вращения мотора.


Для примера рассмотрим драйвер на микросхеме L298N, его можно купить в виде готовой платы ценой 2-5$.

Плата имеет вполне неплохие для своей цены возможности. Левые и правые разъемы используются для подключения моторов. Плата также имеет стабилизатор напряжения, что позволяет использовать для питания моторов 12В, а выход 5В использовать для питания Arduino.

Описание комбинаций управляющих импульсов приведено в документации на микросхему (С и D - входы каждого канала).

Соответственно, линейка из 6 выводов имеет 2 переключателя ENA ENB (Enable A, B) для активации левого и правого моторов, 4 вывода IN1, IN2, IN3, IN4 используются для подачи управляющих импульсов.


Пример кода управления моторами показан ниже. Здесь входы EN1, EN2 используются для управления скоростью моторов уже рассмотренным ранее методом широтно-импульсной модуляции.


// Моторы M1, М2


int enA = 10, in1 = 9, in2 = 8;


int enB = 5, in3 = 7, in4 = 6;


void setup() {


pinMode(enA, OUTPUT);


pinMode(enB, OUTPUT);


pinMode(in1, OUTPUT);


pinMode(in2, OUTPUT);


pinMode(in3, OUTPUT);


pinMode(in4, OUTPUT);


}


void runMotors() {


// Запустить мотор А


digitalWrite(in1, HIGH);


digitalWrite(in2, LOW);


// Установить скорость 200 (диапазон 0~255)


analogWrite(enA, 200);


// Запустить мотор B


digitalWrite(in3, HIGH);


digitalWrite(in4, LOW);


// Установить скорость 200 (диапазон 0~255)


analogWrite(enB, 200);


delay(2000);


// Изменить направление


digitalWrite(in1, LOW);


digitalWrite(in2, HIGH);


digitalWrite(in3, LOW);


digitalWrite(in4, HIGH);


delay(2000);


// Остановить моторы


digitalWrite(in1, LOW);


digitalWrite(in2, LOW);


digitalWrite(in3, LOW);


digitalWrite(in4, LOW);


}


void loop() {


runMotors();


delay(5000);


}

Другой вариант схемы подключения показан на картинке ниже, здесь входы EN1/EN2 программно не управляются, они просто замкнуты переключателями, идущими в комплекте с платой. Это не позволяет управлять скоростью моторов, зато делает подключение более простым.



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


Желающие заняться робототехникой более серьезно, могут также приобрести специальную платформу с колесами и моторами. Оснастить ее электроникой и датчиками можно по своему вкусу.



Стоимость такой платформы составляет от 20$ до 100$ в зависимости от размера, мощности моторов и качества изготовления.

2.13 Multiwii - делаем квадрокоптер

Перейти на страницу:

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

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

Чарльз Платт

Радиоэлектроника / Технические науки
PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника