
Create AMR with Arduino, MDH100, MD200T, Zetson
AMR 개발#
아두이노 테스트 코드#
모터 구동 테스트 코드const int PWM = 10; // MD200T 6번 (SPEED_IN2) 노랑
const int DIR = 8; // MD200T 2번 (DIR2) 주황
const int ST = 9; // MD200T 4번 (START/STOP2) 초록
void setup() {
Serial.begin(9600);
pinMode(PWM, OUTPUT);
pinMode(DIR, OUTPUT); // 회전 방향 (시계 방향 = HIGH)
pinMode(ST, OUTPUT); // 브레이크 (해제 = LOW)
digitalWrite(ST, HIGH);
delay(2000); // 전원 안정화
}
void loop() {
digitalWrite(ST, LOW); // 브레이크 해제
digitalWrite(DIR, LOW); // 반시계 회전
analogWrite(PWM, 0);
// delay(10000);
// digitalWrite(ST, HIGH); // 멈춤
// delay(4000);
// digitalWrite(ST, LOW);
// digitalWrite(DIR, HIGH); // 시계 회전
// analogWrite(PWM, 125);
// delay(10000);
// digitalWrite(ST, HIGH);
// delay(4000);
}
홀센서 확인 테스트 코드
// 홀센서 핀 번호
const int Hu = 4;
const int Hv = 3;
const int Hw = 2;
const int PWM = 10; // MD200T 6번 (SPEED_IN2) 노랑
const int DIR = 8; // MD200T 2번 (DIR2) 주황
const int ST = 9; // MD200T 4번 (START/STOP2) 초록
void setup() {
Serial.begin(9600);
pinMode(Hu, INPUT);
pinMode(Hv, INPUT);
pinMode(Hw, INPUT);
pinMode(PWM, OUTPUT);
pinMode(DIR, OUTPUT); // 회전 방향 (시계 방향 = HIGH)
pinMode(ST, OUTPUT);
digitalWrite(ST, HIGH); // 브레이크 (해제 = LOW)
delay(2000); // 전원 안정화
}
//모터를 직접 손으로 돌리면서 체크
void loop() {
int hu = digitalRead(Hu);
int hv = digitalRead(Hv);
int hw = digitalRead(Hw);
Serial.print("Hu: "); Serial.print(hu);
Serial.print(" | Hv: "); Serial.print(hv);
Serial.print(" | Hw: "); Serial.println(hw);
delay(200); // 0.2초 간격 출력
}