ultimatemasashi
2021年02月23日作成 (2021年02月28日更新)
製作品 1545
M5paperで超音波レーダー
M5paperで超音波レーダーを作ってみました。
360度サーボモーターで超音波センサーを回転させます。
液晶で距離とどの方角かを出力します。
M5paperはarduino IDEで開発できます。
↓コードはこちら
#include <M5EPD.h>
int servoPin = 26;
void servoSet(int Angle,int Time) {
int pulseWidth;
int TimeCount;
TimeCount = Time/20;
for(int i=0; i <= TimeCount; i++){
pulseWidth = map(Angle, 0, 180, 544, 2400);
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulseWidth);
digitalWrite(servoPin, LOW);
delayMicroseconds(20000 - pulseWidth);
}
}
int interval = 0;
double distance = 0;
int a = 0 ;
int b = 0 ;
int c = 0 ;
int d = 0 ;
int f = 0 ;
double e = 0 ;
unsigned long duration;
M5EPD_Canvas canvas(&M5.EPD);
void setup() {
pinMode(servoPin, OUTPUT);
pinMode( 25, OUTPUT );
pinMode( 32, INPUT );
M5.begin();
M5.EPD.SetRotation(90);
M5.EPD.Clear(true);
canvas.createCanvas(400, 500);
canvas.setTextSize(4);
//Serial.begin( 9600 );
servoSet(90,100);
}
void loop() {
digitalWrite( 25, HIGH );
delayMicroseconds( 100 );
digitalWrite( 25, LOW );
interval = pulseIn( 32, HIGH );
distance = interval * 0.017;
Serial.println( distance, 1 );
Serial.println("cm");
uint8_t percent = 80;
//b = (3.14*d)/6 ;
a = 200 + distance*cos(b);
c = 330 + distance*sin(b);
b = d ;
f = f+ 1;
if (f <=22 ){ e = 6 ; servoSet(135,12);
}
else{e = -6 ; servoSet(45,12); }
d = d + e ;
canvas.drawCircle(200, 330, 150, BLUE);
canvas.drawCircle(200, 330, 100, BLUE);
canvas.drawCircle(200, 330, 50, BLUE);
canvas.drawString(String(distance) , 10, 10);
canvas.drawString(String(d) , 350, 500);
canvas.drawString("cm" , 300, 10);
canvas.pushCanvas(0,300,UPDATE_MODE_A2);
if (f == 24 ) { M5.EPD.Clear(WHITE);
servoSet(90,100);
canvas.deleteCanvas();
canvas.createCanvas(400, 500);
// canvas.fillRect(100, 280, 200, 200, WHITE);
}
// if ( 50<= f <= 100 ){ e = -6 ;}
canvas.drawLine(200, 330,a ,c,WHITE);
if (f == 48 ) { M5.EPD.Clear(WHITE); canvas.deleteCanvas();
canvas.createCanvas(400, 500); f = 0; }
delay(200);
}
接続はPOAT Aに超音波センサー(HC-SR04)とPOAT Bにサーボモーター(AS3103)を接続しています。
サーボモーターとセンサーは3Dプリンタで合体させています。
接続は下図の通りです。ケーブルが絡まるので1回転ずつ反転します。
投稿者の人気記事
-
ultimatemasashi
さんが
2021/02/23
に
編集
をしました。
(メッセージ: 初版)
-
ultimatemasashi
さんが
2021/02/23
に
編集
をしました。
-
ultimatemasashi
さんが
2021/02/23
に
編集
をしました。
-
ultimatemasashi
さんが
2021/02/28
に
編集
をしました。
ログインしてコメントを投稿する