マイクロコントローラーはAVRであり、その中のプロセッサーはATMEGA8です。黒い色を踏襲した作品を書きました。それは次のようなものです:
#include<avr/io.h>
#include<util/delay.h>
int main()
{
int rs,ls; // denotes the right sensor and left sensor respectively
DDRC=0x00; // DENOTES THAT WE TAKE INPUT FROM THE SENSER
DDRB=0xFF; // DENOTES THAT PORT IS MEANT FOR THE OUTPUT FROM THE MOTOR
while(1) {
ls=PINC&0b0000001; // last bit on
rs=PINC&0b0001000; // 1st bit on
if((ls==0b0000001)&(rs==0b0001000))
PORTB=0b00010010; // forward
if((ls==0b0000001)&(rs==0b0000000))
PORTB=0b00000010; // right
if( (ls==0b0000000) & (rs==0b0001000))
PORTB=0b00010000; // left
if((ls==0b0000000)&(rs==0b0000000) )
PORTB=0b00010010; // stop
}
}
私はエッジ回避者のために書き込もうとしています。黒色を検出するのと同じセンサーがあります。しかし今、それらのセンサーはテーブルの上を移動している間、穴を避けなければなりません。私はこれをどのように行うことができるかについて決めることができません。
注:下に何もない場合、センサーはピットを検出できます。しかし、どうすればコードの記述に問題がありますか。