Теперь в нашем онлайн-магазине доступна уникальная книга «BEAM-робототехника. От азов до создания практических устройств», идеально подходящая как для кружков робототехники, так и для самообучения дома. Вы можете приобрести её по привлекательной цене в 699 рублей. Дополнительная информация о книге доступна на нашем сайте. Также в ассортименте нашего онлайн-магазина представлены готовые наборы для сборки роботов, с помощью которых ваш ребенок сможет легко собрать своего первого робота, следуя нашим подробным инструкциям. Перейти в магазин


[ Раскрыть online-чат / Закрыть ] · [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: nightmare, Huntswarrior, Aleks_Crow  
Форум » Программирование микроконтроллеров AVR, PIC » Учимся программированию микроконтроллеров » Логика работы программы (*icon-1*)
Логика работы программы
Отправлено 29.03.2011 - 10:391
Администраторы
3417 сообщений
Мужчина
Всем привет !
Я незнаю почему, может надо спать щас а я пытаюсь для МК проограмму написать... Вообщем логика работы пррограммы такая:

Робот. Поехал:
1. Едем прямо пока:
а) нету препятствия
б) нету линии
2. Едем прямо пока:
а) есть препятствие
б) нету линии
3. Едем назад пока:
а) есть препятствие
б) есть линия
4. Едем назад пока:
а) есть нет препятствия
б) есть линия

Что накодил то:

Code
while(1)   
{     
        
       
       
     if (PINA.0==0)                
        {
            
          if (PINA.1==1)
              {
                   servo1_position(1800);   
                   servo2_position(1200);     
                     
                  // servo1_position(1200);   
                  // servo2_position(1800);     
            
              }
        }   
          
     if (PINA.0==1)                  
        {
           
          if (PINA.1==1)
             {
                   servo1_position(1800);   
                   servo2_position(1200);    
             }
        }   
          
     else
     {     
     if (PINA.0==1)                   
        {
           
          if (PINA.1==0)
             {
                     
                   servo1_position(1200);   
                   servo2_position(1800);     
                     
                   delay_ms(500);
         
         
                   servo1_position(2000);   
                   servo2_position(1500);
                     
                   delay_ms(20);   
             }
        }     
          
       }   
      }    
        
   }

Судя по коду...логика другая =))

Добавлено (29.03.2011, 10:39)
---------------------------------------------
Полный код: http://codepad.org/FqeZ0uqH



Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
34
Отправлено 29.03.2011 - 17:572
Администраторы
3417 сообщений
Мужчина
Робот для кегельринга.

На борту два цифровых датчика-линии и бампер.

Суть: стоим вертимся на месте и пока не попадется в поле зрения предмет. Как только он попадается едем и тараним его до тех пор пока не появилась линия. Линия появилась-едем назад. Крутимся снова до другой цели...



Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
34
Отправлено 29.03.2011 - 20:423
Начальная группа
1798 сообщений
Мужчина
Code

while(1){
servo1_position(800);
servo2_position(2000);
while(!DALNOMER);
servo1_position(2000);
servo2_position(2000);
while(!LINE_SENSOR);
servo1_position(800);
servo2_position(800);
delay_ms(2000);
}


Профиль Личное сообщение Дом. страница icq Skype
38
Отправлено 29.03.2011 - 20:444
Администраторы
3417 сообщений
Мужчина
nightmare,
Еще вариант:

Code
while(1)  
{    
    if(PINA.1)   //íåò ëèíèè
    {
         if(PINA.0)  //åñòü ïðåïÿäñòâèå
         {
                 // âïåðåä
         }
         else        //íåò ïðåïÿäñòâèÿ
         {        
                 // âðàùàòüñÿ
         }
    }
    else         // åñòü ëèíèÿ
    {
         //íàçàä
    }
//}

Добавлено (29.03.2011, 20:44)
---------------------------------------------
wacko



Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
34
Отправлено 29.03.2011 - 20:495
Начальная группа
1798 сообщений
Мужчина
С кодировкой проблемы...
Да и без условий можно обойтись.
PS: Нет ничего эффективнее чем езда по спирали smile


Профиль Личное сообщение Дом. страница icq Skype
38
Отправлено 31.03.2011 - 11:376
Администраторы
3417 сообщений
Мужчина
Мой пример работает. Только надо настроить некоторые детали =)

Добавлено (29.03.2011, 23:42)
---------------------------------------------
Почему он так глючно на коробку реагирует ? - Потому, что она почти черная, и он реагирует только на ее края, и бывает промахивается tongue

Добавлено (31.03.2011, 11:37)
---------------------------------------------
happy



Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
34
Отправлено 31.03.2011 - 20:517
Начальная группа
1798 сообщений
Мужчина


Профиль Личное сообщение Дом. страница icq Skype
38
Форум » Программирование микроконтроллеров AVR, PIC » Учимся программированию микроконтроллеров » Логика работы программы (*icon-1*)
  • Страница 1 из 1
  • 1
Поиск: