View unanswered posts | View active topics It is currently Thu Oct 23, 2014 5:37 pm






Reply to topic  [ 22 posts ]  Go to page Previous  1, 2
[Programming] 4 autonomous in buttons 
Author Message
Rookie
User avatar

Joined: Mon Sep 02, 2013 12:54 pm
Posts: 12
Post Re: [Programming] 4 autonomous in buttons
dont work i using a competition file only works the user control

_________________
Team 7472-C CoBaCu

Image


Tue Jan 21, 2014 4:43 pm
Profile
Site Admin
Site Admin
User avatar

Joined: Tue Oct 09, 2012 10:34 am
Posts: 192
Post Re: [Programming] 4 autonomous in buttons
How are you selecting between autonomous or user control mode? Like one of the ways described in this document?

_________________
Ryan Cahoon
CMU Robotics Academy
RVW Software Developer

Robot Potato Head; Virtual NXT


Tue Jan 21, 2014 4:56 pm
Profile
Rookie
User avatar

Joined: Mon Sep 02, 2013 12:54 pm
Posts: 12
Post Re: [Programming] 4 autonomous in buttons
Using Vex programming kit in the robot c with the debugger window.

_________________
Team 7472-C CoBaCu

Image


Tue Jan 21, 2014 5:01 pm
Profile
Site Admin
Site Admin
User avatar

Joined: Tue Oct 09, 2012 10:34 am
Posts: 192
Post Re: [Programming] 4 autonomous in buttons
Make sure you press the Disabled button before you start your program. Also, switch back to
Code:
while(bIfiRobotDisabled)

while(bIfiRobotDisabled || bIfiAutonomousMode) isn't correct.

This works for me when I tested.

_________________
Ryan Cahoon
CMU Robotics Academy
RVW Software Developer

Robot Potato Head; Virtual NXT


Tue Jan 21, 2014 5:30 pm
Profile
Rookie
User avatar

Joined: Mon Sep 02, 2013 12:54 pm
Posts: 12
Post Re: [Programming] 4 autonomous in buttons
I think the program is right but in what line put the code you give me ?
Code:
while(bIfiRobotDisabled)

I don't know really where put in.
Here is a video:


:oops:

_________________
Team 7472-C CoBaCu

Image


Tue Jan 21, 2014 9:37 pm
Profile
Site Admin
Site Admin
User avatar

Joined: Tue Oct 09, 2012 10:34 am
Posts: 192
Post Re: [Programming] 4 autonomous in buttons
Phoenix wrote:
in what line put the code you give me ?

It replaces the while statement in pre_auton. Here's the code you gave with the line replaced:
Code:
#pragma config(Sensor, dgtl1,  automata1,      sensorTouch)
#pragma config(Sensor, dgtl2,  automata2,      sensorTouch)
#pragma config(Sensor, dgtl3,  automata3,      sensorTouch)
#pragma config(Sensor, dgtl4,  automata4,      sensorTouch)
#pragma config(Motor,  port1,           ruedaizquierda, tmotorVex393, openLoop)
#pragma config(Motor,  port2,           linealizquierdo, tmotorVex393, openLoop)
#pragma config(Motor,  port3,           torreizquierda, tmotorVex393, openLoop)
#pragma config(Motor,  port4,           torrederecha,  tmotorVex393, openLoop)
#pragma config(Motor,  port5,           ruedafrented,  tmotorVex393, openLoop)
#pragma config(Motor,  port6,           dedos,         tmotorVex393, openLoop)
#pragma config(Motor,  port7,           brazo,         tmotorVex393, openLoop)
#pragma config(Motor,  port8,           ruedafrentei,  tmotorVex393, openLoop)
#pragma config(Motor,  port9,           linealderecho, tmotorVex393, openLoop)
#pragma config(Motor,  port10,          ruedaderecha,  tmotorVex393, openLoop)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//

#pragma platform(VEX)

//Competition Control and Duration Settings
#pragma competitionControl(Competition)
#pragma autonomousDuration(20)
#pragma userControlDuration(120)

#include "Vex_Competition_Includes.c"   //Main competition background code...do not modify!
int selectedAutonomous =0;
/////////////////////////////////////////////////////////////////////////////////////////
//
//                          Pre-Autonomous Functions
//
// You may want to perform some actions before the competition starts. Do them in the
// following function.
//
/////////////////////////////////////////////////////////////////////////////////////////

void pre_auton()
{
 selectedAutonomous = 0;

while(bIfiRobotDisabled)

{
   if(SensorValue[automata1])          //azul_dentro...
   {
      selectedAutonomous = 1; // select autonomous mode 1
   }
   if(SensorValue[automata2])          //azul_fuera...
   {
      selectedAutonomous = 2; // select autonomous mode 1
   }
   if(SensorValue[automata3])          //rojo_dentro...
   {
      selectedAutonomous = 3; // select autonomous mode 1
   }
   if(SensorValue[automata4])          //rojo_fuera...
   {
      selectedAutonomous = 4; // select autonomous mode 1
   }

   // add more if statements if you want to add more autonomous modes
}
}

/////////////////////////////////////////////////////////////////////////////////////////
//
//                                 Autonomous Task
//
// This task is used to control your robot during the autonomous phase of a VEX Competition.
// You must modify the code to add your own robot specific commands here.
//
/////////////////////////////////////////////////////////////////////////////////////////


task autonomous()
{
   //AZUL_DENTRO
if (selectedAutonomous == 1)
   {
    motor[ruedaizquierda]=127;
   motor[ruedaderecha]=127;
   motor[ruedafrented]=127;
   motor[ruedafrentei]=127;
   wait1Msec(1000);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;

   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=-127;
   motor[ruedafrented]=-127;
   motor[ruedafrentei]=127;
   wait1Msec(400);
   
   motor[ruedaizquierda]=-127;
   motor[ruedaderecha]=-127;
   motor[ruedafrented]=-127;
   motor[ruedafrentei]=-127;
   wait1Msec(1300);
   
   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=-127;
   motor[ruedafrented]=-127;
   motor[ruedafrentei]=127;
   wait1Msec(700);
   
   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;

   motor[dedos]=127;
   wait1Msec(1300);

   motor[dedos]=0;
   wait1Msec(100);
   
   motor[ruedaizquierda]=-127;
   motor[ruedaderecha]=-127;
   motor[ruedafrented]=-127;
   motor[ruedafrentei]=-127;
   wait1Msec(2100);
   
   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;
   
   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=127;
   motor[ruedafrented]=127;
   motor[ruedafrentei]=127;
   wait1Msec(100);
 
   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=-127;
   motor[ruedafrented]=-127;
   motor[ruedafrentei]=127;
   wait1Msec(700);
   
   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;
   
   motor[ruedaizquierda]=-127;
   motor[ruedaderecha]=-127;
   motor[ruedafrented]=-127;
   motor[ruedafrentei]=-127;
   wait1Msec(1800);
   
   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;
   
   }
 

  //AZUL_FUERA

   else if (selectedAutonomous == 2)
   {
  motor[ruedaizquierda]=127;
   motor[ruedaderecha]=127;
   motor[ruedafrented]=127;
   motor[ruedafrentei]=127;
   wait1Msec(390);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;

   motor[torrederecha]=127/2;
   motor[torreizquierda]=127/2;
   wait1Msec(1500);

   motor[torrederecha]=0;
   motor[torreizquierda]=0;

   motor[ruedaizquierda]=127/2;
   motor[ruedaderecha]=127/2;
   motor[ruedafrented]=127/2;
   motor[ruedafrentei]=127/2;
   wait1Msec(900);

   motor[ruedaizquierda]=-127/2;
   motor[ruedaderecha]=-127/2;
   motor[ruedafrented]=-127/2;
   motor[ruedafrentei]=-127/2;
   wait1Msec(600);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;

   motor[dedos]=127;
   wait1Msec(1800);

   motor[dedos]=0;
   wait1Msec(100);

   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=-127;
   motor[ruedafrentei]=127;
   motor[ruedafrented]=-127;
   wait1Msec(400);

   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=127;
   motor[ruedafrentei]=127;
   motor[ruedafrented]=127;
   wait1Msec(550);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrentei]=0;
   motor[ruedafrented]=0;

   motor[torrederecha]=127/2;
   motor[torreizquierda]=127/2;
   wait1Msec(1000);

   motor[torrederecha]=0;
   motor[torreizquierda]=0;

   motor[ruedaizquierda]=-127;
   motor[ruedaderecha]=127;
   motor[ruedafrentei]=-127;
   motor[ruedafrented]=127;
   wait1Msec(250);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrentei]=0;
   motor[ruedafrented]=0;

   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=127;
   motor[ruedafrentei]=127;
   motor[ruedafrented]=127;
   wait1Msec(200);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrentei]=0;
   motor[ruedafrented]=0;
   }

   //ROJO_DENTRO
   else if (selectedAutonomous == 3)
   {
     motor[ruedaizquierda]=127;
   motor[ruedaderecha]=127;
   motor[ruedafrented]=127;
   motor[ruedafrentei]=127;
   wait1Msec(700);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;

   motor[torrederecha]=127/2;
   motor[torreizquierda]=127/2;
   wait1Msec(600);


   motor[torrederecha]=0;
   motor[torreizquierda]=0;

   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=-127;
   motor[ruedafrented]=-127;
   motor[ruedafrentei]=127;
   wait1Msec(350);

   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=127;
   motor[ruedafrented]=127;
   motor[ruedafrentei]=127;
   wait1Msec(150);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;

   motor[dedos]=127;
   wait1Msec(1200);

   motor[dedos]=0;
   wait1Msec(100);
   }

   //ROJO_FUERA
   else if (selectedAutonomous == 4)
   {
  motor[ruedaizquierda]=127;
   motor[ruedaderecha]=127;
   motor[ruedafrented]=127;
   motor[ruedafrentei]=127;
   wait1Msec(390);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;

   motor[torrederecha]=127/2;
   motor[torreizquierda]=127/2;
   wait1Msec(1500);

   motor[torrederecha]=0;
   motor[torreizquierda]=0;

   motor[ruedaizquierda]=127/2;
   motor[ruedaderecha]=127/2;
   motor[ruedafrented]=127/2;
   motor[ruedafrentei]=127/2;
   wait1Msec(500);

   motor[ruedaizquierda]=-127/2;
   motor[ruedaderecha]=-127/2;
   motor[ruedafrented]=-127/2;
   motor[ruedafrentei]=-127/2;
   wait1Msec(200);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrented]=0;
   motor[ruedafrentei]=0;


   motor[ruedaizquierda]=-127;
   motor[ruedaderecha]=127;
   motor[ruedafrentei]=-127;
   motor[ruedafrented]=127;
   wait1Msec(300);

   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=127;
   motor[ruedafrentei]=127;
   motor[ruedafrented]=127;
   wait1Msec(700);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrentei]=0;
   motor[ruedafrented]=0;

   motor[ruedaizquierda]=127;
   motor[ruedaderecha]=-127;
   motor[ruedafrentei]=127;
   motor[ruedafrented]=-127;
   wait1Msec(500);

   motor[ruedaizquierda]=0;
   motor[ruedaderecha]=0;
   motor[ruedafrentei]=0;
   motor[ruedafrented]=0;
   wait1Msec(500);

   motor[dedos]=127;
   wait1Msec(1800);

   motor[dedos]=0;
   wait1Msec(100);
   }
}

/////////////////////////////////////////////////////////////////////////////////////////
//
//                                 User Control Task
//
// This task is used to control your robot during the user control phase of a VEX Competition.
// You must modify the code to add your own robot specific commands here.
//
/////////////////////////////////////////////////////////////////////////////////////////

task usercontrol()
{
   // User control code here, inside the loop

   while (1==1)
   {
    // ruedas
   motor[ruedaizquierda]=+vexRT[Ch3]+vexRT[Ch1];
   motor[ruedaderecha]=+vexRT[Ch3]-vexRT[Ch1];
   motor[ruedafrentei]=+vexRT[Ch3]+vexRT[Ch1];
   motor[ruedafrented]=+vexRT[Ch3]-vexRT[Ch1];

// torres
if(vexRT[Btn6U]==1)
{
   motor[torreizquierda]=127;
   motor[torrederecha]=127;
}

   else if(vexRT[Btn6D]==1)
{
   motor[torreizquierda]=-127;
   motor[torrederecha]=-127;
}
   else
{
   motor[torrederecha]=0;
   motor[torreizquierda]=0;
}
// dedos
   if(vexRT[Btn5U]==1)
{
   motor[dedos]=127;
}

   else if(vexRT[Btn5D]==1)
{
   motor[dedos]=-127;
}

   else
{
   motor[dedos]=0;
}
//LINEARES

if(vexRT[Btn8U]==1)
{
   motor[linealderecho]=127;
   motor[linealizquierdo]=127;
}
else if(vexRT[Btn8D]==1)
{
   motor[linealderecho]=-127;
   motor[linealizquierdo]=-127;
}
else
{
motor[linealderecho]=0;
motor[linealizquierdo]=0;
}

//BRAZO

if(vexRT[Btn8L]==1)
{
   motor[brazo]=-127;
}
else if(vexRT[Btn8R]==1)
{
   motor[brazo]=127;
}
else
{
   motor[brazo]=0;
}
}
}


Also, make sure you follow this procedure:
  1. Press Disabled
  2. Press Start
  3. Press one of the touch sensors to select autonomous
  4. Press Autonomous
  5. Wait for autonomous routine to complete
  6. Press User Control
  7. Use joysticks to drive the robot

In the video, you press Autonomous before starting your program. This will skip the code that selects the autonomous mode.

_________________
Ryan Cahoon
CMU Robotics Academy
RVW Software Developer

Robot Potato Head; Virtual NXT


Wed Jan 22, 2014 1:47 pm
Profile
Rookie
User avatar

Joined: Mon Sep 02, 2013 12:54 pm
Posts: 12
Post Re: [Programming] 4 autonomous in buttons
Thanks Very much :bigthumb: its work im so fool thanks for all you can closed the threat :lol: :lol:

_________________
Team 7472-C CoBaCu

Image


Wed Jan 22, 2014 2:35 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 22 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  



Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.