Здравствуйте,есть задача. Есть ArduinoUNO, акселеромерт troyka-modul Сама задача Надо чтобы при достижении 40 градусов по оси XYначинал пищать, а при достижении 65 градусо по XYосям начинал светьться свето диод.
у меня этих акселерометров как грязи, но вот именно "тройки " нет- не было их в продаже, сегодня вот позвонили, сказали приезжать забирать. Что пищать будет - на предмет прямо на пин сажать или через транзистор?
Что-то типа этого? Код (C++): #include <Wire.h> #include <troyka-imu.h> #define PIN_BUZZER 3 #define PIN_LED 4 #define TONE_FREQ 4000 //static const float TAN_45 = 1.0; static const float TAN_60 = 1.732; Accelerometer accel; void setup() { accel.begin(); pinMode(PIN_BUZZER, OUTPUT); pinMode(PIN_LED, OUTPUT); } void loop() { int x = accel.readX_G(); int y accel.readY_G(); if (abs(y)>abs(x)) { tone(PIN_BUZZER, TONE_FREQ); digitalWrite(PIN_LED, (abs(y)>TAN_60*abs(x))); } else { noTone(PIN_BUZZER); digitalWrite(PIN_LED, LOW); } }
а то азимут - как раз слабое место. Я вон в mpu6050 даже вычислитель на борту запустил, но азимут (он же угол рыскания, он же y) плывет 0,01-0,1 °/с, при этом крен и тангаж как вкопанные.