티스토리 뷰

얼마전 아두이노 우노 호환보드를 구매했다. 막 쓸건데 정품은 너무 비싸고..

어차피 오픈소스 하드웨어라 상관없다길래 고민없이 호환으로 구매했다


LED 몇개 + 버튼 + 점퍼선 + 저항 등등 같이 해서 13000원 정도에 구매.


작년 2학기 하드웨어 실험에서 뭔가 흥미를 느껴서 그때부터 구매하려고 벼르고 있었지만 결국 6개월이 넘게 지나서야 구매...ㅋㅋㅋㅋ


배송이 오자마자 설레는 마음을 안고 아두이노의 "Hello World!" 격인 LED 깜빡거리기를 시도해보았다.




1) 내장 LED 깜빡거리기


그냥 켜는건 심심하니까, Delay를 줘서 1초 간격으로 깜빡거리게 해보았다.



코드는 아래와 같다




내장 LED는 13번에 연결되어 있다.


LED라는 전역변수를 13이라 선언해두고, digitalWrite 함수를 이용해 LED를 켜고 끈다.


HIGH 가 될때, 전압이 걸리게 되므로 LED가 켜지고 LOW 일때 전압이 0V가 되므로 LED가 꺼진다.


만약 delay를 주지 않으면 사람 눈으로 알아볼 수 없을 만큼 짧은 간격으로 LED가 켜고 끄고를 반복하므로


눈으로 확인하기 위해 delay를 넣어줘야한다.


arduino에서 delay(1000)은 1초를 뜻한다.



 


13번 외의 핀은 알아서 연결하면 되지만,


0번과 1번은 시리얼 출력


2, 3번은 인터럽트


10, 11, 12, 13번은 SPI 통신


을 하기 위해서 사용되지만 필요한 경우, 핀에 해당되는 기능을 사용하지 않는다는 가정하에 외부와 연결해서 사용해도 크게 문제는 없다.






2) 외부 LED 깜빡거리기



빵판과 외부 LED, 저항을 이용해서 외부 LED 깜빡거리기를 해보았다.



음 이건 왜 세로지


코드는 위와 똑같지만, pin을 바꾸어 연결했으므로 LED 변수의 값만 바꿔주었다.


연결할 pin은 내가 좋아하는 럭키 7



회로는 아래와 같이 연결해주면 된다.


외부 LED는 항상 저항을 연결해주어야한다. 




저항이 없어도 LED가 켜지기는 하지만 LED의 수명이 다할수도 있다...^^


보통 5V 기준으로 LED에 연결하는 저항은 330옴 정도가 적당하다고 하지만 


집에 있는 저항이 100옴 뿐이라 100옴으로 연결하였다.


밝고 좋다.


작년 하드웨어 실험 할때 저항 없이 LED를 보드랑 연결했었는데, 어쩐지 LED가 빨리 죽어나가더라.....ㅎㅎ


LED는 (+)와 (-)를 잘 구별해야하는데, 회로에서 구부러진쪽이 (+)이고, 실제 LED에서는 더 긴다리가 (+)이다.


저것을 반대로 꽂는것 또한 LED를 황천길로 보내는 것이다...^^










그렇다면, 만약 외부LED와 우노 보드를 13번 핀에 연결해주면 어떻게 될까?


내부 LED만 켜질까? 외부 LED만 켜질까?




위와 같이 둘다 깜빡거리는 것을 알수있다. 


코드에 의해서 13번 핀에 전류가 들어가, 13번 핀에 연결된 두 LED 모두에게 전압이 걸리게 된것이다.


아마 뭐...특별한 일 아니라면 이런 일은 굳이 안하게 되지 않을까.







모든 언어의 입문에서 Hello World는 언제나 즐겁다.



작년 하드웨어 실험 보드는 Cortex-m3 였는데 그에 비해 보드도 작고, 코드 구현도 쉬워서 마음에 든다


자주 가지고 놀 시간이 있었으면 좋겠지만 ...



LED를 해봤으니 다음은 버튼을 이용해서 LED 제어하기 해야지.

댓글