2024年1月1日月曜日

四足歩行ロボット ESP8266

2019年に製作した四足歩行ロボットについて記事にしました。

サーボモーター4個を制御することにより歩行します。
動画では動作の一部を紹介しました。








動画



マイクロサーボモータSG90をユニバーサルプレート(タミヤ)に結束バンド固定、その上にモバイルバッテリーとブレッドボードを取付けてあります。
ESP8266 NodeMCUのUSBにモバイルバッテリーを接続すると[VinPin]から5Vが出力されます。









回路図


















Arduino IDE 設定























プログラム
#include <Servo.h>
Servo FR;
Servo FL;
Servo RR;
Servo RL;

void setup() { 
  Serial.begin(115200);  
  FR.attach(14);
  FL.attach(12);
  RR.attach(13);
  RL.attach(15);
}
void loop() { 
  down();
  delay(3000);
  up();
  delay(500); 
  warming();
  delay(500);
  udetate();
  udetate();
  delay(500);
  down_in();
  delay(500); 
  down(); 
  up();
  down(); 
  up();
  down(); 
  up();
  delay(500); 
  go();
  go();
  go();
  go();
  go();
  delay(500);
  back();
  back();
  back();
  back();
  back();
  delay(500); 
  down();
  delay(3000);
}


void warming() {
  int a = 0;  
  for ( a = 0; a <= 180; a++) {    
    FR.write(a); 
    FL.write(a); 
    RR.write(a); 
    RL.write(a);    
    delay(10);
  } 
  for (a = 180; a >= 0; a--) {      
    FR.write(a); 
    FL.write(a); 
    RR.write(a); 
    RL.write(a);    
    delay(10);  
   }
}
void go() {
  FL.write(35);
  FR.write(25);
  RL.write(125);
  RR.write(115);  
  delay(500);  
  FL.write(155);
  FR.write(145);
  RL.write(65);
  RR.write(55);
  delay(500); 
}
void back() {  
  FL.write(125);
  FR.write(115);
  RL.write(35);
  RR.write(25);
  delay(500); 
  FL.write(65);
  FR.write(55);
  RL.write(155);
  RR.write(145);  
  delay(500); 
}
void right() {
  FL.write(35);
  FR.write(55);
  RL.write(125);
  RR.write(115);  
  delay(500);  
  FL.write(145);
  FR.write(125);
  RL.write(65);
  RR.write(65);
  delay(500); 
}
void left() {
  FL.write(55);
  FR.write(25);
  RL.write(125);
  RR.write(115);  
  delay(500);  
  FL.write(125);
  FR.write(145);
  RL.write(65);
  RR.write(55);
  delay(500); 
}
void down_in() { 
  FL.write(170);
  FR.write(10);
  RL.write(10);
  RR.write(170);
  delay(500);  
}
void down_out() {
  FL.write(10);
  FR.write(170);
  RL.write(10);
  RR.write(170);  
  delay(500);
}
void up() {
  RL.write(90);
  RR.write(90);
  FL.write(90);
  FR.write(90);
  delay(500);
}
void down() { 
  FL.write(180);
  FR.write(0);
  RL.write(0);
  RR.write(180);
  delay(500);  
}
void udetate() {
  FL.write(170);
  FR.write(10);
  RL.write(170);
  RR.write(10);  
  delay(500);
  int a = 10;
  int b = 170;   
  while(a < 80){
    a++;    
    FR.write(a); 
    b--;
    FL.write(b);       
    delay(10);
  } 
   delay(500);
}
 

0 件のコメント:

コメントを投稿

Raspberry Pi Donkey Car スマートカー

  2020年に製作したDonkey Car スマートカー について記事にしました。 Donkey CarはRaspberry Pi のカメラからコースを ディープラーニングさせ自動走行を行います。(動画は白線上を自動走行)   動画