форум робототехников: ‘орум роботов и робототехники

‘орум роботов и робототехники

‘орум про роботов и робототехнике. ќбсуждаем, конструируем из подручных средств или на 3D-принтере и программируем роботов на ардуино и из лего. –ассуждаем о развитие науки и техники в промышленности –оссии, японии и других стран! ¬ысказывайте своЄ мнение о стать€х, оставл€йте комментарии на тему искусственного интеллекта, LEGO конструировани€. «адавайте любые вопросы и ставьте задачи. ¬месте будем их решать! ƒелитесь наработками своих роботов!

ѕоискѕоиск  
—егодн€: 04.07.2020 - 08:25:52
—траницы:  1  
ќбъ€вление участникам робототехнического форума

”важаемые гости и участники робототехнического форума. ѕомогайте друг другу, отвечайте на интересующие ¬ас вопросы.
ƒоступ дл€ отправки сообщений и создани€ тем открыт всем посетител€м без регистрации.

јвтор—ообщение

Ejik

новичок




—татистика:
“ем создано: 0
—ообщений: 0
–епутаци€: 0 ±
Ќарушени€: 0
ƒобрый день!
«адача в ROBOTC написать простенькое ѕќ движени€ робота вперед-назад. ƒл€ контрол€ перемещени€ необходимо использовать датчик оборотов.
ѕеред началом движени€ обнул€ем датчик оборотов, синхронизуем моторы B и — и устанавливаем одинаковую мощность.
√олову сломал, почему же после окончани€ движени€ по первому циклу while, прога дальше не выполн€етс€. —пасибо
¬от код:
task main()

{

nMotorEncoder[motorB]=0;
nMotorEncoder[motorC]=0;
nSyncedMotors=synchBC;
nSyncedTurnRatio = 100;
motor[motorB] = 30;
while(nMotorEncoder[motorB] < 200)
{
motor[motorB] = 30;
}

motor[motorB]=-100;
nMotorEncoder[motorB]=0;
nMotorEncoder[motorC]=0;
while(nMotorEncoder[motorB] < 200)
motor[motorB] = -30;

}
—ообщение # 1 26.08.13 - 13:00:49

Nick

N
гость-робототехник
«дравствуйте, доброго врем€ни суток! Ќедавно начал заниматьс€ программированием роботов на RobotC и сталкнулс€ с некоторой проблемой. ” мен€ есть таймер, который должен при определенных услови€х останавливатьс€, при иных продолжать счет с момента остановки (условие провер€етс€ бесконечно).
¬от код.
#pragma config(Sensor, S1, sonarSensor, sensorSONAR)

task main()
{
long cm, sec;

for(;;)
{
sec = time1[T1];

if(SensorValue[sonarSensor] <= 20)
{
motor[motorA] = -50;
motor[motorB] = 60;
motor[motorC] = 60;
}
else
{
motor[motorA] = 0;
motor[motorB] = 0;
motor[motorC] = 0;
}
sec = sec/1000;
cm = sec * 10;
nxtDisplayBigStringAt(0, 31, "%d", cm);
}


}
—ообщение # 2 06.01.14 - 22:17:31

Nick

N
гость-робототехник

Ejik 26.08.13 в 13:00 пишет:
ƒобрый день!
«адача в ROBOTC написать простенькое ѕќ движени€ робота вперед-назад. ƒл€ контрол€ перемещени€ необходимо использовать датчик оборотов.
ѕеред началом движени€ обнул€ем датчик оборотов, синхронизуем моторы B и — и устанавливаем одинаковую мощность.
√олову сломал, почему же после окончани€ движени€ по первому циклу while, прога дальше не выполн€етс€. —пасибо
¬от код:
task main()

{

nMotorEncoder[motorB]=0;
nMotorEncoder[motorC]=0;
nSyncedMotors=synchBC;
nSyncedTurnRatio = 100;
motor[motorB] = 30;
while(nMotorEncoder[motorB] < 200)
{
motor[motorB] = 30;
}

motor[motorB]=-100;
nMotorEncoder[motorB]=0;
nMotorEncoder[motorC]=0;
while(nMotorEncoder[motorB] < 200)
motor[motorB] = -30;

}

Ч ÷итата


ѕотому что первый while действует бессконечно, т.к. у теб€ нет инкрементировани€ мощности мотора или вообще ее изменений в цикле.
—ообщение # 3 06.01.14 - 22:34:51

Educube

новичок




—татистика:
“ем создано: 0
—ообщений: 4
–епутаци€: 4 ±
Ќарушени€: 0
Nick, оберните последнюю команду (motor[motorB] = -30;) фигурными скобками и смените условие в while на nMotorEncoder[motorB] > -200, у вас же отрицательные значени€ энкодера будут.
—ообщение # 4 16.01.14 - 19:59:39

pavel

P
гость-робототехник
 ак запрограммировать манипул€тор на 3 серводвигател€х в ROBOTC?
—ообщение # 5 16.03.14 - 18:21:38
lego mindstorms nxt 2.0 программирование робота :ѕредыдуща€ тема—ледующа€ тема: моделирование робота дл€ сбора инородных объектов дл€ дальне
—траницы:  1  

—ообщение
»м€ E-mail
—ообщение

Ќажмите на точку возле имени дл€ обращени€ к участнику

—майлы:
≈щЄ смайлы
         
«ащитный код: (введите цифры, которые на синем фоне)
   
Powered by WR-Forum Professional © 2.2

≈сли вы хотите видеть на нашем сайте больше статей то кликните ѕоделитьс€ в социальных сет€х! —пасибо!
—мотрите также:

ќбратите внимание полезна€ информаци€.