Подключение ИК к ардуино простая задача, но для начала необходимо разобраться как ИК-связь передает данные. При данном виде связи используются инфракрасные волны электромагнитного спектра. ИК-светодиод используется для беспроводной передачи данных в цифровом виде (0 – светодиод выключен или 1 – светодиод включен).
Эти данные получает ИК-фотодиод или ИК-фототранзистор. ИК-приемник (ИК-фотодиод или ИК-фототранзистор) выдает различные значения тока в зависимости от интенсивности света.
Передаваемые данные можно модулировать, и существуют специальные ИК-приемники-декодеры, такие как TSOP1738, которые могут принимать модулированные данные.
Для получения дополнительной информации об ИК-связи см. тему ИК-связь в разделе «Датчики и модули».
Подключение ИК к ардуино: схема
Внимание! На схеме, показанной выше, для ИК-светодиода, а также для ИК-фотодиода более длинный вывод является анодом, а более короткий — катодом.
Также фотодиод используется в режиме обратного смещения (предназначен для работы в режиме обратного смещения).
Внимание! На схеме, показанной выше, для ИК-светодиода более длинный вывод является анодом, а более короткий — катодом.
Перед передачей, данные со стороны передатчика модулируются на частоте 38 кГц.
TSOP1738 — это ИК-приемник с возможностью демодуляции сигналов, промодулированных на частоте 38 кГц.
Вместо TSOP1738 можно использовать любой другой приемник TSOP17xx, например TSOP1730. Единственная разница заключается в несущей частоте, которую он может демодулировать. Например, TSOP1730 может демодулировать сигналы с несущей частотой 30 кГц. Соответствующие изменения в схеме модуляции должны быть сделаны на стороне передатчика, если используется TSOP1730 или какой-либо другой приемник.
В качестве примера рассмотрим беспроводную передачу данных между двумя платами Arduino Uno.
На стороне передатчика сделаем простой счетчик и передадим его значение приемнику с помощью ИК-светодиода. Значение счетчика поступает в приемник с помощью ИК-фотодиода или TSOP1738. Данные передаются так, как если бы приемник использовал ИК-фотодиод. Или модулируются на частоте 38 кГц, когда приемник использует TSOP1738.
Внимание! ИК используется только как средство передачи данных между передатчиком и приемником. Данные передаются по протоколу USART.
Предупреждение! В этих примерах используются контакты последовательной связи Rx и Tx. Arduino использует эти выводы при программировании. Следовательно, нам нужно убедиться, что к контактам Rx и Tx не подключены внешние схемы при загрузке скетча. В противном случае при загрузке скетча могут появиться сообщения об ошибках. Как только скетч загружен, мы можем подключить внешние схемы к контактам Rx и Tx.
Передача данных между ардуинами с использованием ИК светодиода и ИК фотодиода
Скетч ИК передатчика
void setup() { Serial.begin(9600); } void loop() { int count; for(count = 0; count<100; count++) { Serial.println(count); delay(1000); } }
Скетч ИК приемника
void setup() { Serial.begin(9600); } void loop() { if(Serial.available()) { Serial.print(char(Serial.read())); } }
Передача данных между ардуинами с использованием ИК светодиода и TSOP1738
Скетч ИК передатчика
#define cr_pin 9 void setup() { Serial.begin(1200); tone(cr_pin, 38000); } void loop() { int count; for(count = 0; count<100; count++) { Serial.println(count); delay(1000); } }
Скетч ИК приемника
void setup() { Serial.begin(1200); } void loop() { if(Serial.available()) { Serial.print(char(Serial.read())); } }
Документация
Компоненты
- TSOP1738 ИК-приемник
- Инфракрасный излучатель IR LED
- Набор IR приемников и излучателей
- Транзистор BC547 100 штук
- Набор транзисторов 10 видов по 20 штук
- Arduino NANO
- Arduino UNO
- Arduino MEGA
- Набор выводных резисторов