# Замечания об использовании оборудования Unwired Devices
## UNWR-GROVE. Работа с сенсорами с интерфейсом I2C и разъемом [Grove](https://wiki.seeedstudio.com/Grove_System/)
Захотелось проверить 3-х осевой акселерометр ADXL345 от SeeedStudio. Но что-то смутило расположение контактов в
разъеме Grove на плате UMDK-GRV для I2C: `SDA`, `SCL`, `3V3`, `GND` в то время как на самом сенсоре: `SCL`, `SDA`, `VСС`, `GND`.
И с [документацией](https://wiki.seeedstudio.com/Grove_System/) не сходится!
В итоге приходится колхоз колхозить
![unwr_grove_bad](/assets/images/iot-academy/unwr_grove_bad.png)
Ну а дальше всё работает.
Собираем всё при помощи проводков, создаем проект в Mbed Studio, и импортируем [библиотеку](https://os.mbed.com/users/kenjiArai/code/ADXL345/) в проект.
Пишем программу:
```cpp
#include "mbed.h"
#include "ADXL345.h"
ADXL345 accel(I2C_SDA, I2C_SCL, ADXL345_G_CHIP_ADDR);
int main()
{
float f[3];
wait(1);
printf("Hi, accel (%x)!\n\r", accel.read_id());
accel.self_test();
accel.debug_print();
printf("Loop:\n\r");
while (1) {
accel.read_data(f);
printf("%f, %f, %f \n\r", f[0], f[1], f[2]);
wait_ms(500);
}
}
```
Компилируем, прошиваем, подключаемся к плате по последовательному порту, и наблюдаем...
## UNWR-NFC. Работа со считывателем NFC меток.
Итак, кейс 1 у нас посвящен кодовому замку. Но, постойте! Какие кнопки в XXI веке?! Сейчас всюду если не биометрические датчики, то уже точно радиочастотные!
Можно модифицировать условия игры (ладно, кейса 1): будем открывать замок в том случае, если считали "верную" радичастотную метку.
Обладатели модуля UMDK-NFC могут добавить его в свою систему. Ещё понадобится NFC ключ (брелок или карта - не важно) или даже несколько.
В итоге, как минимум, должно получиться что-то подобное:
![unwr_nfc](/assets/images/iot-academy/unwr_nfc.png)
В модуле UMDK-NFC установлен чип ST95HF. Найти для него готовую библиотеку под Mbed - задача не тривиальная, но выполнимая.
Хотя, лучше бы глаза не смотрели на этот "шедевр"! Ладно, для тестов сойдет, но ссылку приводить не будем - чем меньше людей о ней знают, тем в мире спокойнее!
Пишем программу. Компилируем. Прошиваем. Подключаемся к плате по последовательному порту, и наблюдаем...
![xterm_nfc_tag](/assets/images/iot-academy/xterm_nfc_tag.png)
Странно, метка одна - значения разные! Вариантов ровно два: программная реализация взаимодействия с ST95HF страдает, или схемотехника модуля даёт о себе знать.
Поживём - увидим...
## UNWR-SOUND. Модуль детектора звука
Возможно, UNWR-SOUND подойдет в качестве аналогового датчика, ведь на `GPIO25` (он же `PA_2`) выводится прошедший через училитель аналоговый сигнал с микрофона.
Или сигнал с `GPIO26` (он же `PA_3`). Наверное, это мощность. По крайней мере так можно понять из обозначений в даташитах. Но вот какой диапазон у всего этого хозяйства - непонятно.
В целом - работает. Но это не точно!
![unwr_sound](/assets/images/iot-academy/unwr_sound.png)