Arduino ATMEGA328 SMD 브레드보드 사용 설명서
위에view
Arduino Uno는 ATmega328(데이터시트)을 기반으로 하는 마이크로컨트롤러 보드입니다. 14개의 디지털 입력/출력 핀(6개는 PWM 출력으로 사용 가능), 6개의 아날로그 입력, 16MHz 수정 발진기, USB 연결, 전원 잭, ICSP 헤더 및 재설정 버튼이 있습니다. 여기에는 마이크로컨트롤러를 지원하는 데 필요한 모든 것이 포함되어 있습니다. 시작하려면 USB 케이블로 컴퓨터에 연결하거나 AC-DC 어댑터 또는 배터리로 전원을 공급하십시오. Uno는 FTDI USB-to-serial 드라이버 칩을 사용하지 않는다는 점에서 이전의 모든 보드와 다릅니다. 대신 USB-직렬 변환기로 프로그래밍된 Atmega8U2가 특징입니다. "Uno"는 이탈리아어로 하나를 의미하며 곧 출시될 Arduino 1.0 릴리스를 기념하기 위해 명명되었습니다. Uno와 버전 1.0은 앞으로 나아가는 Arduino의 참조 버전이 될 것입니다. Uno는 USB Arduino 보드 시리즈의 최신 제품이며 Arduino 플랫폼의 참조 모델입니다. 이전 버전과 비교하려면 Arduino 보드 색인을 참조하십시오.
요약
- 마이크로 컨트롤러 ATmega328
- 운영 볼륨tag전자 5V
- 입력 Voltage (권장) 7-12V
- 입력 Voltage(제한) 6-20V
- 디지털 I / O 핀 14 (이 중 6은 PWM 출력을 제공)
- 아날로그 입력 핀 6
- I / O 핀 40 mA 당 DC 전류
- 3.3V 핀 50mA용 DC 전류
- 플래시 메모리 32KB(ATmega328) 중 0.5KB는 부트로더에서 사용
- SRAM 2KB(ATmega328)
- EEPROM 1KB(ATmega328)
- 클럭 속도 16 메가 헤르츠
회로도 및 참조 설계
독수리 files: Arduino-uno-reference-design.zip
회로도: arduino-uno-schematic.pdf
힘
Arduino Uno는 USB 연결 또는 외부 전원 공급 장치를 통해 전원을 공급받을 수 있습니다. 소스의 전원이 자동으로 선택됩니다. 외부(비 USB) 전원은 AC-DC 어댑터(Wall-wart) 또는 배터리에서 올 수 있습니다. 어댑터는 2.1mm 센터 포지티브 플러그를 보드의 전원 잭에 연결하여 연결할 수 있습니다. 배터리의 리드를 POWER 커넥터의 Gnd 및 Vin 핀 헤더에 삽입할 수 있습니다. 이 보드는 6~20볼트의 외부 전원에서 작동할 수 있습니다. 그러나 7V 미만으로 공급하면 5V 핀이 12V 미만으로 공급되어 보드가 불안정해질 수 있습니다. XNUMXV 이상 사용시 voltage 레귤레이터가 과열되어 보드를 손상시킬 수 있습니다. 권장 범위는 7~12볼트입니다.
전원 핀은 다음과 같습니다.
- 빈. 입력 볼륨tag외부 전원(USB 연결 또는 기타 규제 전원의 5볼트와 반대)을 사용할 때 Arduino 보드에 연결합니다. vol을 공급할 수 있습니다.tage 이 핀을 통해, 또는 vol을 공급하는 경우tage 전원 잭을 통해 이 핀을 통해 액세스합니다.
- 5V. 조정된 전원 공급 장치는 보드의 마이크로컨트롤러 및 기타 구성 요소에 전원을 공급하는 데 사용됩니다. 이는 온보드 조정기를 통해 VIN에서 나오거나 USB 또는 다른 조정된 5V 공급 장치에 의해 공급될 수 있습니다.
- 3V3. 온보드 레귤레이터에서 3.3볼트 공급이 생성됩니다. 최대 전류 소모량은 50mA입니다.
- 접지. 접지 핀.
메모리
ATmega328에는 32KB가 있습니다(0.5KB는 부트로더에 사용됨). 또한 2KB의 SRAM과 1KB의 EEPROM(EEPROM 라이브러리로 읽고 쓸 수 있음)이 있습니다.
입력 및 출력
Uno의 14개 디지털 핀 각각은 pinMode(), digitalWrite() 및 digitalRead() 함수를 사용하여 입력 또는 출력으로 사용할 수 있습니다. 그들은 5볼트에서 작동합니다. 각 핀은 최대 40mA를 제공하거나 수신할 수 있으며 20-50kOhms의 내부 풀업 저항(기본적으로 연결 해제됨)이 있습니다. 또한 일부 핀에는
특수 기능:
- 직렬: 0(RX) 및 1(TX). TTL 직렬 데이터를 수신(RX) 및 전송(TX)하는 데 사용됩니다. 이 핀은 ATmega8U2 USB-TTL 직렬 칩의 해당 핀에 연결됩니다.
- 외부 인터럽트: 2 및 3. 이 핀은 낮은 값, 상승 또는 하강 에지 또는 값 변경에 대한 인터럽트를 트리거하도록 구성할 수 있습니다. 자세한 내용은 attachInterrupt() 함수를 참조하십시오.
- PWM: 3, 5, 6, 9, 10 및 11. analogWrite() 함수로 8비트 PWM 출력을 제공합니다.
- SPI: 10(SS), 11(MOSI), 12(MISO), 13(SCK). 이 핀은 SPI 라이브러리를 사용하여 SPI 통신을 지원합니다.
- LED: 13. 디지털 핀 13에 연결된 내장 LED가 있습니다. 핀이 HIGH 값일 때 LED가 켜지고 핀이 LOW일 때 꺼집니다.
Uno에는 A6에서 A0까지 레이블이 지정된 5개의 아날로그 입력이 있으며 각 입력은 10비트의 분해능(예: 1024개의 서로 다른 값)을 제공합니다. 기본적으로 접지에서 5볼트까지 측정하지만 AREF 핀과 analogReference() 함수를 사용하여 범위의 상단을 변경할 수 있습니까? 또한 일부 핀에는 다음과 같은 특수 기능이 있습니다.
- I2C: 4(SDA) 및 5(SCL). Wire 라이브러리를 사용하여 I2C(TWI) 통신을 지원합니다. 보드에는 몇 가지 다른 핀이 있습니다.
- AREF. 참조 권tage는 아날로그 입력용입니다. analogReference()와 함께 사용됩니다.
- 초기화. 마이크로컨트롤러를 재설정하려면 이 라인을 LOW로 설정하십시오. 일반적으로 보드의 버튼을 차단하는 쉴드에 리셋 버튼을 추가하는 데 사용됩니다.
- Arduino 핀과 ATmega328 포트 간의 매핑도 참조하십시오.
의사소통
Arduino UNO에는 컴퓨터, 다른 Arduino 또는 기타 마이크로컨트롤러와 통신하기 위한 여러 기능이 있습니다. ATmega328은 디지털 핀 5(RX) 및 0(TX)에서 사용할 수 있는 UART TTL(1V) 직렬 통신을 제공합니다. 보드의 ATmega8U2는 USB를 통한 이 직렬 통신 채널이며 컴퓨터의 소프트웨어에 대한 가상 COM 포트로 나타납니다. '8U2 펌웨어는 표준 USB COM 드라이버를 사용하며 외부 드라이버가 필요하지 않습니다. 그러나 Windows에서는 .inf file 필요합니다. Arduino 소프트웨어에는 Arduino 보드와 간단한 텍스트 데이터를 주고 받을 수 있는 직렬 모니터가 포함되어 있습니다. 보드의 RX 및 TX LED는 데이터가 USB-직렬 칩 및 USB 연결을 통해 컴퓨터로 전송될 때 깜박입니다(단, 핀 0 및 1의 직렬 통신에는 해당되지 않음). SoftwareSerial 라이브러리는 Uno의 모든 디지털 핀에서 직렬 통신을 허용합니다. ATmega328은 I2C(TWI) 및 SPI 통신도 지원합니다. Arduino 소프트웨어에는 I2C 버스 사용을 단순화하는 Wire 라이브러리가 포함되어 있습니다. 자세한 내용은 설명서를 참조하십시오. SPI 통신을 위해서는 SPI 라이브러리를 사용하십시오.
프로그램 작성
Arduino Uno는 Arduino 소프트웨어(다운로드)로 프로그래밍할 수 있습니다. 도구 > 보드 메뉴에서 "Arduino Uno"를 선택합니다(보드의 마이크로컨트롤러에 따름). 자세한 내용은 참조 및 자습서를 참조하세요. Arduino Uno의 ATmega328에는 외부 하드웨어 프로그래머를 사용하지 않고도 새 코드를 업로드할 수 있는 부트로더가 미리 내장되어 있습니다. 원래 STK500 프로토콜(참조, C 헤더)을 사용하여 통신합니다. file에스). 부트로더를 우회하고 ICSP(In-Circuit Serial Programming) 헤더를 통해 마이크로컨트롤러를 프로그래밍할 수도 있습니다. 자세한 내용은 이 지침을 참조하십시오. ATmega8U2 펌웨어 소스 코드를 사용할 수 있습니다. ATmega8U2에는 DFU 부트로더가 탑재되어 있으며 보드 뒷면(이탈리아 지도 근처)의 납땜 점퍼를 연결한 다음 8U2를 재설정하여 활성화할 수 있습니다. 그런 다음 Atmel의 FLIP 소프트웨어(Windows) 또는 DFU 프로그래머(Mac OS X 및 Linux)를 사용하여 새 펌웨어를 로드할 수 있습니다. 또는 외부 프로그래머와 함께 ISP 헤더를 사용할 수 있습니다(DFU 부트로더 덮어쓰기). 자세한 내용은 이 사용자 기여 자습서를 참조하십시오.
자동(소프트웨어) 재설정
Arduino Uno는 업로드 전에 재설정 버튼을 물리적으로 누르는 대신 연결된 컴퓨터에서 실행되는 소프트웨어로 재설정할 수 있도록 설계되었습니다. ATmega8U2의 하드웨어 흐름 제어 라인(DTR) 중 하나는 328나노 패럿 커패시터를 통해 ATmega100의 리셋 라인에 연결됩니다. 이 라인이 어설션되면(로우로 설정됨) 리셋 라인은 칩을 리셋할 만큼 충분히 길게 떨어집니다. Arduino 소프트웨어는 이 기능을 사용하여 Arduino 환경에서 업로드 버튼을 누르기만 하면 코드를 업로드할 수 있습니다. 즉, DTR을 낮추는 것이 업로드 시작과 잘 조화될 수 있으므로 부트로더의 시간 제한이 더 짧을 수 있습니다.
이 설정에는 다른 의미가 있습니다. Uno가 Mac OS X 또는 Linux를 실행하는 컴퓨터에 연결되면 소프트웨어에서 USB를 통해 연결할 때마다 재설정됩니다. 다음 110초 정도 동안 부트로더가 Uno에서 실행됩니다. 잘못된 형식의 데이터(예: 새 코드 업로드 이외의 데이터)를 무시하도록 프로그래밍되어 있지만 연결이 열린 후 보드로 전송된 데이터의 처음 몇 바이트를 가로챕니다. 보드에서 실행 중인 스케치가 처음 시작할 때 일회성 구성 또는 기타 데이터를 수신하는 경우 통신하는 소프트웨어가 연결을 연 후 이 데이터를 보내기 전에 5초 동안 대기하는지 확인하십시오. Uno에는 자동 재설정을 비활성화하기 위해 잘라낼 수 있는 추적이 포함되어 있습니다. 트레이스 양쪽의 패드를 함께 납땜하여 다시 활성화할 수 있습니다. "RESET-EN"이라고 표시되어 있습니다. XNUMXV의 XNUMX옴 저항을 리셋 라인에 연결하여 자동 리셋을 비활성화할 수도 있습니다. 자세한 내용은 이 포럼 스레드를 참조하세요.
USB 과전류 보호
Arduino Uno에는 단락 및 과전류로부터 컴퓨터의 USB 포트를 보호하는 재설정 가능한 폴리 퓨즈가 있습니다. 대부분의 컴퓨터는 자체 내부 보호 기능을 제공하지만 퓨즈는 추가 보호 계층을 제공합니다. USB 포트에 500mA 이상이 적용되면 단락 또는 과부하가 제거될 때까지 퓨즈가 자동으로 연결을 끊습니다.
물리적 특성
Uno PCB의 최대 길이와 너비는 각각 2.7인치와 2.1인치이며, USB 커넥터와 전원 잭은 이전 치수 이상으로 확장됩니다. 7개의 나사 구멍을 통해 기판을 표면이나 케이스에 부착할 수 있습니다. 디지털 핀 8과 160 사이의 거리는 0.16mil(100″)이며 다른 핀의 XNUMXmil 간격의 짝수 배가 아닙니다.
Arduino UNO 참조 설계
레퍼런스 디자인은 "있는 그대로" 그리고 "모든 오류와 함께" 제공됩니다. Arduino는 명시적이든 묵시적이든 다른 모든 보증을 부인합니다. Arduino는 언제든지 예고 없이 사양 및 제품 설명을 변경할 수 있습니다. 고객은 "예약됨" 또는 "정의되지 않음"으로 표시된 기능 또는 지침의 부재 또는 특성에 의존하는 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증을 포함하되 이에 국한되지 않는 제품을 간주해서는 안 됩니다. Arduino는 향후 정의를 위해 이를 예약하고 향후 변경으로 인해 발생하는 충돌 또는 비호환성에 대해 어떠한 책임도 지지 않습니다. 에 있는 제품 정보는 Web 사이트 또는 자료는 예고 없이 변경될 수 있습니다. 이 정보로 디자인을 마무리하지 마십시오.
PDF 다운로드 : Arduino ATMEGA328 SMD 브레드보드 사용 설명서