명함 곽에 스카치 테이프로 부착한 DC 모터와 하께 우드락으로 밑판을 만들어 아두이노와 모터 쉴드를 조립해서 올린다. 무게 중심이 앞으로 조금 쏠리도록 배치하고 스카치 테이프로 고정한다. 아울러 뒤쪽에 9V 전지를 수납할 수 있는 약간의 여유 공간을 두자.
모터 쉴드를 사용하기 위해서는 Adafruit 사의 AFMotor.h 라이브러리를 설치하고 아래와 같이 클라스 명령을 선언한다.
AF_DCMotor motor1(3)
AF_DCMotor motor2(4)
⚫⚫⚫
현재 2개의 DC모터만 사용하기 때문에 motor1, motor2 클라스 명령 2개면 충분하며 괄호안의 3과 4는 사진과 같이 M3, M4에 대응한다.
사실 motor1, motor2 는 motorR, motorL 또는 motorA, motorB 등의 이름으로 바꾸어도 된다.
전역 변수 모터스피드는 최대 255 의 값을 가질 수 있으나 느린 속도로 제어하기 위해서 120 으로 조절하였다. DC모터 종류에 따라서 값이 너무 낮으면 윙하는 노이즈 성 소음만나고 모터 회전이 안되는 수가 있으니 유의하기 바란다.
아직은 블루투스에 의한 무선 제어 이전에 간단하게 전진 후진 조회전 우회
전 정지가 가능한 코드를 시험해 보도록 한다. 주행 성능이 만족스러우면 블루투스를 사용하는 앱 인벤터 코디에 착수하도록 한다. 앱인벤터 제어용 앱과 세부적인 제작 내용은 곧 출간될 종이 책에 상세히 기록할 예정임.
9V 전지를 사용하여 시험해 보도록 한다. 동영상을 참고하기 바란다.
FOF4YFTIA0WX947_F
//This program is used to control a robot car
#include <AFMotor.h>
//creates two objects to control the terminal 3 and 4 of motor shield
AF_DCMotor motor1(3);
AF_DCMotor motor2(4);
int mspd = 120;
void setup() {
Serial.begin(9600);
}
void loop(){
forward();
delay(1000);
back();
delay(1000);
left();
delay(1000);
right();
delay(1000);
}
void forward() {
motor1.setSpeed(mspd); //Define maximum velocity
motor1.run(FORWARD); //rotate the motor clockwise
motor2.setSpeed(mspd); //Define maximum velocity
motor2.run(FORWARD); //rotate the motor clockwise
}
void back() {
motor1.setSpeed(mspd);
motor1.run(BACKWARD); //rotate the motor counterclockwise
motor2.setSpeed(mspd);
motor2.run(BACKWARD); //rotate the motor counterclockwise
}
void left() {
motor1.setSpeed(mspd); //Define maximum velocity
motor1.run(FORWARD); //rotate the motor clockwise
motor2.setSpeed(0);
motor2.run(RELEASE); //turn motor2 off
}
void right() {
motor1.setSpeed(0);
motor1.run(RELEASE); //turn motor1 off
motor2.setSpeed(mspd); //Define maximum velocity
motor2.run(FORWARD); //rotate the motor clockwise
}
void Stop() {
motor1.setSpeed(0);
motor1.run(RELEASE); //turn motor1 off
motor2.setSpeed(0);
motor2.run(RELEASE); //turn motor2 off
}
'아두이노프로세싱 프로그래밍' 카테고리의 다른 글
L239D 모터쉴드 DC모터 구동 RC카 앱 인벤터 블루투스 제어 아두이노 코드 (0) | 2017.10.09 |
---|---|
L239D 모터쉴드 DC모터 구동 RC카 앱 인벤터 블루투스 제어 (0) | 2017.10.09 |
ESP8266WiFi WiFiWebServer 아두이노 NodeMCU LED ON OFF 예제:I (0) | 2017.10.05 |
프로 마이크로 보드에서 macro 명령을 사용한 파워 LED BLINKING (0) | 2017.09.28 |
DHT11 아두이노 온습도 센서 측정을 위한 라이브러리 설치 (0) | 2017.09.26 |