This is an old revision of the document!
Robotplatvorm võib olla varustatud erinevate seadmetega:
Pilt 1 Robot manipulaatoriga
Pilt 2 Robot IR radariga
Lihtne navigeerimine
#define F_CPU 14745600UL //CPU Frequency (influences delay function) #include <avr/io.h> #include <util/delay.h> int init(){ DDRD = 0xFF;// set port direction (output) PORTD = 0x00;// initialize port //Pamperi lülitid DDRC = 0x00;// set port direction (input) PORTC = 0x00;// initialize port DDRA = 0x00;// set port direction (input) PORTA = 0x00;// initialize port DDRB = 0xFF;// set port direction (output) PORTB = 0x00;// initialize port DDRG = 0xFF; // set port direction (output) PORTG = 0x00;// initialize port - pins-s low return 0; } int edasi(){ PORTD=0x02; //vasak edasi PORTB=0x80; //parem edasi return 0; } int tagasi(){ PORTD=0x01; //vasak tagasi PORTB=0x10; //parem tagasi return 0; } int stop(){ PORTD=0x00; //vasak stop PORTB=0x00; //parem stop return 0; } int poore_vasak(){ PORTD=0x01; //vasak tagasi PORTB=0x80; //parem edasi return 0; } int poore_parem(){ PORTD=0x02; //vasak edasi PORTB=0x10; //parem tagasi return 0; } int main (void){ init(); while(1){ edasi(); if (bit_is_set(PINA, 0)||bit_is_set(PINA, 1)) { tagasi(); _delay_ms(500); poore_parem(); _delay_ms(1000); } if (bit_is_set(PINA, 2)||bit_is_set(PINA, 3)) { tagasi(); _delay_ms(500); poore_vasak(); _delay_ms(1000); } if (bit_is_set(PINC, 4)||bit_is_set(PINC, 5)||bit_is_set(PINC, 6)||bit_is_set(PINC, 7)) { stop(); _delay_ms(1000); } } }