1) 여기서 아두이노의 Data pin 74HC595의 14번핀으로 들어가는 이유는 설계자가 아두이노에서 스케치한 데이터를 입력하기 위함인거죠?
2) Clock에서 나와서 74HC595의 11번 핀으로 들어가는 이유는 코코아팹 튜토리얼 게시판(?)에 포스팅된 글에서 봤었는데 "규칙적인, 정확한 데이터를 전달하기 위해서는 클럭을 공급하여 동기화를 해주어야 합니다" 라고 쓰여있더라구요. 근데 그 이유가 여기서 11번 핀으로 들어가는 그 이유와 동일한 것인지 잘 몰라서 맞는지 확인차 여쭤볼게요 ;
3) Latch는 데이터를 잡아주는(일종의 저장) 역할이라서 12번 핀에 들어간 것 같긴 한데...
왜 저렇게 연결하였는지 아두이노와 74hc595에 대해 설명해주시면 정말 감사하겠습니다. ㅠㅠ
"아두이노 스케치 코드"
int dataPin = 13;
int latchPin = 12;
int clockPin = 11; // 이렇게 전역변수로 선언해주었습니다.
long previousMillis = 0; // Delay 보조
int analogOut = 10; // 밝기조절용 PWM
int level[4] = {5,4,3,2}; // 2 : 1st, 3 : 2nd, 4 : 3rd, 5 : 4th floor
int value = 0; // LED 임시 변수
int value2 = 0; // LED 임시 변수2
void setup(){
pinMode(dataPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
analogWrite(analogOut,0); // 74HC595 /OE=LOW는 Active
Serial.begin(9600);
}
void loop(){
//ani_indi();
ani_test();
/*ani_col_con();
ani_row_con();
ani_hight_con();
for(int i=0;i<5;i++){
bright_con();
i++;
}
cross_con();
for(int i=0;i<10;i++){
rotary1_con();
i++;
}
for(int i=0;i<10;i++){
rotary2_con();
i++;
}
char_con();*/
}
void writeOutput(){ // 74HC595 데이터 입력
digitalWrite(latchPin, LOW); // 각 애니메이션들의 배열에서 받은 값을
shiftOut(dataPin, clockPin, MSBFIRST, value); // shiftOut 함수로 74HC595에 시리얼 입력
shiftOut(dataPin, clockPin, MSBFIRST, value2); // value 는 1~8번핀의 값
digitalWrite(latchPin,HIGH); // value2는 9~16번핀의 값
}
//=----------------------
ㅇ이렇게 LED를 여러개 연결시켜서 원하는 모양을 내고 싶은데, 회로적인 부분에서 이해가 잘 안가서요.. ;;
|
SaBo 2015-08-11 13:20:26
1) 여기서 아두이노의 Data pin 74HC595의 14번핀으로 들어가는 이유는 설계자가 아두이노에서 스케치한 데이터를 입력하기 위함인거죠?
- 스케치한 데이터.....도 맞겠지만 정확히는 출력할 핀 정보를 씨리얼로 보내기 위한 핀이라는게 맞을 것 같네요
2) Clock에서 나와서 74HC595의 11번 핀으로 들어가는 이유는 코코아팹 튜토리얼 게시판(?)에 포스팅된 글에서 봤었는데 "규칙적인, 정확한 데이터를 전달하기 위해서는 클럭을 공급하여 동기화를 해주어야 합니다" 라고 쓰여있더라구요. 근데 그 이유가 여기서 11번 핀으로 들어가는 그 이유와 동일한 것인지 잘 몰라서 맞는지 확인차 여쭤볼게요 ;
- 네 맞습니다. 해당 칩은 씨리얼로 데이터를 주고 받기 때문에 정확한 데이터를 송수신 하기 위해서는 동기화를 해주어야 하는데, 이는 클럭을 인가함으로써 동기화를 시켜줍니다.
3) Latch는 데이터를 잡아주는(일종의 저장) 역할이라서 12번 핀에 들어간 것 같긴 한데...왜 저렇게 연결하였는지
- 왜 저렇게 연결하였는지 라는 질문이 무슨 뜻인지 잘 모르겠네요. 해당 칩 사용을 하기 위한 튜토리얼이 저런 하드웨어 구성으로 세팅이 되어있기 때문에 저렇게 연결한거겠죠?