7단계 : 코드
제가 “LED!!!” 를 표현하는데 사용한 코드입니다.
:
int latchPin = 1;
int clockPin = 2;
int dataPin = 0;
int leftPin = 4;
int rightPin = 3;
int side = 2;
int patt_len = 37;
int pattern[37] = {0, 0, 0, 0, 0, 0, 255, 128, 128, 128, 128, 0, 255, 137, 137, 129, 129, 0, 255, 129, 129, 129, 126, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 0, 0, 0 }; // LED!!!
byte leds = 0;
int i=0;
void setup() {
// put your setup code here, to run once:
pinMode(leftPin, INPUT);
pinMode(rightPin, INPUT);
pinMode(latchPin , OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop() {
if(digitalRead(leftPin) && side==2){
side = 1;
delay(55);
for( i = 0; i<patt_len; i++){
leds = pattern[i];
updateShiftRegister();
delay(2);
}
leds = 0;
updateShiftRegister();
}
if(digitalRead(rightPin) && side==1){
side = 2;
delay(55);
for( i = patt_len-1; i>=0; i--){
leds = pattern[i];
updateShiftRegister();
delay(2);
}
leds = 0;
updateShiftRegister();
}
}
void updateShiftRegister(){
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
혹시 잘린 부분이 있다면 http://www.instructables.com/id/Digital-Rattle/ 에서 복사 해주세요.
8단계 : 업로드 하시고 테스트 해보세요
ATtiny 85를 스틱위에 고정시켜 주시고 스위치를 누르신 후 흔들어 주세요!
동영상 설명과 작동 영상을 보고싶으신 분은 아래 링크로 가셔서 보면 됩니다!
감사합니다
출처 : http://www.instructables.com/id/Digital-Rattle/