Форум программистов, компьютерный форум, киберфорум
Arduino
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 02.12.2009
Сообщений: 33
1

Как связать Реле и MPU6050

03.04.2016, 09:20. Показов 698. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет ребята, нужна ваша помощь.
Удалось запустить скеч для MPU6050. Он передает данные осей X и Y, в монитор порта с помощью "Kalman.h" . Нужно добавить функцыи, с кнопками и рэле. Но чтобы не путаца решил попробовать пока отдельно написать эти функцыи.

Но чтото у меня пока не очень получается. Помогите решить эту задачу.



Итак задача...

Имеются:
КНОПКА1 //кнопка1 обычная тактовая без фиксацый
КНОПКА2 //кнопка2 обычная тактовая без фиксацый
RELAY1 //реле инверсное
RELAY2 //реле инверсное
BUZZER //пищалка
По умолчанию RELAY1 и RELAY2 отключены.

При нажатии на тактовую (кнопку1):
Включить (RELAY1)
Запомнить покозатели (kalAngleX)
Запомнить показатели (kalAngleY)

При изменении показателей (kalAngleX) и (kalAngleY), больше или меньше 5 градусов:
Включить (RELAY2) //на 60сек
Включить (BUZZER) //на 60сек
Через 60сек выключить:
Выключить (РЕЛЕ2)
Выключить (BUZZER)

После начать цыкл, как после нажатия (кнопки1)

Но есле нажать (кнопку2) то:
Выключить (RELAY1)
Выключить (RELAY2) есле включено
Выключить (BUZZER) если включён.



Пробовал написать начало. Вот что получилось:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#define BUZZER_PIN       6;     // 6 пин Пищалки
#define RELAY_PIN        4;     //4 пин  РЕЛЕ1
#define RELAY_PIN2       5;     // 5 пин РЕЛЕ2
#define BUTTON_PIN1      2;     // пин для Кнопка1
#define BUTTON_PIN2      3;     // пин для Кнопка2
#define BEEP_INTERVAL  1000     // частота включения зуммера, мсек
#define BUZZER_TIMEOUT 30UL     // длительность звучания зуммера, сек
#define RELAY_TIMEOUT2 30UL     // длительнасть включения Реле2, сек
boolean relayEnable = false;    // флаг Реле1
boolean relay2Enable = false;   // флаг Реле2
boolean buzzerEnable = false;   // флаг Пищалки
 
 
void setup() {
  
 Serial.begin(9600);
  pinMode(RELAY_PIN, OUTPUT);   // Реле1
  pinMode(RELAY_PIN2, OUTPUT);  // Реле2
  pinMode(BUTTON_PIN1, INPUT);  // Кнопка1
  pinMode(BUTTON_PIN2, INPUT);  // Кнопка2
  pinMode(BUZZER_PIN, OUTPUT);  // Пищалка
 
}
 
void loop() {
  
 
}
Добавлено через 4 часа 41 минуту
Я так понял нужно использовать опираторы сравнения?
Что то типо такого?

if (kalAngleX > записанного числа + 5 то...) // Здесь я не могу разобратся, как взять это число по нажатию на кнопку1?

Добавлено через 15 часов 11 минут
Не пойму, как скопировать значение переменной (kalAngleX) в момент нажатия кнопки1, и после сравнивать это значение со значением в настоящее время?

Например:
Значение (kalAngleX) в момент нажатия на кнопку1 было 180 (и оно запомнилось) назовем его (Число1).
А через 2 минуты в настоящий момент значение (kalAngleX) изменилось допустим на 190, назовем его (Число2).
И по условиям должно сработать реле2 в том случае (Если Число1 больше или меньше Числа2 более чем на 5)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2016, 09:20
Ответы с готовыми решениями:

Как получить данные ускорения гироскопа с mpu6050?
В библиотеке написано следующее // ACCEL_*OUT_* registers void getMotion9(int16_t* ax,...

Mpu6050 Mpu9150
Товарищи добрый день. Есть устройство всем устраивает кроме датчика который там на борту. Речь о...

Как связать связать RadioGroup и ListBox1?
Как сделать что бы при нажатии на кнопку в Radiogroup список в Listbox менялся в зависимости от...

Реле напряжения и реле по времени
Доброе время суток, уважаемые программисты Подскажите, пожалуйста, как создать в Simulink реле...

Данные с датчика MPU6050
Начал делать проект с использованием MPU6050. Нашёл скетч, считывающий показания с акселерометра...

0
03.04.2016, 09:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2016, 09:20
Помогаю со студенческими работами здесь

MPU6050 пробуждение и сон
Читал даташит и там было написано что у этого датчика, наверно как и всех остальных есть режим сна...

MPU6050 STM32F103 показания гироскопа
Добрый день, помогите получить показания с датчика. IDE Keil Библиотека HAL Вот код...

PIC18F2550 и CY-521 на базе MPU6050, связь через I2C
Здравствуйте. По роду деятельности необходимо научиться работать с гироскопом и акселерометром для...

MPU6050+фильтр Маджвика+STM32F407+CubeMX Мопед не мой...
Минздрав предупреждал... Это адаптированный ардуниновский проект. Буду рад если кто что-то найдет...

Чтение компаса HMC5883 через aux входы MPU6050.
Всем привет! Есть у кого опыт как заставить мпушку читать компас??? как только не извращался, так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru