roboforum.ru

Технический форум по робототехнике.

Помогите написать программу на МК атмега128.

Помогите написать программу на МК атмега128.

Костя » 31 мар 2014, 17:51

Помогите пожалуйста написать программу на языке программирования С++ на у правление сервоприводом при нажатие кнопки, или подскажите как написать эту программу, мне надо что бы нажав первую кнопку сервопривод про крутился на 10 градусов при нажатие на вторую кнопу он про крутился на 20 градусов и так далее, Схему я скинул в программе Proteus. У меня большая просьба помогите мне. Мне очень сильно нужна ваша помощь помогите пожалуйста!!!
Вложения
схема1.rar
В Proteus
(23.06 КиБ) Скачиваний: 0

Re: Помогите написать программу на МК атмега128.

Madf » 31 мар 2014, 20:21

опять горящий проект по учебе..)

Re: Помогите написать программу на МК атмега128.

Костя » 31 мар 2014, 20:30

скажем просто я студент с меня много не возьмешь и не из богатой семьи я так что так сразу ответить не магу=( хотелось бы что бы мне помогли хотя бы простеньким примером что бы я понял примерно как она пишется, я много не прощу. Тут как вы сами захотите, но нормальных денег я вам дать не могу!!!Так что сами решайте как поступить вам помочь мне или нет!!!

Добавлено спустя 7 минут:
Madf ты угадал вот только мне дали то чего я не проходил, а сам пытался разобраться и сейчас пытаюсь но не получается, просто похожие программы написаны во FlowCode а компиляцию в с++ с него я понять не могу, по этому и прошу о помощи в небольшом хотя бы примере как на сервопривод пишется программа для атмеге128. Заставить я вас не могу но может кто захочет помочь мне по доброте душевной, правда я не надеюсь на многое ну по пробовать стоило. Если кто согласится большое вам спасибо=)!!! :)

Re: Помогите написать программу на МК атмега128.

avr123.nm.ru » 31 мар 2014, 21:12

Костя писал(а):помогите мне.
посмотрите пример управления servo - довольно просто - http://www.proavr.narod.ru/z13.htm :D

Изначально серва как установлена - по центру?
А при отпускании кнопок что происходит?

Может он-лайн урок тут забацать? :D

Re: Помогите написать программу на МК атмега128.

Костя » 31 мар 2014, 21:37

За примеры большое спасибо попробую разобраться если еще что то будет или что то случайно найдете напишите сюда пожалуйста.

Re: Помогите написать программу на МК атмега128.

Костя » 02 апр 2014, 14:44

Народ больше нечего нет случаем???

Re: Помогите написать программу на МК атмега128.

avr123.nm.ru » 02 апр 2014, 15:32

Вы сами то что сделали? Чего вам больше? :D

Re: Помогите написать программу на МК атмега128.

Костя » 10 апр 2014, 15:40

Вот что я сделал, я заставил сервопривод крутиться на своей схеме но не могу понять как мне это заставить делать от кнопок на AVR GCC написана программа.
#include <avr/io.h>
#include <util/delay.h>

//Simple Wait Function
void Wait()
{
uint8_t i;
for(i=0;i<10;i++)
{
_delay_loop_2(0);
_delay_loop_2(0);
_delay_loop_2(0);

}

}
void main()
{
//Configure TIMER1
TCCR1A|=(1<<COM1A1)|(1<<COM1B1)|(1<<WGM11); //NON Inverted PWM
TCCR1B|=(1<<WGM13)|(1<<WGM12)|(1<<CS11)|(1<<CS10); //PRESCALER=64 MODE 14(FAST PWM)

ICR1=4999; //fPWM=50Hz (Period = 20ms Standard).

DDRB|=(1<<PB4)|(1<<PB5); //PWM Pins as Out
DDRB|=(1>>PB4)|(1>>PB5);

while(1)
{

OCR1A=194;
Wait();
OCR1A=201;
Wait();
OCR1A=208;
Wait();
OCR1A=215;
Wait();
OCR1A=222;
Wait();
OCR1A=229;
Wait();
OCR1A=236;
Wait();
OCR1A=245;
Wait();
OCR1A=252 ;
Wait();

OCR1A=252 ;
Wait();
OCR1A=245;
Wait();
OCR1A=236;
Wait();
OCR1A=229;
Wait();
OCR1A=222;
Wait();
OCR1A=215;
Wait();
OCR1A=208;
Wait();
OCR1A=201;
Wait();
OCR1A=194;
Wait();



}
}

Re: Помогите написать программу на МК атмега128.

avr123.nm.ru » 10 апр 2014, 16:41

Костя писал(а):Вот что я сделал, я заставил сервопривод крутиться на своей схеме но не могу понять как мне это заставить делать от кнопок
Отлично!

вот так попробуйте - https://www.google.ru/search?q=%D0%BA%D ... 3&ie=UTF-8

Re: Помогите написать программу на МК атмега128.

Костя » 12 апр 2014, 16:56

спасибо попробую

Добавлено спустя 1 час 28 минут 3 секунды:
#include <avr/io.h>
#include <util/delay.h>

//Simple Wait Function
void Wait()
{
uint8_t i;
for(i=0;i<10;i++)
{
_delay_loop_2(0);
_delay_loop_2(0);
_delay_loop_2(0);

}

}
void main()
{
//Configure TIMER1
TCCR1A|=(1<<COM1A1)|(1<<COM1B1)|(1<<WGM11); //NON Inverted PWM
TCCR1B|=(1<<WGM13)|(1<<WGM12)|(1<<CS11)|(1<<CS10); //PRESCALER=64 MODE 14(FAST PWM)

ICR1=4999; //fPWM=50Hz (Period = 20ms Standard).

DDRB|=(1<<PB4)|(1<<PB5); //PWM Pins as Out
DDRB|=(1>>PB4)|(1>>PB5);
DDRF = 0x00;

while(1)
{

if (bit_is_set(PIND,0)) {
if (bit_is_clear(PIND,1)){
OCR1A=194;
Wait();
// Ñäåëàòü ÷òî-íèáóäü êîãäà áèò 0 ïîðòà Â ðàâåíî "1", à áèò 1 ðàâåí "0".
}
}
if (bit_is_set(PIND,1)) {
if (bit_is_clear(PIND,2)){
OCR1A=201;
Wait();
}
}
if (bit_is_set(PIND,2)) {
if (bit_is_clear(PIND,3)){
OCR1A=208;
Wait();
}
}
if (bit_is_set(PIND,3)) {
if (bit_is_clear(PIND,4)){
OCR1A=215;
Wait();
}
}
if (bit_is_set(PIND,4)) {
if (bit_is_clear(PIND,5)){
OCR1A=222;
Wait();
}
}
if (bit_is_set(PIND,5)) {
if (bit_is_clear(PIND,6)){
OCR1A=229;
Wait();
}
}
if (bit_is_set(PIND,6)) {
if (bit_is_clear(PIND,7)){
OCR1A=236;
Wait();
}
}
}
}

Добавлено спустя 59 секунд:
всем спс щас еще лсд икран подключу так что всем большое спасибо за потсказки

Добавлено спустя 22 минуты 44 секунды:
скинь те плиз сылку где можно посматрерть насчет ЛСД экрана как мне сделать чтобы показывались номер этажа!!!Пожалуйста если я сам найду до этого то сразу отпешусь

Re: Помогите написать программу на МК атмега128.

avr123.nm.ru » 12 апр 2014, 23:22

попробуйте изменить запрос в гугл

Re: Помогите написать программу на МК атмега128.

Костя » 14 апр 2014, 17:28

пробывал не помогает=( я понимаю что вам надоел=( у меня еще одна проблема в протеусе серво привод останавливается а на Микроконтролере он крутится постаянно только когда кнопку нажмеш он повернется на определенное количество градусов и опять начинает крутится в обратную сторону что можно сделать программа написанна на AVR Studio GCC, простно намекните или просто напишите команду которой можно воспользоваться=)

Re: Помогите написать программу на МК атмега128.

avr123.nm.ru » 14 апр 2014, 17:40

Надо видеть код программы. Лучше выложите код в тегах КОД и приложите архив с прожектом.

и ЗАКЛИНАЮ ВАС зырьте в гугл - https://www.google.ru/search?q=winavr+l ... 3&ie=UTF-8


Rambler\'s Top100 Mail.ru counter