Например TDA7294

Форум РадиоКот • Просмотр темы - Цифровой акселерометр MMA7260Q и ATmega8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 18:51:49

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Ср фев 22, 2017 13:24:30 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт дек 22, 2009 16:38:26
Сообщений: 90
Откуда: Асино. Томская обл.
Рейтинг сообщения: 0
Здравствуйте, уважаемые КОТЫ! Захотелось собрать себе в машину вот такое устройство: https://avrlab.com/node/122. Я не программист, поэтому прошу помощи, как перевести исходник в НЕХ?

_________________
С уважением, Андрей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Чт окт 05, 2017 17:05:54 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт дек 22, 2009 16:38:26
Сообщений: 90
Откуда: Асино. Томская обл.
Рейтинг сообщения: 0
А в ответ тишина...
Тогда поставлю вопрос так: можно ли из этого сделать HEX?
#include <avr/io.h> //Стандартная библиотека ввода/вывода
#include <math.h.> //Библиотека математических операций

#define RS 2 //RS=PD2
#define E 3 //E=PD3

#define TIME 10
//Константа временной задержки для ЖКИ
//Частота тактирования 4МГц

#define ZERO_X 0x026c //Расчетная константа для координаты x
#define ZERO_Y 0x0258 //Расчетная константа для координаты y
#define ZERO_Z 0x029c //Расчетная константа для координаты z


int u=0; //Напряжение на ADC

int x,y,z; //ax,ay,az

//Программа задержки
void pause (unsigned int a)
{
unsigned int i;
for(i=a;i>0;i--);
}

//Программа передачи команды ЖКИ
void lcd_com (unsigned char lcd)
{
unsigned char temp;

temp=(lcd&~(1<<RS))|(1<<E); //RS=0 – это команда
PORTD=temp; //Выводим на portD старшую тетраду команды, сигналы RS, E
asm("nop"); //Небольшая задержка в 1 такт МК, для стабилизации
PORTD=temp&~(1<<E); //Сигнал записи команды
temp=((lcd*16)&~(1<<RS))|(1<<E); //RS=0 – это команда
PORTD=temp; //Выводим на portD младшую тетраду команды, сигналы RS, E
asm("nop"); //Небольшая задержка в 1 такт МК, для стабилизации
PORTD=temp&~(1<<E); //Сигнал записи команды
pause (10*TIME); //Пауза для выполнения команды
}

//Программа записи данных в ЖКИ
void lcd_dat (unsigned char lcd)
{
unsigned char temp;
temp=(lcd|(1<<RS))|(1<<E); //RS=1 – это данные
PORTD=temp; //Выводим на portD старшую тетраду данных, сигналы RS, E
asm("nop"); //Небольшая задержка в 1 такт МК, для стабилизации
PORTD=temp&~(1<<E); //Сигнал записи данных
temp=((lcd*16)|(1<<RS))|(1<<E); //RS=1 – это данные
PORTD=temp;n//Выводим на portD младшую тетраду данных, сигналы RS, E
asm("nop"); //Небольшая задержка в 1 такт МК, для стабилизации
PORTD=temp&~(1<<E); //Сигнал записи данных
pause(TIME); //Пауза для вывода данных
}

void lcd_init (void)//Иниализация ЖКИ
{
lcd_com(0x2c); //4-проводный интерфейс, 5x8 размер символа
pause(100*TIME);
lcd_com(0x0c); //Показать изображение, курсор не показывать
pause(100*TIME);
lcd_com(0x01); //Очистить DDRAM и установить курсор на 0x00
pause (100*TIME);
}

unsigned int getADC(void) //Извелечения результата с АЦП
{
unsigned int v;
v=(ADCL+ADCH*256);
return v;
}

void write_full(int x, int y, int z)
{
double a,b;
unsigned char temp;

a=atan2(x,z)*180/M_PI;//Вычисляем углы
b=atan2(y,z)*180/M_PI;

lcd_com (0x80); //Пишем "тангаж"
lcd_dat (0xbf);
lcd_dat (0x61);
lcd_dat (0xbd);
lcd_dat (0xb4);
lcd_dat (0x61);
lcd_dat (0xb6);
lcd_dat ('=');

if (a_valid==1)
{
if (a<0)
{//Пишем знак
a=-a;
lcd_dat('-');
}
else lcd_dat('+');

temp=a/100; //Пишем данные
a=a-temp*100;
lcd_dat(0x30+temp);
temp=a/10;
a=a-temp*10;
lcd_dat(0x30+temp);
lcd_dat(0x30+a);
lcd_dat(0xdf);
}
else
{
lcd_dat('N');
lcd_dat('/');
lcd_dat('a');
lcd_dat(' ');
lcd_dat(' ');
}
lcd_com (0xc0);//Пишем "крен"
lcd_dat (0xba);
lcd_dat (0x70);
lcd_dat (0x65);
lcd_dat (0xbd);
lcd_dat ('=');
if (b_valid==1)
{
if (b<0) { //Пишем знак
b=-b;
lcd_dat('-');
}
else lcd_dat('+');

temp=b/100; //Пишем данные
b=b-temp*100;
lcd_dat(0x30+temp);
temp=b/10;
b=b-temp*10;
lcd_dat(0x30+temp);
lcd_dat(0x30+b);
lcd_dat(0xdf);
}
else {
lcd_dat('N');
lcd_dat('/');
lcd_dat('a');
lcd_dat(' ');
lcd_dat(' ');
}
}

int abs (int x)
{
if (x>=0) return x;
else return -x;
}

int main(void)
{ unsigned char i;
DDRD=0xfc;

pause(3000); //Пауза для включения ЖКИ
lcd_init(); //Инициализация ЖКИ


ADCSRA=(1<<ADEN)|(1<<ADPS1)|(1<<ADPS0); //Включить АЦП, прескаллер =/8
while(1)
{
x=y=z=0;

for (i=0;i<30;i++)
{
ADMUX=(1<<REFS1)|(1<<REFS0)|(0<<MUX3)|(0<<MUX2)|(0<<MUX1)|(0<<MUX0);//Внутренний Vref=2,56, канал PC0
ADCSRA|=(1<<ADSC); //Начать преобразование
while ((ADCSRA&_BV(ADIF))==0x00) //Ждем окончания преобразования
;

u=getADC(); //Считать напряжение
x= x+(u-ZERO_X)*2.56/10.24*1.25; //Добавить в сумму x

ADMUX=(1<<REFS1)|(1<<REFS0)|(0<<MUX3)|(0<<MUX2)|(0<<MUX1)|(1<<MUX0);//Внутренний Vref=2,56, канал PC1
ADCSRA|=(1<<ADSC); //Начать преобразование
while ((ADCSRA&_BV(ADIF))==0x00) //Ждем окончания преобразования
;

u=getADC(); //Считать напряжение
y= y+(u-ZERO_Y)*2.56/10.24*1.25; //Добавить в сумму y

ADMUX=(1<<REFS1)|(1<<REFS0)|(0<<MUX3)|(0<<MUX2)|(1<<MUX1)|(0<<MUX0);//Внутренний Vref=2,56, канал PC2
ADCSRA|=(1<<ADSC); //Начать преобразование
while ((ADCSRA&_BV(ADIF))==0x00) //Ждем окончания преобразования
;

u=getADC(); //Считать напряжение
z= z+(u-ZERO_Z)*2.56/10.24*1.25; //Добавить в сумму z

}
a_valid=b_valid=1;
if ((abs(x/30)>85)&&(abs(y/30)<30)) { //Вычисляем корректность данных
a_valid=1;
b_valid=0;
}
if ((abs(y/30)>85)&&(abs(x/30)<30)) {
a_valid=0;
b_valid=1;
}
write_full (x,y,z); //Выводим результат на ЖКИ
pause(15000);
}

return 1;
}

_________________
С уважением, Андрей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Чт окт 05, 2017 17:27:30 
Друг Кота

Карма: 38
Рейтинг сообщений: 618
Зарегистрирован: Пн апр 06, 2015 11:01:53
Сообщений: 3092
Откуда: москва, уфа
Рейтинг сообщения: 0
можно.

http://microsin.net/programming/avr/avr ... -file.html

в аттаче для меги88, хз какая у вас.

ЗЫ не надо такие портянки постить. прячьте в спойлер, или лучше прикладывайте файл.


Вложения:
someprog.zip [5.37 KiB]
Скачиваний: 222
Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Чт окт 05, 2017 17:55:28 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт дек 22, 2009 16:38:26
Сообщений: 90
Откуда: Асино. Томская обл.
Рейтинг сообщения: 0
В заголовке: MEGA8

Добавлено after 12 minutes 9 seconds:
Хотелось бы подробнее.

_________________
С уважением, Андрей.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Чт окт 05, 2017 18:24:35 
Друг Кота

Карма: 38
Рейтинг сообщений: 618
Зарегистрирован: Пн апр 06, 2015 11:01:53
Сообщений: 3092
Откуда: москва, уфа
Рейтинг сообщения: 0
для меги8


Вложения:
someprog.hex [7.64 KiB]
Скачиваний: 515
Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Пт окт 06, 2017 01:33:09 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт дек 22, 2009 16:38:26
Сообщений: 90
Откуда: Асино. Томская обл.
Рейтинг сообщения: 0
Но как?

_________________
С уважением, Андрей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Пт окт 06, 2017 07:27:43 
Электрический кот
Аватар пользователя

Карма: 8
Рейтинг сообщений: 128
Зарегистрирован: Чт июн 20, 2013 00:00:58
Сообщений: 1031
Откуда: москва, м.Сходненская
Рейтинг сообщения: 0
при помощи компилятора


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Сб окт 07, 2017 18:46:11 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт дек 22, 2009 16:38:26
Сообщений: 90
Откуда: Асино. Томская обл.
Рейтинг сообщения: 0
для меги8

Залил эту прошивку, ничего не работает.
А компиляторы есть на Русском языке?

Добавлено after 20 minutes 34 seconds:
Хочу попробовать сам разобраться.

_________________
С уважением, Андрей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Сб окт 07, 2017 18:50:38 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5598
Откуда: Minsk
Рейтинг сообщения: 0
andrei913 писал(а):
А компиляторы есть на Русском языке?

Я о}{..ваю ! Насколько позволяет судить мой скромный опыт, их нет ни на русском, ни на китайском, ни на древне-зулусском. Входной язык у компилятора - выбранный язык программирования, на выходе - бинарник или .hex - файл.

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Сб окт 07, 2017 19:05:28 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт дек 22, 2009 16:38:26
Сообщений: 90
Откуда: Асино. Томская обл.
Рейтинг сообщения: 0
andrei913 писал(а):
А компиляторы есть на Русском языке?

Я о}{..ваю ! Насколько позволяет судить мой скромный опыт, их нет ни на русском, ни на китайском, ни на древне-зулусском. Входной язык у компилятора - выбранный язык программирования, на выходе - бинарник или .hex - файл.

Я вроде нормально спрашиваю. Неужели нельзя нормально ответить.

_________________
С уважением, Андрей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Сб окт 07, 2017 19:50:04 
Друг Кота

Карма: 38
Рейтинг сообщений: 618
Зарегистрирован: Пн апр 06, 2015 11:01:53
Сообщений: 3092
Откуда: москва, уфа
Рейтинг сообщения: 0
на такие вопросы сложно отвечать нормально. Ну совсем ведь базовые понятия :dont_know: Откройте любую книжку по С и почитайте несколько первых глав.

В исходном виде прошивка не собирается, я там правил опечатки по собственному разумению, особо не разбираясь.
"ничего не работает" - дык погода на марсе к этому не располагает. Какое конкретно ничего не работает?

там в комментариях кстати чего-то про частоту в 4МГц. Нужные фьюзы выставили?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Цифровой акселерометр MMA7260Q и ATmega8
СообщениеДобавлено: Сб окт 07, 2017 19:58:35 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт дек 22, 2009 16:38:26
Сообщений: 90
Откуда: Асино. Томская обл.
Рейтинг сообщения: 0
Просто я в программировании полный ноль. Я практик. Могу спаять, прошить микроконтроллер но не более. Так что извините за тупые вопросы. Фьюзы выставил правильно.

_________________
С уважением, Андрей.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y