Авиагоризонт на базе Ардуино

Авиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт — бортовой гироскопический прибор, используемый в авиации для определения и индикации продольного и поперечного углов наклона летательного аппарата (тангажа и крена), то есть углов ориентации относительно истинной вертикали.
Именно так говорит об этом приборе Википедия. Если еще проще, то это прибор который используется для определения положения самолета по отношению к горизонту или земле. Именно такой прибор мы и будем делать совместно с матером-самодельщиком под ником VitoG6.
Инструменты и материалы:-Arduino MEGA 2560;-Дисплей SSD1306 OLED;-Модуль гироскопа MPU6050;-Монтажная перфорированная плата;-Провода соединительные;-Паяльник;-Ножницы;-Макетная плата;Шаг первый: макетная плата
Схема подключения представлена на эскизе.
Авиагоризонт на базе АрдуиноСначала мастер собирает и проверяет устройство на маетной плате.
Авиагоризонт на базе АрдуиноШаг второй: сборка
После проверки работы на макетке, мастер собирает устройство на плате. Припаивает разъемы для дисплея и Ардуино.
Авиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноМонтирует винтовой разъем, тумблер.
Авиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноУстанавливает Ардуино и датчик гироскопа.
Авиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноШаг третий: программирование
Теперь нужно загрузить код на устройство. Файл с кодом можно скачать ниже.

Съемная тонировка нового поколения - Каркасные шторки TROKOT
6 часов назад
Уникальное приспособление для приготовления из филе рыбы, индейки и курицы: Домашняя ветчинница Деликатес
8 часов назад

#includere
#includere #include "U8glib.h" #include #includere

MPU6050 mpu6050 (cavo);

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R2, SCL, SDA, U8X8_PIN_NONE);

void setup() { u8g2.begin(); Serial.begin(9600); Wire.begin(); mpu6050.begin(); mpu6050.calcGyroOffsets(true); //taratura u8g2.setFont(u8g2_font_unifont_t_symbols); }

int xship = 64; int yship = 32;

unsigned long t1, dt;

float x,y,z;

void loop() { mpu6050.update(); dt = millis() - t1; if (dt > 200) { t1 = millis(); x = mpu6050.getAngleX(); y = mpu6050.getAngleY(); } int v = mpu6050.getAngleX(); int a = mpu6050.getAngleY();

yship = map(v, +40, -40, 55,5); int rot = map(a, -90,+90, 314,0); u8g2.clearBuffer();

nave(((float)rot)/100.0f); u8g2.drawTriangle(xship-62,yship, xship+62,yship, xship,yship+2);

u8g2.sendBuffer(); ritardo(50); }

void ship(float a) { int x = xship + (int)10*cos(a); int y = yship + (int)10*sin(a); int xa = xship + (int)5*cos(a + 2.0*PI / 3.0); int ya = yship + (int)5*sin(a + 2.0*PI / 3.0); int xb = xship + (int)5*cos(a - 2.0*PI / 3.0); int yb = yship + (int)5*sin(a - 2.0*PI / 3.0); u8g2.drawLine(xship, yship, xa, ya); u8g2.drawLine(xship, yship, xb, yb); u8g2.drawLine(x, y, xa, ya); u8g2.drawLine(x, y, xb, yb); }

Авиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноВсе готово.
Авиагоризонт на базе АрдуиноАвиагоризонт на базе АрдуиноАвиагоризонт на базе Ардуино

Умные часы Smart Watch V8 + Power Bank и наушники в подарок
6 часов назад
Быстрая прохлада с Мини USB кондиционер AICOK
7 часов назад

Набор силиконовых валиков для уборки от профессионалов
9 часов назад
Эффективное средство для борьбы с алкогольной зависимостью
9 часов назад

Читайте также