OS/Arduino
Arduino Pro Mini
파란크리스마스
2017. 8. 6. 01:42
728x90
출처 : 라즈베리파이 USB to TTL Serial Cable 연결 :: tibyte.kr - 티바이트
Arduino Pro Mini - 시리얼 케이블 연결
흰색 선(RXD)을 라즈베리파이의 TXD핀에 연결하고,
초록 선(TXD)을 라즈베리파이의 RXD핀에 연결한다.
업로드
Arduino Pro Mini의 경우 리셋을 수동으로 해야 되므로, 컴파일전에 [리셋]버튼을 누리고 있다가, [업로드...]라고 나올때 [리셋]버튼을 때준다.
L298N 모터드라이버 제어
//모터드라이버핀과 아두이노의 연결번호 #define EA 2 #define EB 7 #define M_IN1 3 #define M_IN2 4 #define M_IN3 5 #define M_IN4 6 int motorA_vector = 1;//모터의 회전방향이 반대일시 0을 1로 1을 0으로 바꿔주시면 모터의 회전방향이 바뀝니다. int motorB_vector = 1;//모터의 회전방향이 반대일시 0을 1로 1을 0으로 바꿔주시면 모터의 회전방향이 바뀝니다. int motor_speed = 150; // 255;//모터 스피드 const int DELAY = 1000; void setup() { Serial.begin(9600); //시리얼모니터 //모터관련 핀들을 출력으로 설정한다. pinMode(EA, OUTPUT); pinMode(EB, OUTPUT); pinMode(M_IN1, OUTPUT); pinMode(M_IN2, OUTPUT); pinMode(M_IN3, OUTPUT); pinMode(M_IN4, OUTPUT); // delay(3000);//3초 지연 motorstop(); } void loop() { selfTest(); } void selfTest() { motor_con(motor_speed, motor_speed); //전진 //motor_con(-motor_speed, motor_speed); //좌회전 //motor_con(motor_speed, -motor_speed); //우회전 //motor_con(-motor_speed, -motor_speed); //후전 delay(DELAY); motor_con(0, 0); //정지 delay(DELAY); } void motorstop() { motor_con(0, 0); //정지 } void motor_con(int M1, int M2){ if(M1>0){ //모터A 정회전 digitalWrite(M_IN1,motorA_vector); digitalWrite(M_IN2,!motorA_vector); } else if(M1<0){ //모터A 역회전 digitalWrite(M_IN1,!motorA_vector); digitalWrite(M_IN2,motorA_vector); } else{ //모터 A 정지 digitalWrite(M_IN1,LOW); digitalWrite(M_IN2,LOW); } if(M2>0){ //모터B 정회전 digitalWrite(M_IN3,motorB_vector); digitalWrite(M_IN4,!motorB_vector); } else if(M2<0){ //모터B 역회전 digitalWrite(M_IN3,!motorB_vector); digitalWrite(M_IN4,motorB_vector); } else{ //모터 B 정지 digitalWrite(M_IN3,LOW); digitalWrite(M_IN4,LOW); } analogWrite(EA,abs(M1)); //A모터 속도값 analogWrite(EB,abs(M2)); //B모터 속도값 }