- DC 모터: 압력 전류 방향으로 방향 제어, 고회전에 유리, RC카 등
- 서보 모터: PWM 신호로 0-180도 위치 설정 가능, 제한적 범위; 정확한 위치 제어, 로봇 관절 등 회전각 제어
- 스텝 모터: 방향 속도 + 회전각 정밀 제어. 제어 복잡. 고회전보단 정밀 제어. 3D 프린터 등
Rx에 high를 주었을 때 Cy에서 high가 읽히면 버튼x y가 눌린 것
byte R[4] = { ?, ?, ?, ? };
byte C[4] = { ?, ?, ?, ? };
bool button[4][4] = {
{false, false, false, false},
{false, false, false, false},
{false, false, false, false},
{false, false, false, false}
};
void setup() {
for(int i = 1; i <= 4; i++) {
pinMode(C[i], INPUT);
pinMode(R[i], OUTPUT);
digitalWrite(R[r], LOW);
}
}
void loop() {
for(int r = 1; r <= 4; r++) {
digitalWrite(R[r], HIGH);
for(int c = 1; c <= 4; c++) {
button[r][c] = digitalRead(C[c]);
}
digitalWrite(R[r], LOW);
}
}#define ECHO ?
#define TRIG ??
#define BUZZ ???
void setup() {
pinMode(ECHO, INPUT);
pinMode(TRIG, OUTPUT);
pinMode(BUZZ, OUTPUT);
}
void loop() {
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long d = pulseIn(ECHO, HIGH) * 0.034 / 2;
if (d > 300) return;
tone(BUZZ, 440); delay(d * 2);
noTone(); delay(30);
}- 데이터 송수신 선 (SDA) + 송수신 타이밍 동기화를 위한 클럭 선 (SCL)
- 하나의 마스터와 1-127개의 슬레이브로 이루어짐
- SDA SCL 모두 High -> bus 상태가 busy가 아님 -> 데이터 전송 시작 가능
- 동기화 통신 방식: 시리얼 통신과 달리 (SCL로 어찌어찌 잘 해서) 통신 속도 따로 정할 필요 없음