Глава 19. Arduino и датчики расстояния
253
19.5. Подключение
датчиков Sharp к Arduino
Работать с сенсорами Sharp очень просто — достаточно подключить к нему пита-
ние и завести вывод Vo на аналоговый вход Arduino. Значение получаемой функ-
ции
analogRead
представляет собой целое число от 0 до 1023. Таким образом, чтобы
узнать напряжение на выходе сенсора, необходимо значение на аналоговом входе
Arduino умножить на
0,0048828125 (5 В / 1024).
Содержимое скетча, выдающего
расстояние, измеряемое датчиком Sharp, в последовательный порт, представлено
в листинге 19.2.
Листинг 19.2
//
// SHARP IR sensor
//
int IRpin = 0; // аналоговый пин для подключения выхода Vo сенсора
void setup() {
Serial.begin(9600); // старт последовательного
порта
}
void loop() {
// 5V/1024 = 0.0048828125
float volts = analogRead(IRpin)*0.0048828125;
// считываем значение сенсора и переводим в напряжение
Serial.println(volts); // выдаем в порт
delay(100);
}
ГЛ А В А
20
Arduino и передача данных
в инфракрасном диапазоне
Устройства инфракрасного (ИК) диапазона волн часто применяются в робототех-
нике. На ИК-трансиверах (приемопередатчиках) можно организовать полноценный
обмен данными. Самое простое применение — использование ИК-пульта (думаю,
найдется в каждом доме) для управления роботом.
20.1. Обмен
данными
в инфракрасном диапазоне
Для обеспечения надежного приема и гарантированной защиты от помех использу-
ется модуляция сигнала и кодирование. Передача данных производится в близком
к видимому инфракрасном спектре. Длина волны в большинстве реализованных
систем варьируется в пределах 800–950 нм. Самый простой способ избавиться от
фонового шума — модулировать (заполнить) сигнал при передаче одной из стан-
дартных частот: 30, 33, 36, 37, 38, 40, 56 кГц. Именно на
эти частоты настроены все
современные интегральные приемники.
Для обеспечения достаточной дальности при передаче кодовой последовательности
необходимо сформировать мощный сигнал. Ток через ИК-светодиод может дости-
гать 1 А — такие токи вполне допустимы в импульсном режиме, при этом средняя
рассеиваемая мощность не должна превышать предельно допустимую, указанную
в документации.
Разработано большое количество специализированных микросхем (SAA3010,
GS8489, KS51840 и т. п), генерирующих готовую кодовую
последовательность и
потребляющих минимальный ток в ждущем режиме, что немаловажно при питании
от батарей. Эти микросхемы существенно упрощают схему пультов дистанционно-
го управления (ПДУ). Когда мы нажимаем кнопку пульта, микросхема передатчика
активизируется и генерирует кодовую последовательность с заданным заполнени-
ем. Светодиод преобразуют эти сигналы в ИК-излучение.
Излученный сигнал при-
нимается фотодиодом, который снова преобразует ИК-излучение в электрические
импульсы. Эти импульсы усиливаются и демодулируются микросхемой приемника.
Затем они подаются на декодер. Декодирование обычно осуществляется программ-
но с помощью микроконтроллера.