드론 조종기로 제어하는 RC카 만들기(1)-기본 차체를 조립하여 기본 작동 테스트

앞에서 드론 조종기와 수신기를 이용해 신호를 아두이노로 전송하는 것까지 해봤으니 이제 본격적으로 RC카를 만들어 보도록 하자. 앞에서 드론 조종기와 수신기를 이용해 신호를 아두이노로 전송하는 것까지 해봤으니 이제 본격적으로 RC카를 만들어 보도록 하자.

 

대충 스케치하고 대충 모델링해서 출력하자. 꼼꼼히 해봐도 계획대로 잘 안되더라…모터는 아두이노에서 자주 쓰는 노란색 모터 세트로 쓰자. 이걸 왜 이렇게 많이 사놨어? 대충 스케치하고 대충 모델링해서 출력하자. 꼼꼼히 해봐도 계획대로 잘 안되더라…모터는 아두이노에서 자주 쓰는 노란색 모터 세트로 쓰자. 이걸 왜 이렇게 많이 사놨어?

모터드라이버는 L298N을 사용하고 제어보드는 아두이노 나노를 사용하기로 했다. 드론 조종기로 하기 때문에 와이파이도 필요 없고 블루투스도 필요 없어. 모터드라이버는 L298N을 사용하고 제어보드는 아두이노 나노를 사용하기로 했다. 드론 조종기로 하기 때문에 와이파이도 필요 없고 블루투스도 필요 없어.

운전자와 미니 빵판을 앞뒤로 적절히 배치할 수 있었다. 모터 등이 노출돼 보기에 좋지 않다. 이 상태는 차체라고 생각하고 필요하면 커버를 출력해 덮는 것도 가능하다. 그러려면 결합할 수 있게 구멍을 많이 뚫도록 설계를 해야 하는데··· 운전자와 미니 빵판을 앞뒤로 적절히 배치할 수 있었다. 모터 등이 노출돼 보기에 좋지 않다. 이 상태는 차체라고 생각하고 필요하면 커버를 출력해 덮는 것도 가능하다. 그러려면 결합할 수 있게 구멍을 많이 뚫도록 설계를 해야 하는데···

점퍼 케이블을 이용하여 연결하였다. 연결하고 수정하는 것은 편하지만 보기에는 좋지 않다. 모터는 좌우 각각 두 개를 묶어 연결했기 때문에 같은 쪽이라면 똑같이 회전하게 될 것이다. i-bus 수신기도 적당한 곳에 고정을 시켰다. 배터리는 적당한 게 없어서 드론으로는 출력에 문제가 있어서 못 쓰는 3셀 550마하 배터리를 쓰자. 기본 플레이트 하단에 스트랩을 이용하여 매달도록 하였다. 모터가 돌아가는 간단한 코드를 업로드 해보자. 점퍼 케이블을 이용하여 연결하였다. 연결하고 수정하는 것은 편하지만 보기에는 좋지 않다. 모터는 좌우 각각 두 개를 묶어 연결했기 때문에 같은 쪽이라면 똑같이 회전하게 될 것이다. i-bus 수신기도 적당한 곳에 고정을 시켰다. 배터리는 적당한 게 없어서 드론으로는 출력에 문제가 있어서 못 쓰는 3셀 550마하 배터리를 쓰자. 기본 플레이트 하단에 스트랩을 이용하여 매달도록 하였다. 모터가 돌아가는 간단한 코드를 업로드 해보자.

// 모터 Aint Dir1Pin_A = 7;int Dir2Pin_A = 8;int SpeedPin_A = 10;// 모터 Bint Dir1Pin_B = 5;int Dir2Pin_B = 6;int SpeedPin_B = 9;void setup() { Serial。begin(115200);pinMode(Dir1Pin_A, OUTPUT);pinMode(Dir2Pin_A, OUTPUT);pinMode(SpeedPin_A, OUTPUT);pinMode(Dir1Pin_B, OUTPUT);pinMode(Dir2Pin_B, OUTPUT);pinMode(SpeedPin_B, OUTPUT);digitalWrite(SpeedPin_A, LOW); //일단 모터 정지digitalWrite(SpeedPin_B, LOW);delay(3000); //준비···}void loop() {//모터 정방향으로 회전digitalWrite(Dir1Pin_A, HIGH);digitalWrite(Dir2Pin_A, LOW);analogWrite(SpeedPin_A, 50);digitalWrite(Dir1Pin_B, HIGH);digitalWrite(Dir2Pin_B, LOW);analogWrite(SpeedPin_B, 50);delay(2000);//모터 역방향으로 회전digitalWrite(Dir1Pin_A, LOW);digitalWrite(Dir2Pin_A, HIGH);analogWrite(SpeedPin_A, 50);digitalWrite(Dir1Pin_B、 LOW);digitalWrite(Dir2Pin_B, HIGH);analogWrite(SpeedPin_B, 50);delay(2000);} // 모터 Aint Dir1Pin_A = 7;int Dir2Pin_A = 8;int SpeedPin_A = 10;// 모터 Bint Dir1Pin_B = 5;int Dir2Pin_B = 6;int SpeedPin_B = 9;void setup() { Serial。begin(115200);pinMode(Dir1Pin_A, OUTPUT);pinMode(Dir2Pin_A, OUTPUT);pinMode(SpeedPin_A, OUTPUT);pinMode(Dir1Pin_B, OUTPUT);pinMode(Dir2Pin_B, OUTPUT);pinMode(SpeedPin_B, OUTPUT);digitalWrite(SpeedPin_A, LOW); //일단 모터 정지digitalWrite(SpeedPin_B, LOW);delay(3000); //준비···}void loop() {//모터 정방향으로 회전digitalWrite(Dir1Pin_A, HIGH);digitalWrite(Dir2Pin_A, LOW);analogWrite(SpeedPin_A, 50);digitalWrite(Dir1Pin_B, HIGH);digitalWrite(Dir2Pin_B, LOW);analogWrite(SpeedPin_B, 50);delay(2000);//모터 역방향으로 회전digitalWrite(Dir1Pin_A, LOW);digitalWrite(Dir2Pin_A, HIGH);analogWrite(SpeedPin_A, 50);digitalWrite(Dir1Pin_B、 LOW);digitalWrite(Dir2Pin_B, HIGH);analogWrite(SpeedPin_B, 50);delay(2000);}

This code tests simple movements that move back and forth. You connected it well so that the direction of rotation is not wrong. It is a code that tests simple movements that move back and forth. You connected it well so that the direction of rotation is not wrong. What’s the matter with you

Now that the hardware is ready, let’s start writing the code in earnest. It’s going to be hard from now on. Next time··· Now that the hardware is ready, let’s start writing the code in earnest. It’s going to be hard from now on. Next time···

https://www.youtube.com/watch?v=oZpcQ-rNdJU&pp=ygVp65Oc66GgIOyhsOyiheq4sOuhnCDsoJzslrTtlZjripQgUkPsubQg66eM65Ok6riwKDEpLeq4sOuzuCDssKjssrTrpbwg7KGw66a97ZWY7JesIOq4sOuzuCDsnpHrj5kg7YWM7Iqk7Yq4

error: Content is protected !!