Arduino:Справочник языка Arduino/Библиотеки/Wire
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Библиотека Wire[1]
Эта библиотека позволяет коммуницировать с девайсами, которые работают через интерфейс I2C/TWI. На платах Arduino версии R3 (распиновка 1.0) выводы SDA (линия для передачи данных) и SCL (синхронизирующая линия) расположены на гребенке контактов неподалеку от AREF. Плата Arduino Due имеет два I2C/TWI интерфейса: один (SDA1 и SCL1) расположен вблизи AREF, а дополнительный — на 20-ом и 21-ом контактах.
Вот таблица, которая показывает, где TWI-контакты расположены на различных платах Arduino:
Плата | Контакты I2C/TWI |
---|---|
Uno, Ethernet | A4 (SDA), A5 (SCL) |
Mega2560 | 20 (SDA), 21 (SCL) |
Leonardo | 2 (SDA), 3 (SCL) |
Due | 20 (SDA), 21 (SCL), SDA1, SCL1 |
Поскольку это Arduino 1.0, то библиотека Wire наследует у класса Stream, что делает ее совместимой с другими библиотеками, где используются функции чтения/записи. В связи с этим send() и receive() были заменены на read() и write().
Функции
- begin()
- requestFrom()
- beginTransmission()
- endTransmission()
- write()
- available()
- read()
- onReceive()
- onRequest()
Примечание
I2C-адреса бывают 7-битными и 8-битными. Семь битов определяют девайс, а восьмой — какая операция происходит (запись или считывание). Библиотека Wire использует только 7-битные адреса. Поэтому если вам в коде или даташите попался 8-битный адрес, то его необходимо сдвинуть на один бит вправо, тем самым создав адрес в диапазоне от «0» до «127». Впрочем, адреса от «0» до «7» не используются, поэтому диапазон адресов сужается до значений от «8» до «127».
Примеры
- Digital Potentiometer — Управление цифровым потенциометром AD5171 при помощи библиотеки Wire.
- Master Reader / Slave Writer — При помощи I2C-коммуникации настраивает две (или более) платы Arduino таким образом, чтобы они делились информацией по принципу «ведущая плата считывает / ведомая плата отсылает».
- Master Writer / Slave Reader — При помощи I2C-коммуникации настраивает две (или более) платы Arduino таким образом, чтобы они делились информацией по принципу «ведущая плата отсылает / ведомая плата считывает».
- SFRRanger Reader — При помощи I2C-коммуникации считывает данные с ультразвукового дальномера Devantech SRFxx.
См.также
- Master Writer
- Master Reader
- SFR Ranger Reader
- Digital Potentiometer
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |