
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
}
|