Netduino - Російський Coding 4 Fun

Ми чули про акселерометри тисячі разів, але що вони є насправді? Як вони працюють? І що важливіше для читачів Coding4Fun, як за їх допомогою можна створювати класні пристрої та програми?

Дивно, ви повинні запитати… Як щодо підручника, який пояснює, як працюють акселерометри, як створити проект із Netduino, а також обговорює і кодування?

Поки акселерометри можуть вимагати трохи розуміння, для їх використання це не означає, що вони складні, або вимагають чорної магії.

У цьому посібнику я навчу вас використовувати акселерометр для управління кубом, ми побачимо, як різні підходи змінюють його реакцію, і з'ясуємо, який підхід є найкращим для цієї програми.

Що таке акселерометр?

Акселерометр – належить до сім'ї сенсорів руху, що складається з акселерометрів, гіроскопів та компасів. У цьому посібнику ми поговоримо головним чином про акселерометри, однак у наступних посібниках ми торкнемося й інших датчиків, створюючи повноцінний внутрішній вимірювальний модуль.

Акселерометр – прилад, що вимірює прискорення. Поки що досить просто, але є два типи акселерометрів: статичне прискорення (нахил) і динамічне прискорення (рух).

Вхід акселерометра, каже користувачеві, в якому напрямку до своїх осей діє прикладена сила. Хороша новина полягає в тому, що акселерометр вловлює всі види руху, що означає, що можете отримати він від нього всю можливу інформацію. Погана новина полягає в тому, що акселерометр збирає всі види руху, що означає, що ви не знаєте, на що ви дивитеся!

Стаття дає уявлення, як працює акселерометр

coding

Отже, наша першаПроблема з акселерометром у тому, як виділити потрібне значення з набору сил. Маючи всю інформацію про те, куди вказує гравітація і як користувач переміщає пристрій, важко отримати від сенсора те, що потрібно.

Інша проблема пов'язана з тим, що акселерометри – вкрай галасливі пристрої, і я не маю на увазі, що вони грають гучну музику о третій ранку. Їхній вихідний сигнал завжди флуктує, вони мають власні резонансні шуми, вони фіксують вібрації пристрою, в який вони вмонтовані, всілякі перешкоди влазять у сигнал, який нам потрібно відфільтрувати.

Отже, нам треба зрозуміти, які дані ми отримуємо від акселерометра, і відфільтрувати їх.

Як вирішити цю проблему?

Є кілька різних способів вирішення цих проблем. У наступній секції ми пройдемо по всьому процесу обміну даними із сенсором, отримання «сирих» даних, їх фільтрації та використання результатів.

Існує безліч різних виробників акселерометрів, Analog Devices випускає чудові датчики, поряд з Invensense. Існує багато і багато різних типів пристроїв, які ви можете вибрати, а вибір найкращого вимагає спеціального керівництва! Тому ми використовуємо той акселерометр, який постійно застосовуємо на Love Electronics – ADXL345.

Цей чудовий компактний чіп - вигідна покупка. Це триосьовий цифровий акселерометр з хорошим діапазоном вимірів (аж до 16g) з дуже гарною роздільною здатністю (13 розрядів, 4 mg/LSB). Хоча більшість із цих параметрів явно зайві для куба, ніколи не заважає мати якомога надійніші дані. Чес із більш точними даними ми маємо справу, тим краще будуть результати.

Якщо ви вирішите наслідувати це керівництво, вам знадобиться плата ADXL345 і Netduino, а також Windows ПК зVisual Studio 2010 (версія Express Edition вільно доступна).

Крім того, потрібен спосіб підключити послідовний порт Netduino до вашого ПК, оскільки Netduino в даний час не забезпечує відправлення послідовних даних через USB-з'єднання. Рекомендую використовувати плату USB для Serial Breakout Board.

З цього моменту у статті починається створення апаратної платформи та обговорення коду:

coding

Якщо ви спробуєте запустити цей код, отримайте помилку компіляції, пов'язану з тим, що Visual Studio не може знайти ExMath. Це відбувається тому, що цей виклик знаходиться в проектіLoveElectronics.Resources, який був у завантаженому вами архівному файлі Love Electronics Accelerometer. Просто додайте цей проект у вирішенні, як ви зробили з проектом акселерометра, і виконайтеAddReference.ще раз, щоб зробити доступним ExMath для програми. Тепер просто додайте

як ви робили раніше і тепер ваша пропозиція має скомпілюватися.

Стаття продовжується демонстрацією того, як відфільтрувати дані та подати їх у наочній формі.

netduino

Ось кілька посилань, які можуть виявитися цікавими: