Pro mini+ Gy-91
- Войдите на сайт для отправки комментариев
Пт, 17/03/2017 - 11:49
Подскажите как физически подключить данные девайсы? а также как вывести показания углов и тд например в Visuino или еще куданибудь без физического экрана! Ну и вообще у кого был опыт такой связки- буду рад советам!
А как удобно так и подключайте хоть по I2С хоть по SPI
https://www.youtube.com/watch?v=zi9kTkgpU6g - и схема есть, и пояснения
А вот здесь и библиотека - https://github.com/zenmanenergy/GY-91
Там другая плата не Pro mini!!! у нее разьемов меньше!!!
Так ... все какие надо - есть.
Вы не можете найти на своей плате пины для I2C? Ну, тогда обратитесь в раздел "Ищу исполнителя" - там помогут.
если бы я был профи таких бы вопросов и не было бы- а тут я задал конкретный вопрос- если вы на него не можете ответить- тоесть привести схему или ссылку на видео- то зачем тогда флуд разводите!?
Не могли бы Вы более подробно описать или привести схему подключения- именно для Pro mini!
Не могли бы Вы более подробно описать или привести схему подключения- именно для Pro mini!
Если по I2C то два проводка к ногам A4 и A5, вот и вся схема

если вы на него не можете ответить- тоесть привести схему или ссылку на видео- то зачем тогда флуд разводите!?
Я Вам дал ссылку где есть схема что и куда соединять. Все выводы подписаны также, как на Вашей плате. Если Вы не можете найти на плате подписи выводов и сравнить их, то зачем Вы вообще этим занялись?
Впрочем и в этой ситуации я подсказал Вам правильный выход (пойти а раздел "ищу исполнителя"), но вместо благодарности ... как всегда у новичков, которым все должны.
если вы на него не можете ответить- тоесть привести схему или ссылку на видео- то зачем тогда флуд разводите!?
Я Вам дал ссылку где есть схема что и куда соединять. Все выводы подписаны также, как на Вашей плате. Если Вы не можете найти на плате подписи выводов и сравнить их, то зачем Вы вообще этим занялись?
Впрочем и в этой ситуации я подсказал Вам правильный выход (пойти а раздел "ищу исполнителя"), но вместо благодарности ... как всегда у новичков, которым все должны.
реализаций этих прошек действительно немеряно, если не можете найти выводы, хотя бы фото скинули, что там у вас за зверь и, Евгения Петровича поблагодарите, он Вам дал 100% информации для работы с этим девайсом, ну как минимум начать и увидеть в сериале, что оно там выдает, или на почту ник яндекс, надо же как исполнитель когда-то монетизировать полученные здесь же знания )))
Евгению Петровичу за державу обидно и он мзду не берёт, а я беру, точнее надо же когда-то начинать )))
В сылке на видео - схемы подключения не увидел смотрел два раза!!
В сылке на видео - схемы подключения не увидел смотрел два раза!!
Боитесь сжечь, правильно ))) там еще и тексты есть
Подскажите а как по i2c посмотреть значения углов и тд?
Нашел вот такую стью
http://soltau.ru/index.php/arduino/item/371-interfejs-i2c-i-arduino
но там не очень я сно как снимать показания ?
В сылке на видео - схемы подключения не увидел смотрел два раза!!
Ну, некоторым людям двух раз недостаточно, посмотрите в третий раз. Время 0:40
Подскажите а как по i2c посмотреть значения углов и тд?
Ну на гитхаб же я ссылку давал! Там, блин, примеры есть! И текста чёртова уйма, и примеры готовых программ, запускай и смотри.
вот фото платы самой
Для Вас может это и явная схема- для меня- нет! Понял только что подключается к I2c как написали выше- через A4 A5 а вот как теперь снять с этой шины показания углов например- да попрошу быть снисходительным- я только начинаю в этой теме!!
Да tit прочел на github что
It can be simply modified to work with the corresponding micro shield as well. It uses SDA/SCL on pins 17/16, respectively, and it uses the Teensy 3.1-specific Wire library i2c_t3.h.
По плате, кварц 8 мегагерц, стабилизатор 3.3 вольта с уверенностью до 100% можно сказать, что у вас девай 3.3 вольтового питания, значит подключать можно напрямую, A4 'это SDA A5 это SCL питание тоже можно снять с платы
I2C - это шина, по ней устройства обмениваются данными...данные будут находиться в памяти ардуины ну и далее уже этими данными манипулируйте, в вашем случае отправляйте в ком-порт для начала
Но сдаётся мне, что на ваши хотелки нужно искать исполнителя, читать я так понимаю вы не особенно изволите, а тут безвомездно, то-есть задаром, помогают только тем, у кого что-то не получается, делать за вас ваши хотелки точно никто не будет
Кто же в этом виноват... Клапауций что ли?
Давайте я вам подскажу. Возьмите в руки свой GY-91, внимательно на него посмотрите. Видите там микросхемы стоят какие-то? Так вот, данные вы будете получать от них, а не от куска текстолита. То есть нужно что? Правильно - понять, как они называются. Потом идете в яндекс, набиваете "<название микросхемы> github arduino", скачиваете библиотечку, устанавливаете в Arduino IDE, говорите "крекс-пекс-фекс", соединяете модуль и ардуину проводками, плюёте через левое плечо и заливаете скетч-пример, который идет, как правило, с библиотечкой. Потом смотрите в Serial Monitor, текст скетча и проводите логические связи между выводимыми цифрами и кодом скетча (только не смотрите в скротч или скреч!).
Впринципе теперь все встало потихоньку на свои места- осталось разобраться с serial monitor- можно поподробней где смотреть конкретно?
Впринципе все ясно осталось понять как мониторить i2c
Впринципе все ясно осталось понять как мониторить i2c
В уроках Эдуарда Калинина есть всё, читайте!!!
вот здесь все уроки выше указанного автора там про i2c нет ничего ну или неявно!!!
http://mypractic.ru/uroki-programmirovaniya-arduino-navigaciya-po-urokam
Вот нашел как вывести с i2c инфу в граф вид
http://wiki.amperka.ru/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%83%D1%80%D0%BE%...
Еще вопрос ктонибудь работал с Visuino и i2c?
Вы - первый!
Вы - первый!
Да нет же, вот, на чистейшем английском (с болгарским акцентом) языке
Какие все добрые сегодня... Клапауций ты где?
Спасибо- но уже сам на него же наткнулся:))
вот наткнулся на скетч для вывода углов акселерометра в монитор порта для двух осей
#include <Wire.h> #include "Kalman.h" Kalman kalmanX; Kalman kalmanY; uint8_t IMUAddress = 0x68; /* IMU Data */ int16_t accX; int16_t accY; int16_t accZ; int16_t tempRaw; int16_t gyroX; int16_t gyroY; int16_t gyroZ; double accXangle; // Angle calculate using the accelerometer double accYangle; double temp; double gyroXangle = 180; // Angle calculate using the gyro double gyroYangle = 180; double compAngleX = 180; // Calculate the angle using a Kalman filter double compAngleY = 180; double kalAngleX; // Calculate the angle using a Kalman filter double kalAngleY; uint32_t timer; void setup() { Wire.begin(); Serial.begin(9600); i2cWrite(0x6B,0x00); // Disable sleep mode kalmanX.setAngle(180); // Set starting angle kalmanY.setAngle(180); timer = micros(); } void loop() { /* Update all the values */ uint8_t* data = i2cRead(0x3B,14); accX = ((data[0] << 8) | data[1]); accY = ((data[2] << 8) | data[3]); accZ = ((data[4] << 8) | data[5]); tempRaw = ((data[6] << 8) | data[7]); gyroX = ((data[8] << 8) | data[9]); gyroY = ((data[10] << 8) | data[11]); gyroZ = ((data[12] << 8) | data[13]); /* Calculate the angls based on the different sensors and algorithm */ accYangle = (atan2(accX,accZ)+PI)*RAD_TO_DEG; accXangle = (atan2(accY,accZ)+PI)*RAD_TO_DEG; double gyroXrate = (double)gyroX/131.0; double gyroYrate = -((double)gyroY/131.0); gyroXangle += kalmanX.getRate()*((double)(micros()-timer)/1000000); // Calculate gyro angle using the unbiased rate gyroYangle += kalmanY.getRate()*((double)(micros()-timer)/1000000); kalAngleX = kalmanX.getAngle(accXangle, gyroXrate, (double)(micros()-timer)/1000000); // Calculate the angle using a Kalman filter kalAngleY = kalmanY.getAngle(accYangle, gyroYrate, (double)(micros()-timer)/1000000); timer = micros(); Serial.println(); Serial.print("X:"); Serial.print(kalAngleX,0); Serial.print(" "); Serial.print("Y:"); Serial.print(kalAngleY,0); Serial.println(" "); // The accelerometer's maximum samples rate is 1kHz } void i2cWrite(uint8_t registerAddress, uint8_t data){ Wire.beginTransmission(IMUAddress); Wire.write(registerAddress); Wire.write(data); Wire.endTransmission(); // Send stop } uint8_t* i2cRead(uint8_t registerAddress, uint8_t nbytes) { uint8_t data[nbytes]; Wire.beginTransmission(IMUAddress); Wire.write(registerAddress); Wire.endTransmission(false); // Don't release the bus Wire.requestFrom(IMUAddress, nbytes); // Send a repeated start and then release the bus after reading for(uint8_t i = 0; i < nbytes; i++) data [i]= Wire.read(); return data; }