하...

정말 긴 싸움이었습니다...

드디어 해결했습니다!~!~!~!~!




문제없이 마지막 날씨데이터까지 깔끔하게 받아오던 소스에

날씨마다 다른 디스플레이를 표현하는 네오픽셀 소스를 넣으면

마지막 날씨데이터를 받아오지 못하였던걸 해결했슴다~~


로직은 문제가 없었으나 외부 인터럽트가 문제였나 싶었는데

네오픽셀을 구동시킨다고 인터럽트가 발생되진 않는다고 생각되었고...

누수가 문제인가 싶기두 하고...

정확한 문제의 원인을 찾진 못하였습니다 ㅜㅜ 

(혹시 문제가 어느부분인지 짐작이 가시는분은 댓글 부탁드릴게요 !)


이 문제의 해결방법은 2가지가 있었는데요


하나는 RGB LED strip 을 사용하는것입니다. 

스트립을 on/off 제어만 하면 되서 소스가 간단하게 만들 수 있었어요 

오픈소스에서도 RGB LED strip을 사용하셨습니다. 

단점은 12V로 동작하기 때문에 어댑터를 하나 더 써야한다는거죠

지금 tempescope안에 4구 멀티탭이 들어가는데 다 어댑터들이 커서 

3구밖에 사용을 못하더라구요... 근데 저 12V어댑터까지 들어가려면 

5구 어댑터를 사용해야하는데 지금 만들어논 케이스로는 작더라구요


또 다른 방법은 아두이노를 2개 사용하여 

하나는 날씨를 파싱해오고

나머지 하나는 네오픽셀만 제어해주는거죠



저는 가지고 있던 네오픽셀을 살리면서 아두이노 하나정도는 들어갈 공간이 충분하기 때문에

2번째 방법을 선택했습니다. 

먼저 두 아두이노간 통신을 하는데 흔히 시리얼 통신이라고 하는 UART 통신 방식을 사용합니다.

원래 작성된 코드도 시리얼통신을 하기 때문에 어렵지 않게 구현할 수 있었습니다. 


사진과 같이 GND를 서로 연결해주고 1번핀과 0번핀을 크로스해서 연결해줍니다. 

tempescope 에서는 와이파이쉴드를 사용하기 때문에 하나의 아두이노에는 

쉴드가 올라와 있겠죠? 쉴드가 아두이노에 연결되어 있기 때문에 동일하게 연결합니다!




와이파이쉴드가 장착되어 있는 아두이노에는 

날씨를 가져오는 소스가 정상적으로 업로드가 되었는데

네오픽셀을 제어하는 아두이노에는 계속 업로드가 오류가 발생하더라구요...

재부팅해도 똑같아서 다른 아두이노 보드로 업로드 해보니 되었습니다 ㅋㅋㅋ

자 업로드를 완료했고, 선만 연결하면....!



....!


영롱하다...









댓글 0

MADE BY