Помогнете на развитието на сайта, споделяйки статията с приятели!

Много смартфони могат да задоволят собствениците си с набор от функции, реализирани от вградения акселерометър. Което е електромеханично устройство, което улавя всички промени в работното тяло в пространството. Принципът на действие се основава на измерване на ускорението на движението на инерционната маса вътре в акселерометъра. Въз основа на това работи автоматичен екран, който коригира картината в съответствие с позицията на телефона, брояч на стъпки, приложение за откриване на препятствия, редица приложения за фитнес и др.

Чрез използването на микроконтролер Arduino можете самостоятелно да проектирате сензор за наклон у дома.

За това ви е необходимо:

  • ADXL335 акселерометър;
  • Дъска Arduino Uno;
  • Дисплей за показване на посоката на наклона (в този случай използваме LED версия).

На фигурата по-долу е показана практическа реализация на Arduino сензор за наклон:

Фигура 1: Общ изглед на сензора

Този пример описва инсталирането на акселерометър ADXL335, произведен от Analog Devices, който се свързва със съответните щифтове на микроконтролер Arduino Uno и сигналите от микроконтролера се прехвърлят на дисплея. За да се събере такава схема, е удобно да се използва фабричната прототипна платка, въпреки че сензорът за наклон може да функционира перфектно на всяка друга равна повърхност, която ще използвате като основа. Основната задача е да се приложи основният принцип на сензора, който е показан на блоковата схема по-долу.

Фиг. 2: блок-схема на датчика

Предимството на този модел е инсталирането на Arduino Uno, тъй като този микроконтролер е най-добрият вариант за електронни устройства, контролирани от сигнали от платката. Програмирането и използването му в схемата са достъпни за масите благодарение на простото адаптиране към стандартния компютърен софтуер и възможността за самонастройване и след това корекции в работата им. Следователно, тази опция е идеална както за професионални дизайнери, така и за фенове в областта на роботиката и електронното моделиране.

За да приложи сензора за накланяне, Arduino Uno е избран с причина, той се сглобява на базата на чипа ATmega328 и включва 14 цифрови изхода, 6 аналогови, USB конектор за свързване към програмиращи устройства, ICSP конектор, вход за захранване и е снабден с нулиране на данни или функция за нулиране. Тази платка разполага и с 16 MHz кристален осцилатор, проектиран да поддържа стабилна работа на целия микроконтролер.

Въпреки впечатляващия обем от елементи, Arduino Uno има сравнително малък размер и е сравнително лесен за работа. За да направите това, трябва да свържете платката към компютъра чрез USB вход, за да настроите работните параметри и да ги включите през батерията или чрез адаптера. Програмирането и по-нататъшната работа се извършват в работната среда на Arduino.

Как да се изгради сензор за наклон?

Фиг. 3: верига на сензора за наклон

Свързването на акселерометъра към микроконтролера се извършва по следния принцип:

  • ST щифтът се свързва към щифта на платката Arduino A0;
  • Изходът на преместванията по оста Z е свързан с щифта на платката Arduino A1;
  • Изходът на преместванията по оста Y е свързан към щифта на платката Arduino A2;
  • Изходът на преместванията по оста Х е свързан към щифта на платката Arduino A3;
  • Щифтът GND се свързва с щифта на платката Arduino A4;
  • VCC щифтът се свързва с щифта на платката Arduino A5.

След това от Arduino микроконтролера е свързан към дисплея, в тази ситуация, състояща се от група светодиоди. За да се свържат от дъската, се правят изходи от 8 до 12 и 5V захранващ щифт, които се разпределят по логиката на веригата, както следва:

  • Pin 5V е обща точка на свързване;
  • Осмата е свързана със светодиода, който сигнализира за наклон надясно;
  • Деветата е свързана със светодиода, което показва, че сензорът е в центъра на стабилна позиция (за да е различен, правим го в червено, но това не е критично);
  • Десетата е свързана със светодиода, сигнализиращ движението на сензора обратно;
  • Единадесетият е свързан със светодиода, който сигнализира за наклон наляво;
  • Дванадесетият се свързва със светодиода, който сигнализира, че сензорът се накланя напред.

При промяна на позицията на акселерометъра в пространството ще се движи инерционната маса. В резултат на това движение инерционната маса ще доведе до затваряне на контактите и ще даде подходящ сигнал от едно от заключенията. След това, този сигнал ще бъде обработен от микроконтролера Arduino и ще се преобразува в захранващо напрежение към определен светодиод или група светодиоди. На този принцип сензорът за наклон е базиран на Arduino.

В допълнение към горния метод за сглобяване на датчик на макет, можете просто да го приложите на PCB. Пример за такава дъска е показан на фигурата по-долу.

Фигура 4: Разположение на печатни платки

Проверката на точността на връзката се извършва в контролните точки, показани на фигура 3. Напрежението в тях трябва да съответства на данните от таблицата.

Таблица: Нива на напрежение в точките на изпитване

Точка на фигуратаТочково напрежение, V
T00
T15
T2По-ниска, отколкото в t3
T3По-висока от T2

Тестване на здравето и корекция на параметри

След електрическото свързване на елементите на сензора за накланяне програмата се изтегля на устройството чрез компютър, за което се нуждаете:

  • Свържете микроконтролера към компютъра чрез USB адаптер;
  • Изтеглете програмата (test.ino) от компютъра до Arduino UNO;
  • След това отворете софтуерната среда на Arduino, която показва изходния код от съответните акселерометри;
  • Нулирайте данните и отбележете числените промени на трите оси (X, Y, Z), които се появяват, когато сензорът е наклонен наляво, надясно.

Ако не сте доволни от позицията, в която светодиодът започва да свети, можете да го коригирате. За да промените ъгъла на наклона, при който датчикът сигнализира за промяна в положението, ще ви е необходимо:

  • Оставайки в софтуерната среда на Arduino, започнете да накланяте сензора наляво, когато ъгълът на наклона достигне точката, в която светодиодът трябва да светне, проверете за себе си - това ще бъде стойността на кода „A_max“, лимита на изключване на LED, когато сензорът се движи назад;
  • За да регулирате ъгъла на наклона надясно, повторете същата операция, наклонете го до желания ъгъл, маркирайте цифровата стойност за себе си - това ще бъде стойността на кода „A_min“, същата стойност ще спре да гори при връщане в неутралната позиция на сензора;
  • Тези стойности трябва да се променят в тялото на програмата tiltdetection.ino, за която се стартира Arduino IDE, предварително записаните данни се въвеждат в линиите “A_max” и “A_min” (Фигура 5);
    Фиг. 5. Снимка на програмирането на Arduino Uno
  • След това запазете направените промени и презаредите коригираната програма на микроконтролера.

Сега устройството ще работи с по-наклонен за вас ъгъл. Ето пример за регулиране на ъгъла на движение на сензора наляво и надясно. Но ако желаете, можете да направите същите манипулации, за да промените ъгъла на наклона напред-назад, когато преминавате през които светодиодите ще светнат и изгаснат.

Какво ви е необходимо, за да стартирате програмата?

Тъй като микроконтролерът е програмиран специално за Ардуино IDE платформата, не е необходимо да имате допълнителни езици за програмиране и специални умения за работа с тях, просто свържете Arduino към компютъра. Заслужава да се отбележи, че чипът ATmega328 в Arduino Uno първоначално съдържа предварително инсталиран механизъм за зареждане. Това ви позволява да програмирате устройството без никакви хардуерни програмисти и взаимодействието на софтуерната среда на компютъра и чипа се осъществява чрез протокола STK500.

За да работите със софтуера на микроконтролера, трябва да отидете в менюто „Инструменти“, след това да изберете „Карти“ и да инсталирате Arduino Uno (ако използвате друг модел, инсталирайте го). След това, през Arduino IDE, програмирайте платката към логиката на сензора за накланяне и можете да започнете да използвате готовото устройство. Също така е възможно да се програмира Arduino чрез протокола ICSP, но този метод е по-подходящ за опитни програмисти, а не за начинаещи, затова е много по-лесно да се използва стандартния метод.

Изходен код на програмата:

Сензор за наклон на Arduino (3, 4 KB, изтеглен: 30)

Помогнете на развитието на сайта, споделяйки статията с приятели!

Категория: