Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
26.02.2015, 23:18
|
|
Прописка
Регистрация: 25.11.2008
Сообщений: 114
Сказал спасибо: 3
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
|
Re: MPU-6050 atmega8 codevision avr
Не мудрите с уровнями. В модулях с MPU-6050 есть стабилизатор на 3.3в и подтягивающие резисторы к этим 3.3в.
Логический ноль "сделают" или Мега или МПУшка а единичку - резисторы.
Мега питается от 5в, а размах сигнала на SDA/SCL от 0в до 3в. Вполне...
|
|
|
|
02.03.2015, 18:54
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: MPU-6050 atmega8 codevision avr
PHP код:
|
#include ‹mega8.h› #include ‹i2c.h› #include ‹alcd.h› #include ‹string.h› #include ‹stdio.h› #include ‹delay.h›
char a, b; char lcd_buffer1[33]; char lcd_buffer2[33];
void main(void) { PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x00;
i2c_init();
lcd_init(16);
i2c_start(); i2c_write(0xD0); i2c_write(0x6B); i2c_write(0x00); i2c_start(); i2c_write(0xD0); i2c_write(0x6C); i2c_write(0xC0); i2c_start(); i2c_write(0xD0); i2c_write(0x1A); i2c_write(0x01); i2c_start(); i2c_write(0xD0); i2c_write(0x1B); i2c_write(0x08); i2c_start(); i2c_write(0xD0); i2c_write(0x1C); i2c_write(0x18); i2c_stop();
while (1) { i2c_start(); //Кидаем команду "Cтарт" на шину I2C i2c_write(0xD0); //Записываем адрес гироскопа в режиме записи. i2c_write(0x47); //Указываем адрес регистра GYRO_ZOUT_H
i2c_start(); //Кидаем команду "Cтарт" на шину I2C i2c_write(0xD1); //Записываем адрес гироскопа в режиме чтения. a=i2c_read(0); //Читаем число из устройства с нулевым адресом и присваиваем переменной "а". i2c_stop(); //Останавливаем шину. i2c_start(); //Кидаем команду "Cтарт" на шину I2C i2c_write(0xD0); //Записываем адрес гироскопа в режиме записи. i2c_write(0x48); //Указываем адрес регистра GYRO_ZOUT_L
i2c_start(); //Кидаем команду "Cтарт" на шину I2C i2c_write(0xD1); //Записываем адрес гироскопа в режиме чтения. b=i2c_read(0); //Читаем число из устройства с нулевым адресом и присваиваем переменной "а". i2c_stop(); //Останавливаем шину.
sprintf(lcd_buffer1,"GZH %x",a ); sprintf(lcd_buffer2,"GZL %x",b );
lcd_clear(); // Чистим дисплей lcd_gotoxy(0,0); // Ставим курсор в начало первой строки lcd_puts(lcd_buffer1); // Выводим значение первого буфера. lcd_gotoxy(0,1); // Ставим курсор в начало второй строки lcd_puts(lcd_buffer2); // Выводим значение второго буфера.
delay_ms(1000);
} }
|
![Нажмите на изображение для увеличения
Название: 123.jpg
Просмотров: 137
Размер: 43.3 Кб
ID: 76224](https://kazus.ru/forums/attachment.php?attachmentid=76224&thumb=1&d=1425308030)
получилось ![Внимание!](images/smilies/icon_exclaim.gif)
6050 питается от стабилизатора на 3,3в
Последний раз редактировалось WindoЗavr; 02.03.2015 в 19:06.
|
|
|
|
02.03.2015, 19:13
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: MPU-6050 atmega8 codevision avr
а как теперь из данных по 3 осям получить углы крена и тангажа?
|
|
|
|
02.03.2015, 19:58
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: MPU-6050 atmega8 codevision avr
Элементарная тригонометрия, сэр.
|
|
|
|
02.03.2015, 20:18
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,982
Сказал спасибо: 2,554
Сказали Спасибо 11,862 раз(а) в 5,944 сообщении(ях)
|
Re: MPU-6050 atmega8 codevision avr
Сообщение от WindoЗavr
|
а как теперь
|
Обычно, сначала задаются вопросом "как?", а уже потом "чем?".
Эйлера вспоминайте.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
02.03.2015, 20:50
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: MPU-6050 atmega8 codevision avr
Сообщение от akegor
|
Обычно, сначала задаются вопросом "как?", а уже потом "чем?".
Эйлера вспоминайте.
|
мы мимо него проходили, круги разные рисовали ...
а что конкретно нужно?
|
|
|
|
02.03.2015, 22:05
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: MPU-6050 atmega8 codevision avr
это оно?
Пусть r={x,y,z}, а вектра e1={1,0,0}, e2={0,1,0}, e3={0,0,1} - единичные вектора, задающие систему координат. Скалярное произведение двух векторов равно произведению модулей векторов и косинуса угла между ними. Откуда получаем r * e1 = mod(r) * mod(e1) * cos(phi1) Находим cos(phi1) = r * e1 / (mod(r)*mod(e1)) = x / (x*x + y*y + z*z)^1/2. Значит phi1 = acos(x/(x*x+y*y+z*z)^1/2). Аналогично для phi2 и phi3.
|
|
|
|
02.03.2015, 22:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
|
Re: MPU-6050 atmega8 codevision avr
Сообщение от WindoЗavr
|
с чего начать?
|
накрыть поляну
|
|
|
|
27.07.2015, 07:10
|
|
Прохожий
Регистрация: 27.07.2015
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: MPU-6050 atmega8 codevision avr
День добрый тоже купил себе этот гироскоп, все подключил к 5в, на SDA и SDL повесил резюки 4.7К к +5в. Код честно скопирован Ваш. Столкнулся с проблемой что на дисплее выскакивают значения GZH = 255, GZL пляшет от 90 до 140 в состоянии покоя. Где может быть косяк? МПУшка отвечает правльно 0x68. Мозг уже кипит,
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Литература по микроконтроллерам (AVR, PIC, ПЛИС и т.д.). Сборка книг - (256 книг+ 27 CD c примерами из книг) [обновление 2011, PDF, DJVU]
|
yurinform |
Микроконтроллеры, АЦП, память и т.д |
5 |
05.07.2011 19:00 |
Codevision AVR + AVR Studio помогите разобраться с отладкой
|
Daget |
Микроконтроллеры, АЦП, память и т.д |
24 |
07.03.2011 14:41 |
Архив проектов на AVR
|
fmssp |
Proteus, KiCAD и другие ECAD |
4 |
25.10.2010 17:14 |
mRTOS - кооперативная ОС для AVR. Порт CodeVision.
|
LVII |
Микроконтроллеры, АЦП, память и т.д |
5 |
29.11.2008 14:44 |
Как работать с AT89C5131 в CodeVision AVR?
|
lom771 |
Микроконтроллеры, АЦП, память и т.д |
2 |
29.08.2006 16:51 |
Часовой пояс GMT +4, время: 22:24.
|
|