roboforum.ru

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

 

Вот и мой первый робот!

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Re: Вот и мой первый робот!

Сообщение space » 15 июн 2011, 13:59

Ок, значит не зря платку делал, кому то всё таки пригодилась)))
Мне оформлние не интересно)) Код я и так пойму :)

Нафик завязывать надо со статьями и робота своего продолжать делать, которого забросил)) И прикупить модуль блютуз 8)
Аватара пользователя
space
 
Сообщения: 548
Зарегистрирован: 17 июн 2007, 23:44
Откуда: Тула
прог. языки: Bascom AVR Basic, CodeVisionAVR
ФИО: Замотаев Кирилл Игоревич

Re: Вот и мой первый робот!

Сообщение EasyTech » 23 июн 2011, 20:55

поделись секретом, как ты главные циклы пргограмм склеиваешь?! :cry:
Например, как ты тактильные датчики приделал к своему циклу?!
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Вот и мой первый робот!

Сообщение Skyline » 23 июн 2011, 21:15

У меня все начинается с цикла "While, Wend" в котором идет прием команды с пульта, а затем переход к нужной подпрограмме.
Код: Выделить всёРазвернуть
A = 1                                                                           

While A > 0                                               
Getrc5(address , Command)
If Address <> 255 And Command <> 255 Then
Command = Command And &B01111111
End If
If Command = 1 Then : P = 1 : Waitms 100 : Gosub 1       
Elseif Command = 2 Then : P = 2 : Waitms 100 : Gosub 2   
Elseif Command = 3 Then : P = 3 : Waitms 100 : Gosub 3   
End If
Wend
Аватара пользователя
Skyline
 
Сообщения: 278
Зарегистрирован: 12 май 2010, 13:30
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич

Re: Вот и мой первый робот!

Сообщение EasyTech » 24 июн 2011, 09:08

А как ты указываешь к чему перейти?
ты что просто цикл другой программы пишешь вне цикла своей и делаешь к ней переход?

Добавлено спустя 15 минут 54 секунды:
Слушай подскажи:
Код: Выделить всёРазвернуть
Do

   Gosub Прием_rc5
   If Command = 255 Then
      Gosub Стоп
       Waitms 0
  Elseif Command = 33 Then : Gosub Прямо : Wait 5000 : Gosub Вправо : Wait 5000
  Elseif Command = 32 Then : Gosub Назад : Wait 5000 : Gosub Влево : Wait 5000
    End If
Loop

Мне нужно сделать так чтобы он ехал вперед 5 сек., потом развернулся вправо и тоже ехал 5 сек.
ЗАписал это в цикле, а он едит только прямо :(
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Вот и мой первый робот!

Сообщение Skyline » 24 июн 2011, 10:39

Переход осуществляется следующим образом, например к программе 1:
Код: Выделить всёРазвернуть
1:
P = 1 
...
сама программа
...
Gosub 1

Что касается твоего кода:
"Wait" - секунды
"Waitms" - миллисекунды
Получается у тебя задержка 5000 секунд!)
Аватара пользователя
Skyline
 
Сообщения: 278
Зарегистрирован: 12 май 2010, 13:30
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич

Re: Вот и мой первый робот!

Сообщение EasyTech » 24 июн 2011, 14:51

Skyline писал(а):Переход осуществляется следующим образом, например к программе 1:
Код: Выделить всёРазвернуть
1:
P = 1 
...
сама программа
...
Gosub 1

Что касается твоего кода:
"Wait" - секунды
"Waitms" - миллисекунды
Получается у тебя задержка 5000 секунд!)

а хахаха)) точно))
а вот такую тонкость ты не знаешь:
Библиотека $lib "lcd4.lbx" ставиться только на порты B?

Добавлено спустя 28 минут 35 секунд:
Я так понимаю ты нажимаешь на кнопку 1 пульта и выполняется программа 1 ?

Добавлено спустя 6 минут 41 секунду:
Тоесть внутри цикла главное есть "вложенные циклы?" и к ним идет переход? :lol:
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Вот и мой первый робот!

Сообщение Skyline » 24 июн 2011, 14:56

EasyTech писал(а):а вот такую тонкость ты не знаешь:
Библиотека $lib "lcd4.lbx" ставиться только на порты B?

В BASCOMе данная библиотека работает с портом "B", но по-моему можно как-то менять и работать с другими портами.
EasyTech писал(а):Я так понимаю ты нажимаешь на кнопку 1 пульта и выполняется программа 1 ?

Да.
Аватара пользователя
Skyline
 
Сообщения: 278
Зарегистрирован: 12 май 2010, 13:30
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич

Re: Вот и мой первый робот!

Сообщение EasyTech » 24 июн 2011, 15:23

Проверь пожалуйста, а то что то не компилирует а ошибки я не вижу никакой(
Код: Выделить всёРазвернуть
Do
While A > 0                                                ' ждем команды с пульта и переходим к соответствующей программе
  Getrc5(address , Command)
   If Address <> 255 And Command <> 255 Then
   Command = Command And &B01111111
   End If
  If Command = 1 Then : P = 1 : Waitms 100 : Gosub 1        'Управление через RC5 пульт
  Elseif Command = 2 Then : P = 2 : Waitms 100 : Gosub 2    ' Используется ШАРП
   End If
Wend
1:
'P=1
Gosub Прямо
Start Adc : Vout = Getadc(2)                                'Sharp connected for example to PA=0(ADC0)
If Vout > 240 Then : Gosub Влево : End If : Loop Until Vout < 240 : Gosub Прямо
If Vout > 240 Then : Gosub Вправо : End If : Loop Until Vout < 240 : Gosub Прямо
Gosub 1
2:
'P=2

   Gosub Прием_rc5
   If Command = 255 Then
      Gosub Стоп
       Waitms 0
  Elseif Command = 33 Then
      Gosub Прямо
       Waitms 0
   Elseif Command = 32 Then
      Gosub Назад
       Waitms 0
   Elseif Command = 17 Then
      Gosub Влево
       Waitms 0
   Elseif Command = 16 Then
      Gosub Вправо
       Waitms 0
       End If
Gosub 2
Loop
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Вот и мой первый робот!

Сообщение Skyline » 24 июн 2011, 15:53

Ошибки есть и довольно много. Исправив должно выглядеть как-то так:
Код: Выделить всёРазвернуть
A = 1
While A > 0                                               
  Getrc5(address , Command)
   If Address <> 255 And Command <> 255 Then
   Command = Command And &B01111111
   End If
  If Command = 1 Then : P = 1 : Waitms 100 : Gosub 1       
  Elseif Command = 2 Then : P = 2 : Waitms 100 : Gosub 2   
   End If
Wend

1:
P = 1
Gosub Прямо
Start Adc : Vout = Getadc(2)                                'Sharp connected for example to PA=0(ADC0)
If Vout > 240 Then : Gosub Влево : End If : Loop Until Vout < 240 : Gosub Прямо
If Vout > 240 Then : Gosub Вправо : End If : Loop Until Vout < 240 : Gosub Прямо
Gosub 1

2:
P = 2
Do
   Gosub Прием_rc5
   If Command = 255 Then
      Gosub Стоп
       Waitms 0
  Elseif Command = 33 Then
      Gosub Прямо
       Waitms 0
   Elseif Command = 32 Then
      Gosub Назад
       Waitms 0
   Elseif Command = 17 Then
      Gosub Влево
       Waitms 0
   Elseif Command = 16 Then
      Gosub Вправо
       Waitms 0
       End If
Return
Gosub 2

Ты переменные все ввел: "P", "A",...
Да и пытайся разбираться сам! Ни кто код за тебя писать не будет и вечную помощь оказывать тоже!
Аватара пользователя
Skyline
 
Сообщения: 278
Зарегистрирован: 12 май 2010, 13:30
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич

Re: Вот и мой первый робот!

Сообщение EasyTech » 24 июн 2011, 17:27

Отлично, я программу сделал))
Указал переменную P As Integer
Положил туда число 0 и всё заработало

Добавлено спустя 17 минут 45 секунд:
подскажи мне по какому принципу подключать вот этот бампера, и какой принцип программы:
http://robozone.su/2008/04/09/modul-ik- ... p2136.html
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Вот и мой первый робот!

Сообщение Skyline » 24 июн 2011, 19:56

Слушай ни чего сложного там нет! И принцип подключения и программа там есть! Разбирайся!
Skyline писал(а):Ни кто код за тебя писать не будет и вечную помощь оказывать тоже!
Аватара пользователя
Skyline
 
Сообщения: 278
Зарегистрирован: 12 май 2010, 13:30
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич

Re: Вот и мой первый робот!

Сообщение EasyTech » 24 июн 2011, 22:42

Что ты будешь делать дальше, есть идеи в реализации робота?

ЗЫ. Я не прошу за меня писать код :) Я и сам всё прекрасно понимаю :roll:
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Вот и мой первый робот!

Сообщение Skyline » 24 июн 2011, 22:52

EasyTech писал(а):Что ты будешь делать дальше, есть идеи в реализации робота?

Подключить BT-модуль для управления с компа и ИК-бампера для улучшения алгоритма объезда препятствий.
Аватара пользователя
Skyline
 
Сообщения: 278
Зарегистрирован: 12 май 2010, 13:30
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич

Re: Вот и мой первый робот!

Сообщение EasyTech » 24 июн 2011, 22:53

Skyline писал(а):
EasyTech писал(а):Что ты будешь делать дальше, есть идеи в реализации робота?

Подключить BT-модуль для управления с компа и ИК-бампера для улучшения алгоритма объезда препятствий.

Управление с компа будет софт какой то ?
EasyTech
 
Сообщения: 239
Зарегистрирован: 15 май 2011, 19:19
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: WinAVR C, C#, HTML+СSS.
ФИО: Лёва

Re: Вот и мой первый робот!

Сообщение Skyline » 24 июн 2011, 22:56

Управление думаю будет через терминалку.
Аватара пользователя
Skyline
 
Сообщения: 278
Зарегистрирован: 12 май 2010, 13:30
Откуда: Уральск-Самара
Skype: sky-jap
прог. языки: Bascom AVR Basic
ФИО: Полулях Сергей Валерьевич

Пред.След.

Вернуться в Наши проекты

Кто сейчас на конференции

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

Mail.ru counter