아래 사진에서 보는바와 같이 손톱보다도 작은 8핀 칩이다. 이것은 8-bit에 1Kb의 Flash 메모리를 달고 있다. 메모리가 너무 작아서 bootloader를 설치하는것은 무리다. 그래서 ISP가 필요하고, Arduino UNO를 ISP로 대신하였다. 이에 대한 연결 다음 Site에서 확인할 수 있다.
Programming an ATTiny13A Using Arduino & Servo Interpreter
운영전압은 1.8V ~ 5.5V이며, 속도는 사용전압에 따라 다르지만 20Mhz까지 가능하다. 나는 9.6Mhz로 설정하였다.


ATtiny13A의 Pinout이다.

사용전력량은 Active Mode인 경우 190uA(1.8V, 1Mhz), Idle Mode인 경우 24uA(1.8V, 1Mhz)이다.

위 코드를 Arduino 1.8.2에서 빌드하니 122바이트(11%)를 사용하였다.
아래는 3.7V 배터리로 연결하여 동작하고 있는 사진이다.
워낙 메모리가 작아 무엇을 응용하는것이 좋을 지 모르겠다. 어떤 센서정보에 약간의 논리 처리를 한 후 시리얼로 호스트로 보내는 정도가 의미 있겠다. 저전력이 필요하거나 온도를 감지한 Fan Speed 제어하는것과 같은 간단한 독립적인 애플리케이션에 적합할 듯 하다.
통신이 되면 좋겠지만 저 메모리에 언감생심이고, ESP8266등의 도움을 받을 수 있겠지만, ESP8266 자체적으로도 ATtiny13A의 기능은 할 수가 있다. 그리고 훨씬 빠르다. 물론, ESP8266-01 버전은 GPIO가 사실상 1개 뿐이라 이것은 논외로 하자!
Ps.
나중에 또 잊을까봐 기록한다.
집게의 붉은선이 칩의 1번 핀에 해당한다.
아두이노는 arduinoisp를 업로드시켜놓고 arduino as isp로 프로그래밍한다.
Attiny13 보드설정은 직접하는것 보다 microcore 추가보드 매니저에 등록하여 설치하는것이 간단하다.
No comments:
Post a Comment