Форум myROBOT.ru » Шаг за шагом » Программирование микроконтроллеров » Помогите с кодом для Attiny2313

Страниц (1): [1]
 

1. DimaBernst - 24 Декабря, 2016 - 11:39:21 - перейти к сообщению
Доброго времени суток уважаемые форумчане! С особенностями работы с микроконтроллерами только начал разбираться(( А запчастьки для станочка приплыли уже. Помогите пожалуйста с прошивкой. задача такая стоит:
1 кнопка старт кода,
2 кнопка добавить 1 цикл,
3 кнопка добавить 10 циклов,
4 кнопка остановка кода и возврат в исходное положение,
цикл:
1)подача напряжения на транзистор №1 до срабатывания ограничителя,
2)подача напряжения на транзистор №2 таймер 10 секунд,
3)подача напряжения на транзистор №3 до срабатывания ограничителя
4)таймер 1 секунда.
Надеюсь я правильно понимаю что дрельку можно запускать подавая напряжение включая транзистор?
Зарание благодарен за любую помощь!
С уважением,
Дмитрий.
2. Predator - 12 Января, 2017 - 12:39:46 - перейти к сообщению
1 и 4 кнопка старт кода - суть есть аппаратная, нога reset.
дальше например:
CODE:

while (1)
{
but_pres=0;
while(but_pres==0)
{
but_pres=get_button()
} //будет стоять и ждать кнопки.
if (but_pres==1){drill(1);}
if (but_pres==2){drill(10);}
}

void drill (char count_drills)
{
for (i=0; i<count_drills;i++)
{
IOA0=1;
while(IOA5==0) {}; //ждать ограничителя
IOA1=1; //IOA0 отключать не надо?
delay_ms(10000);
IOA2=1;
while(IOA6==0) {}; //ждать ограничителя
delay_ms(1000);
}
}


сие есть код примерный, для формирования общей стратегии...
например IOA0=1; может быть PORTA(0)=1; или еще как нибудь (всё зависит от компилятора и библиотек), delay_ms - тоже может называться по другому, а get_button делать надо.

теперь за транзистор: если это маленький желтый мотор-редуктор, то его можно запускать большим транзистором, если это дрель на 220, то ее можно запускать симистором ....