Страница 1 из 1

Осваиваю AVR attiny13

Добавлено: Сб дек 07, 2013 18:57:55
toothcomp
Пришел с китая программатор AVR и макетная плата .. и понеслось осваивание микропроцессора ... вообщем с помощью разных порталов и видео на YOUTUBE потихоньку добиваюсь результатов.
Начал стремиться к получение нужного результата .. а именно управлением сервоприводом.
получилось реализовать вот это.
Изображение
нашел полность в готовом виде.. .

Код: Выделить всё

#include "Servo8Bit.h" 
int main()
{
    Servo8Bit myServo;  //создаем объект myServo
                        //максимальное количество - 5 сервоприводов  
    myServo.attach(1);  //подключаем серво к порту PB1 
    //управление сервоприводом
    while(1)
    {
        for(int pos = 0; pos < 180; pos++)  // меняем положение от 0 градусов до 180 градусов
        {                                   // с шагом 1 градус
            myServo.write(pos);             // команда сервоприводу установки штока в позицию 'pos'
            delay(15);                      // ждем 15 мс пока сервопривод отработает команду
        } 
        for(int pos = 180; pos > 1; pos--)  // меняем положение шткоа от 180 градусов до 0 градусов
        {
            myServo.write(pos);             // команда сервоприводу установки штока в позицию 'pos'
            delay(15);                      // ждем 15 мс пока сервопривод отработает команду
        }
    }
}
но вот какаю задачу мне нужно решить ..
нужно самое главное ввод сигнала .. с выключателя
при срабатывание выключателя СЕРВОПРИВОД доходит до определенного угла и ждет пока выключатель выключат.. как только выключатель выключили сервопривод становиться в исходное положение ..
знаю что для ОПЫТНЫХ мастеров по микроконтроллерам это не доставить хлопот написать программу
ПОМОГИТЕ ПРОШУ ВАС... .хочется уже что то сделать путнее . .а МОЗГА пока не хватает ..
микрашка Attiny13. смысла брать больше не было .. 1го порта достаточно

Re: Осваиваю AVR attiny13

Добавлено: Пн дек 09, 2013 11:30:58
BCluster
Так в чем, собственно, беда? Сервопривод работает нормально сейчас? Про выключатель подробнее. Должно ли сохраняться значение положения СП до нажатия выключателя?

Re: Осваиваю AVR attiny13

Добавлено: Пн дек 09, 2013 12:32:33
ZhukV
Насколько я понял суть проблеммы, то Вам необходимо поставить выключатель.

То есть, логика должна быть такой:

1. Включаем выключатель (нажимаем на кнопку)
2. Сервопривод переходит в определенное значение.
3. Выключаем выключатель (еще раз нажимаем на кнопку)
4. Сервопривод переходит в начальное значение.

Если я верно Вас понял, то Вам необходимо задействовать прерывания в тиньки. Если Вы используете 13(а), то у нее есть прерывание INT0 на порту PB1.
Более подробно об прерываниях можно узнать с видеоурока: http://www.fanatnauki.ru/index.php?opti ... &Itemid=50 Здесь очень хорошо расссказано, что и как.