LED 엄청 달았다. 20개다~!
fritzing이 매우 쉽게 구성이 되어 있어서, 블로그에 올릴 때만 써볼 까 해서 이것저것 해봤는데, 역시나, 무겁고, 기능은 딸리고, 죽는다… 이거 뭐야…
기껏 회로도 그려서, PCB routing 한번 돌려봤더니, 그냥 뻗어버린다. 쩝… 할 수 없다. 맨날 쓰던 OrCAD나 EagleCAD 써야할 수 밖에. 일단, 땜쟁이가 여러분들에게 보여주기 위해서, 간단하게 회로도를 그렸다.
요걸 SMD Type으로 하나하나 땜 한 것이 다음 사진이다.
많이 달았다. 20개다. 자 이 20개를 제어하기 위해서, 간단하게 프로그램 하나 짰다.
//------------- LED Bounce Test Program..
//------------- jwshin
//---------------------------------------
unsigned int pin=0;
unsigned int LedNum=0;
void setup() {
for(pin=0;pin<20;pin++) {
pinMode(pin,OUTPUT);
}
}
void flick(unsigned int Num) {
digitalWrite(Num, HIGH);
delay(70);
digitalWrite(Num,LOW);
}
void loop() {
for(LedNum=0;LedNum<19;++LedNum) {
flick(LedNum);
}
for(LedNum=19;LedNum>0;LedNum--) {
flick(LedNum);
}
}
단순하다. 그냥 왔다갔다 한다.
ghkauszf
신기하다. 근데, 뭔가 속도감있게 좀 더 재미있게 하고 싶다. 그래서 땜쟁이가 delay time(지연시간)을 가지고 장난 좀 쳐봤다.
//------------- LED Bounce Test Program..
//------------- jwshin
//---------------------------------------
unsigned int pin=0;
unsigned int LedNum=0;
void setup() {
for(pin=0;pin<20;pin++) {
pinMode(pin,OUTPUT);
}
}
void flick(unsigned int Num) {
digitalWrite(Num, HIGH);
delay((sqrt(((float)20 - Num)/20) - sqrt((19.0 - Num)/20)) * 500);
digitalWrite(Num,LOW);
}
void loop() {
for(LedNum=0;LedNum<19;++LedNum) {
flick(LedNum);
}
for(LedNum=19;LedNum>0;LedNum--) {
flick(LedNum);
}
}
화면클릭~!
어떤가? 공이 튀어오르는 느낌이 있지 않은가?
약간 다른느낌을 보기 위해 delay를 다시 변경해 봤다.
//------------- LED Bounce Test Program..
//------------- jwshin
//---------------------------------------
unsigned int pin=0;
unsigned int LedNum=0;
void setup() {
for(pin=0;pin<20;pin++) {
pinMode(pin,OUTPUT);
}
}
void flick(unsigned int Num) {
digitalWrite(Num, HIGH);
delay((Num+1)*2+10);
digitalWrite(Num,LOW);
}
void loop() {
for(LedNum=0;LedNum<19;++LedNum) {
flick(LedNum);
}
for(LedNum=19;LedNum>0;LedNum--) {
flick(LedNum);
}
}
이 마크다운 문서는 동영상 올리는 게 무지 불편하다. 이번 소스는 여러분들이 한번 해봐라. 동영상 올리는 게 너무 번거롭다.