最初の2つのブログでは、赤外線障害物回避車を組み立て、今回はそのコードを作成しました。
#include <REG52.H>
sbit ENA=P0^0;
sbit IN1=P0^1;
sbit IN2=P0^2;
sbit ENB=P2^0;
sbit IN3=P2^1;
sbit IN4=P2^2;
sbit A1=P1^0;
sbit B2=P1^1;
void delay(int z) {
int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void go() {
ENA=1;
IN1=1;
IN2=0;
ENB=1;
IN3=1;
IN4=0;
}
void back() {
ENA=1;
IN1=0;
IN2=1;
ENB=1;
IN3=0;
IN4=1;
}
void right() {
ENA=1;
IN1=0;
IN2=1;
ENB=1;
IN3=1;
IN4=0;
}
void left()
{
ENA=1;
IN1=0;
IN2=1;
ENB=1;
IN3=1;
IN4=0;
}
void main() {
while(1) {
go();
if(B2==0) {
back();
delay(500);
left();
delay(700);
}
if(A1==0) {
back();
delay(500);
right();
delay(700);
}
}
}
その中で、遅延、左折、右折、前進、後退の機能がそれぞれ定義されており、後でメイン機能で直接呼び出すことができます。
テスト後、パワーバンクを取り付けた後、車は正常に動作します。次のブログでは、簡単に操作できるようにバッテリーボックスをデバイスに接続します。
ご不明な点やエラーがございましたら、お気軽にお問い合わせください。