void left(int rspeed){ motor0(rspeed); motor1(0xFF); PTT_PTT3 = 1; //Motor L1 PTT_PTT5 = 1; //Motor L2 PTT_PTT4 = 0; //Motor R1 PTT_PTT6 = 1; //Motor R2 }
void leftManual(int rspeed, int lspeed){ motor0(rspeed); motor1(lspeed); PTT_PTT3 = 1; //Motor L1 PTT_PTT5 = 0; //Motor L2 PTT_PTT4 = 0; //Motor R1 PTT_PTT6 = 1; //Motor R2 }
////////////// // Movement // ////////////// void stop() { motor0(0xFF); motor1(0xFF); PTT_PTT3 = 1; //Motor L1 PTT_PTT5 = 1; //Motor L2 PTT_PTT4 = 1; //Motor R1 PTT_PTT6 = 1; //Motor R2 }
void forward(int speed) { motor0(speed); motor1(speed); PTT_PTT3 = 0; //Motor L1 PTT_PTT5 = 1; //Motor L2 PTT_PTT4 = 0; //Motor R1 PTT_PTT6 = 1; //Motor R2 }
void back(int speed){ motor0(speed); motor1(speed); PTT_PTT3 = 1; //Motor L1 PTT_PTT5 = 0; //Motor L2 PTT_PTT4 = 1; //Motor R1 PTT_PTT6 = 0; //Motor R2 }
int main() { // set each phase to be 0.5 seconds long, with an ammplitude of 100% MotorControl motor1(D4, 0.5, 0.5, 0.5, 0.5, 1); motor1.start(); while(1) { motor1.run(); // run other code here (check sensors, change motor cycle parameters) } }
void main(void) { PLL_init(); // set system clock frequency to 24 MHz ad0_enable(); // enable a/d converter 0 ad1_enable(); // enable a/d converter 1 led_enable(); seg7_disable(); servo54_init(); lcd_init(); // enable lcd motor1_init(); // enable 8-bit pwm1 for computer fan while(1) { for (width = 3000; width < 14500; width = width + 150) { flame = ad0conv(3); // read flame sensor output on channel 3 adc0 range = ad0conv(5); // read range sensor output on channel 7 adc1 set_lcd_addr(0x40); if (range > 550) { type_lcd("Flame is near! "); } else { type_lcd("Out of range "); } set_servo54(width); ms_delay(10); if (flame > 1000) { set_lcd_addr(0x00); ms_delay(10); type_lcd("Flame Detected! "); if (range > 550) { ms_delay(10); //Turn the motor on for 8 seconds set_lcd_addr(0x40); ms_delay(10); type_lcd("Flame is near! "); ms_delay(10); leds_on(0b11111000); //Motor is on ms_delay(8000); motor1(speed); ms_delay(10); } } else { leds_on(0b11111100); //Motor is off set_lcd_addr(0x00); type_lcd("No Flame "); } ms_delay(10); } } }
void set_rgb_led(char r, char g, char b){ motor0(r); motor1(g); motor2(b); }
void motor1toe(){ motor1(1,3); }
void motor1open(){ motor1(0,3); }
void stop(){ motor0(127); motor1(127); }
void move(u08 dir) { motor0(dir); motor1(dir); }
void RedBot::move(float power) { motor0(power); motor1(power); }
void turnOffCollector() { motor1(127); motor0(127); }
void turnOnCollector() { motor1(SHOOTER_SPEED); delayMs(3000); motor0(COLLECTOR_SPEED); }
void remote_controlled(void) { /*¨Parts: -Leds (L) -Motors (M) -servos (S) -complete movement (R) */ char part; int opt1=0; int opt2=0; int opt3=0; //scanf("%1c%1i%3i%3i",&part,&opt1,&opt2,&opt3); scanf("%1c%1i%3i",&part,&opt1,&opt2); switch (part) { /* Motors M+#of motor + speed (99 to -99) */ case 'M': switch (opt1) { case 1: motor1(opt2); break; case 2: motor2(opt2); break; case 3: motor3(opt2); break; case 4: motor4(opt2); break; } break; case 'R': move(opt2,opt3); break; case 'S': switch(opt1) { case 1: pwm_update(SERVO_0,opt2); break; case 2: pwm_update(SERVO_1,opt2); break; case 3: pwm_update(SERVO_2,opt2); break; case 4: pwm_update(SERVO_3,opt2); break; } break; /* Leds, L + # of led + option L1000 turn off led 1 L1001 turn on led 1 L1002 toggle led 1 */ case 'L': switch (opt1) { case 1: switch(opt2) { case 0: ioport_set_pin_level(LED1,0); break; case 1: ioport_set_pin_level(LED1,1); break; case 2: ioport_toggle_pin_level(LED1); break; } break; case 2: switch(opt2) { case 0: ioport_set_pin_level(LED2,0); break; case 1: ioport_set_pin_level(LED2,1); break; case 2: ioport_toggle_pin_level(LED2); break; } break; case 3: switch(opt2) { case 0: ioport_set_pin_level(LED3,0); break; case 1: ioport_set_pin_level(LED3,1); break; case 2: ioport_toggle_pin_level(LED3); break; } break; case 4: switch(opt2) { case 0: ioport_set_pin_level(LED4,0); break; case 1: ioport_set_pin_level(LED4,1); break; case 2: ioport_toggle_pin_level(LED4); break; } break; case 5: switch(opt2) { case 0: ioport_set_pin_level(LED5,0); break; case 1: ioport_set_pin_level(LED5,1); break; case 2: ioport_toggle_pin_level(LED5); break; } break; case 6: switch(opt2) { case 0: ioport_set_pin_level(LED6,0); break; case 1: ioport_set_pin_level(LED6,1); break; case 2: ioport_toggle_pin_level(LED6); break; } break; } // case 'M': // break; // // case 'S': // break; // // case 'R': // break; } }
int main() { usartInit(57600); usartEnableReceiver(); usartEnableTransmitter(); usartStdio(); setBit(DDRB, M1_DIR); setBit(DDRD, M1_PWM); setBit(DDRD, M2_DIR); setBit(DDRD, M2_PWM); clrBit(PORTB, M1_DIR); clrBit(PORTD, M1_PWM); clrBit(PORTD, M2_PWM); clrBit(PORTD, M2_DIR); timer0FastPWMMaxMode(); timer0ClockPrescaller64(); timer0OC0ANonInvertedMode(); timer0OC0BNonInvertedMode(); timer0SetCompareAValue(0); timer0SetCompareBValue(0); timer0DeactivateCompareAInterrupt(); timer0DeactivateCompareBInterrupt(); timer2ClockPrescaller256(); timer2NormalMode(); timer2OC2AOff(); timer2OC2BOff(); timer2ActivateOverflowInterrupt(); i2c_init(); adxl345_init(); l3g4200d_init(); l3g4200d_setoffset(0.11, -1.71, -0.46); //l3g4200d_settemperatureref(); PID_init(&PID, 15,0.2,1, 0); PID_SetMode(&PID, 1); PID_SetOutputLimits(&PID, -255, 255); PID.mySetpoint = 0; motor1(0); motor2(0); // printf("\e[1;1H\e[2J"); // printf("STARTED!\r\n"); // _delay_ms(200); // motor1(120); // printf("Motor1 = 120\r\n"); // _delay_ms(500); // motor1(-120); // printf("Motor1 = -120\r\n"); // _delay_ms(500); // motor1(120); // printf("Motor1 = 120\r\n"); // _delay_ms(500); // motor1(0); // printf("Motor1 = 0\r\n"); sei(); while(1); return 0; }
void RedBot::move(float powerLeft, float powerRight) { motor0(powerLeft); motor1(powerRight); }