#include #include #include // set the pins #define output(directions,pin) (directions |= pin) #define input(directions,pin) (directions &= (~pin)) // set to highs and lows for output pins #define high(port,pin) (port |= pin) #define low(port,pin) (port &= (~pin)) // look into pins and bytes #define pin_test(pins,pin) (pins & pin) #define bit_test(byte,bit) (byte & (1 << bit)) // delays #define bit_delay_time 100 // #define bit_delay() _delay_us(bit_delay_time) #define half_bit_delay() _delay_us(bit_delay_time/2) #define PWM_on_delay() _delay_us(5500) // #define PWM_off_delay_slow() _delay_us(2500) // slow #define PWM_off_delay_fast() _delay_ms(1) // fast #define PWM_unit_delay() _delay_us(10) #define PWM_cycle 50 // 8 milliseconds * 50cycles = 400milliseconds #define cycle_count 8 //?? // ports #define serial_port PORTA #define serial_direction DDRA #define serial_pins PINA #define motor_port PORTB #define motor_direction DDRB // pins // motors #define motor1 (1< 100){ force = 100; }else{ force = _strength; } uint8_t cycle; uint8_t count; // 1 cycle = 5ms for(cycle = 0;cycle < 10; ++cycle){ low(motor_port,motor1); low(motor_port,motor2); for(count=0;count650){ motor_force = 100; }else{ motor_force = ((mic_value-10)*70)/(650-10)+30; } run_motor(motor_force); // 50ms; //put_char(&serial_port,led_serial_out,lo); //put_char(&serial_port,led_serial_out,hi); } }