ATtiny85 마이크로 컨트롤러 칩은 특히 프로젝트를 축소하려는 경우 다른 Arduino 마이크로 컨트롤러에 비해 저렴하고 강력한 대안입니다. 이 칩에는 8 개의 핀이 있으며 그중 6 개는 I / O (리셋 포함) 핀이고 2 개는 전원 핀입니다. 하지만 다른 마이크로 컨트롤러 보드와 같은 USB 인터페이스가 없기 때문에 어떻게 프로그래밍합니까? 따라서이 기사에서는 Arduino Uno의 도움으로 Arduino IDE에서 ATtiny85 를 프로그래밍하는 과정을 안내합니다. 기본적으로 Arduino UNO를 ATtiny85 프로그래머로 사용할 것 입니다.
ATtiny85 프로그래밍에 필요한 구성 요소
- Arduino UNO
- ATtiny85 IC
- LED
- 220 옴 저항
- 브레드 보드
- 점퍼 와이어
ATtiny85 마이크로 컨트롤러 칩-소개
Atmel의 ATtiny85는 고급 RISC 아키텍처를 기반으로하는 고성능, 저전력 8 비트 마이크로 컨트롤러입니다. 이 마이크로 컨트롤러 칩은 8KB ISP 플래시 메모리, 512B EEPROM, 512 바이트 SRAM, 6 개의 범용 I / O 라인, 32 개의 범용 작업 레지스터, 비교 모드가있는 1 개의 8 비트 타이머 / 카운터, 1 개의 8 비트 고속 타이머 / 카운터, USI, 내부 및 외부 인터럽트, 4 채널 10 비트 A / D 컨버터, 내부 발진기가있는 프로그래밍 가능 감시 타이머, 3 가지 소프트웨어 선택 가능 절전 모드 및 온칩 디버깅을위한 debugWIRE. ATtiny85 핀아웃 은 다음과 같습니다.
칩의 대부분의 I / O 핀에는 둘 이상의 기능이 있습니다. 각 핀 에 대한 ATtiny85 핀 설명 에 대해 알아 보려면 아래 표를 확인하십시오.
핀 번호 |
핀 이름 |
핀 설명 |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: 핀 변경 인터럽트 0, 소스 5 RESET: 핀 재설정 ADC0: ADC 입력 채널 0 dW: WIRE I / O 디버그 |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: 핀 변경 인터럽트 0, 소스 3 XTAL1: 수정 발진기 Pin1 CLKI: 외부 클록 입력 ADC3: ADC 입력 채널 3 |
삼 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: 핀 변경 인터럽트 0, 소스 4 XTAL2: 수정 발진기 핀 2 CLKO: 시스템 클록 출력 OC1B: 타이머 / 카운터 1 비교 매치 B 출력 ADC2: ADC 입력 채널 2 |
4 |
GND |
접지 핀 |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: SPI 마스터 데이터 출력 / 슬레이브 데이터 입력 DI: USI 데이터 입력 (3 선 모드) SDA: USI 데이터 입력 (2 와이어 모드) AIN0: 아날로그 비교기, 포지티브 입력 OC0A: 타이머 / 카운터 0 비교 일치 A 출력 AREF: 외부 아날로그 기준 PCINT0: 핀 변경 인터럽트 0, 소스 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI 마스터 데이터 입력 / 슬레이브 데이터 출력 DO: USI 데이터 출력 (3 선 모드) AIN1: 아날로그 비교기, 네거티브 입력 OC0B: 타이머 / 카운터 0 비교 매치 B 출력 OC1A: 타이머 / 카운터 1 비교 매치 A 출력 PCINT1: 핀 변경 인터럽트 0, 소스 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: 직렬 클록 입력 USCK: USI 시계 (3 선 모드) SCL: USI 클록 (2 와이어 모드) ADC1: ADC 입력 채널 1 T0: 타이머 / 카운터 0 클럭 소스 INT0: 외부 인터럽트 0 입력 PCINT2: 핀 변경 인터럽트 0, 소스 2 |
8 |
VCC |
공급 전압 핀 |
1 단계: Arduino Uno를 ISP로 구성:
ATtiny85는 단지 마이크로 컨트롤러이기 때문에 ISP (In-System Programming)를 프로그래밍해야합니다. 따라서 ATtiny85를 프로그래밍하려면 먼저 Arduino Uno를 ISP로 구성하여 ATtiny85의 프로그래머 역할을해야합니다. 이를 위해 Arduino Uno를 노트북에 연결하고 Arduino IDE를 엽니 다. 그런 다음 File> Example> ArduinoISP로 이동 하여 Arduino ISP 코드를 업로드합니다.
2 단계: ATtiny85 프로그래밍을위한 회로도:
Arduino Uno로 ATtiny85 를 프로그래밍 하기위한 전체 회로도 는 다음과 같습니다.
LED의 양극 핀은 220Ω 저항을 통해 ATtiny85 IC의 핀 0에 연결되고 GND 핀은 IC의 GND에 연결됩니다. 전체 연결은 아래 표에 나와 있습니다.
ATtiny85 핀 |
Arduino Uno 핀 |
Vcc |
5V |
GND |
GND |
핀 2 |
13 |
핀 1 |
12 |
핀 0 |
11 |
초기화 |
10 |
3 단계: Arduino IDE를 사용하여 ATtiny85 프로그래밍:
Arduino IDE로 ATtiny85를 프로그래밍하려면 먼저 Arduino IDE에 ATtiny85 지원을 추가해야합니다. 이를 위해 파일> 환경 설정으로 이동 하여 추가 게시판 관리자 URL에 아래 링크를 추가하고 '확인'을 클릭하십시오.
그런 다음 도구> 게시판> 게시판 관리자 로 이동하여 'attiny'를 검색하고 최신 버전을 설치하십시오.
설치 후 이제 Board 메뉴에서 'Attiny25 / 45 / 85' 라는 새 항목을 볼 수 있습니다.
이제 File > Examples> Basics 로 이동 하여 Blink 예제를 엽니 다.
핀 번호를 LED_BUILTIN 에서 0으로 변경하십시오.
이제 도구-> 보드 로 돌아가 "Attiny25 / 45 / 85"를 선택한 다음 도구> 프로세서 아래 에서 ATtiny85 를 선택 합니다.
이제 계속해서 코드를 업로드하십시오. Attiny85 IC의 핀 0에 연결된 LED가 깜박이면 코드가 성공적으로 업로드 된 것입니다.
Arduino IDE 및 Arduino Uno를 사용하여 ATtiny85 마이크로 컨트롤러 칩을 프로그래밍하는 방법 입니다. 작동하는 비디오가 아래에 나와 있습니다. 질문이 있으면 댓글 섹션에 남겨주세요. 더 나은 통찰력을 얻기 위해 전자 포럼에 기술 질문을 게시 할 수도 있습니다.