-
Подключаем кучу устройств к Arduino по 5 проводам
Стандартная Arduino/CraftDuino имеет 20 цифровых пинов (6 из них — ещё и аналоговые входы), что бывает недостаточно для решения некоторых задач: тот же LCD-дисплей требует минимум 6 пинов. Для подключения нескольких устройств, не требующих двунаправленной передачи данных, вполне подойдут сдвиговые регистры.
74HC165, 74HC595, Arduino, CraftDuino, HD44780, lcd, RGB, Servo, SPI, сдвиговый регистр, сервомашинка
-
OpenCV — Сравнение изображений через хэш
Вчера на хабре появилась интересная статья про сравнение изображений — «Выглядит похоже». Как работает перцептивный хэш и я сразу же загорелся повторить этот алгоритм 🙂 Итак, идея алгоритма получения хеша изображения:1. Уменьшить размер (cvResize()), чтобы оставить только значимые объекты картинки (избавление от высоких частот). В изображениях, высокие частоты обеспечивают детализацию, а низкие частоты показывают структуру.…
-
29. OpenCV шаг за шагом. Интегральное изображение
Оглавление1. OpenCV шаг за шагом. Введение.2. Установка.3. Hello World.4. Загрузка картинки.…26. Операторы Собеля и Лапласа27. Детектор границ Кенни (Canny)28. Преобразование Хафа29. Интегральное изображение Раз уж мы научились брать производную от изображения, то было бы неплохо брать и интеграл изображения 🙂 Интегральное представление изображения — это матрица, размерность которой совпадает с размерностью исходного изображения. Элементы этой…
-
ATmega — использование памяти
Иногда, бывает полезно узнать, сколько памяти использует Ваш скетч. Иногда, это очень важно, например, когда Вы достигаете предела. Потому что, могут происходить странные и совершенно непредсказуемые вещи, при достижении программой границ памяти (out of memory). Выхода кода за границы памяти легко избежать, так Arduino IDE скажет вам точно, сколько используется памяти после каждой компиляции/загрузки:
Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…