제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 5 |
Baby Dino는 Arduino를 기반으로 한 두 다리 로봇입니다. 기본적으로 각 다리에 2개, 머리에 1개 등 5개의 서보 모터를 사용합니다. 또한 초음파 센서를 사용하여 장애물을 감지하고 회피합니다. 자, 만드는 방법을 알아볼까요?
1단계:소개 <울>
2단계:필수 구성 요소 <울>
3단계:서보 고정 <울>
4단계:디자인 <울>
5단계:최종 단계 <울>
그게 다야!
uBipedino.ino섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">
#include서보 s1; 서보 s2; 서보 s3; 서보 s4; 서보 s5; 무효 설정() { s1.attach(8); s2.attach(9); s3.attach(10); s4.attach(11); s5.attach(12);} 무효 루프() { s1.write(90); s2.write(90); s3.write(90); s4.write(90); s5.write(90); }
#include#include // 연결에 따라 핀 편집#define IRsensorPin 13// 대신 IR 센서를 사용하는 경우 초음파 센서#define TRIGGER_PIN 12 // 초음파 센서의 트리거 핀에 연결된 Arduino 핀.#define ECHO_PIN 11 // 초음파 센서의 에코 핀에 연결된 Arduino 핀.#define LEFTLEG 7#define RIGHTLEG 10#define LEFTFOOT 8#define RIGHTFOOT 9#define HEAD 6#define MAX_DISTANCE 200 // 핑할 최대 거리(센티미터). 최대 센서 거리는 400-500cm입니다.NewPing 소나(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // 핀과 최대 거리의 NewPing 설정.Servo Lleg; // 서보를 제어하기 위한 서보 객체 생성 Servo Rleg;Servo Lfoot;Servo Rfoot;Servo Head;int Hcenter =70; // 센터 서보 위치를 저장하기 위한 변수 int RLcenter =100;int RFcenter =65; // 센터 서보 위치를 저장할 변수 int LLcenter =90;int LFcenter =75;int tAngle =30; // 기울기 각도int uAngle =35; // 각도 회전int sAngle =35; // 스윙 각도int hAngle =Hcenter; void Forward(바이트 단계, 바이트 속도){ Serial.println("앞으로"); TiltRightUp(tAngle, 속도); for (byte j=0; j 0; i-=5){ Lfoot.write(LFcenter+i); Rfoot.write(RFcenter+i); 지연(sp); }}void TiltLeftUp(byte ang, byte sp){ // 왼쪽 위로 기울이기 for (int i=0; i<=ang; i+=5){ Lfoot.write(LFcenter-i); Rfoot.write(RFcenter-i); 지연(sp); }}void TiltLeftDown(byte ang, byte sp){ // 왼쪽 아래로 기울이기 for (int i=ang; i>0; i-=5){ Lfoot.write(LFcenter-i); Rfoot.write(RFcenter-i); 지연(sp); }}void LeftFootUp(char ang, byte sp){ //왼쪽 위로 기울이기 for (int i=0; i<=ang; i+=5){ Lfoot.write(LFcenter-i); 지연(sp); }}void LeftFootDown(byte ang, byte sp){ // 왼쪽 아래로 기울이기 for (int i=ang; i>0; i-=5){ Lfoot.write(LFcenter-i); 지연(sp); }}void RightFootUp(byte ang, byte sp){ //(int i=0; i<=ang; i+=5){ Rfoot.write(RFcenter+i); 지연(sp); }}void RightFootDown(byte ang, byte sp){ // 오른쪽 아래로 기울이기 for (int i=ang; i>0; i-=5){ Rfoot.write(RFcenter+i); 지연(sp); }}void SwingRight(byte ang, byte sp){ //(int i=0; i<=ang; i+=5){ Lleg.write(LLcenter-i); Rleg.write(RLcenter-i); 지연(sp); }}void SwingRcenter(byte ang, byte sp){ // 스윙 r->center for (int i=ang; i>0; i-=5){ Lleg.write(LLcenter-i); Rleg.write(RLcenter-i); 지연(sp); }}void SwingLeft(byte ang, byte sp){ //(byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter+i); Rleg.write(RLcenter+i); 지연(sp); }}void SwingLcenter(byte ang, byte sp){ // 스윙 l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter+i); Rleg.write(RLcenter+i); 지연(sp); }}void RightLegIn(byte ang, byte sp){ //(int i=0; i<=ang; i+=5){ Rleg.write(RLcenter-i); 지연(sp); }}void RightLegIcenter(byte ang, byte sp){ // 스윙 r->center for (int i=ang; i>0; i-=5){ Rleg.write(RLcenter-i); 지연(sp); }}void RightLegOut(byte ang, byte sp){ //(int i=0; i<=ang; i+=5){ Rleg.write(RLcenter+i); 지연(sp); }}void RightLegOcenter(byte ang, byte sp){ // 스윙 r->center for (int i=ang; i>0; i-=5){ Rleg.write(RLcenter+i); 지연(sp); }}void LeftLegIn(byte ang, byte sp){ //(byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter+i); 지연(sp); }}void LeftLegIcenter(byte ang, byte sp){ // 스윙 l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter+i); 지연(sp); }}void LeftLegOut(byte ang, byte sp){ //(byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter-i); 지연(sp); }}void LeftLegOcenter(byte ang, byte sp){ // 스윙 l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter-i); 지연(sp); }} 무효 설정() { Serial.begin(19200); Serial.println("Bipedino 설정이 실행 중입니다."); Lleg.attach(LEFTLEG); Rleg.attach(RIGHTLEG); Lfoot.attach(LEFTFOOT); Rfoot.attach(RIGHTFOOT); 헤드.부착(HEAD); 센터서보(); 지연(500); (int i =0, i <5, ++i) { GetSonar(); 지연(1000); } Serial.println("Bipedino가 준비되었습니다.");} // setup()void loop() { unsigned int cmCenter =MAX_DISTANCE; unsigned int cmLeft =MAX_DISTANCE; unsigned int cmRight =MAX_DISTANCE; 헤드센터(); cmCenter =GetSonar(); if (cmCenter <20) { HeadRight(); cmRight =GetSonar(); 헤드센터(); if (cmRight> 20) { 우회전(1, 30); } else { 왼쪽 머리(); cmLeft =GetSonar(); 헤드센터(); if (cmLeft> 20) { TurnLeft(1, 30); } } } else { int nSteps =cmCenter / 5; if (nSteps> 5) { nSteps =5; } else { nSteps =1; } Serial.print("단계 <"); Serial.print(nSteps); Serial.println(">"); for (int n =0; n 섹션> 맞춤형 부품 및 인클로저
섹션>회로도
제조공정
이 기사에서는 Arduino 색상 분류기를 만드는 방법을 보여 드리겠습니다. 다음 동영상을 보거나 아래에 작성된 기사를 읽을 수 있습니다. 디자인 이 Arduino 프로젝트에 필요한 것은 컬러 센서(TCS3200) 1개와 취미용 서보 모터 2개뿐입니다. 이 덕분에 이 프로젝트는 매우 간단하지만 구축하는 것은 매우 재미있습니다. 먼저 Solidworks 3D 모델링 소프트웨어를 사용하여 색상 분류기의 디자인을 만들었고 작동 원리는 다음과 같습니다. 초기에는 충전기에 고정되어 있는 컬러 주걱이 상단 서보 모터에 부착된 플랫폼으
이 Arduino 자습서에서는 Arduino 보드와 처리 개발 환경을 사용하여 이 멋진 레이더를 만드는 방법을 보여 드리겠습니다. 자세한 내용은 다음 동영상을 보거나 아래에 작성된 튜토리얼을 참조하세요. 개요 이 Arduino 프로젝트에 필요한 것은 물체를 감지하기 위한 초음파 센서, 센서를 회전시키기 위한 작은 취미 생활자 서보 모터 및 이를 제어하기 위한 Arduino 보드뿐입니다. 다음 동영상을 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다.[/column] 이 Arduino 프로젝트에 필요한 구성요소 다음 사이트에서