LPY550AL е жироскоп, който измерва ъглово отклонение по оси X и Z. Тъй като сензорът е малък и труден за запояване от любители, фирмата Pololu го предлага върху брейкаут борд с всички необходими компоненти и вграден регулатор за напрежение до 16V. Информация за отклонението по всяка ос, сензорът връща като аналогово напрежение, изгладено през вградена RC верига.
Жироскопът се захранва през пин 3.3V с напрежение от 2.7 до 3.6V. За да се захрани с напрежение до 16V през вградения регулатор, захранващото напрежение се подава на пин VIN. Тогава пин 3.3V става изходен и може да захрани консуматори до 50mA или да служи като образцово напрежение (AREF) за микроконтролер. Когато жироскопът е в покой, напрежението за всяка от двете оси е 1.23V.
Пример
В дадения пример, Arduino получава информация за отклонението по двете оси чрез два аналогови входа и я извежда в Serial Monitor.
Жироскопът се захранва с 5V на пин VIN, а напрежението на пин 3,3V се използва като образцово за микроконтролера на Arduino. Пиновете му се свързват към Arduino по следния начин:
VIN -> 5V GND -> GND 3.3V -> AREF X -> A0 Z -> A1
Кода, който трябва да се зареди на Arduino е следният:
/* Описание: * Получава информация от сензора през 2 аналогови входа * Извежда стойността за всяка ос в Serial Monitor Свързване: * VIN -> 5V * GND -> GND * 3.3V -> AREF * X -> A0 * Z -> A1 * Tihomir Trifonov (09-2011) * email:tisho@inbox.com * с подкрепата на Robotev.com */ //// вдодове за сигналите от 2те оси int XPin = A0; // X int ZPin = A1; // Z //// променливи за стойностите int valX = 0; int valZ = 0; void setup() { // начални инициализации Serial.begin(9600); // стартира серийна комуникация analogReference(EXTERNAL); // задава външен източник // на образцово напрежение AREF } void loop() { // програмен цикъл //// получава данните за X и Z осите valX = analogRead(XPin); valZ = analogRead(ZPin); //// Извежда данните в Serial Monitor Serial.print("X-"); Serial.print(valX); Serial.print(" Z-"); Serial.println(valZ); delay(100); // изчаква 100ms } |