아두이노 나노보드. 블로그 › Arduino를 배운 경험. 또 다른 게시물. 하드웨어


원천:

2013년 중반에 보드를 구입했습니다. 아두이노 나노버전 3.0. 보드가 본격적인 Arduino Uno 플랫폼과 유사한 플랫폼을 기반으로 구축된 것은 분명하지만 약간의 뉘앙스가 있습니다. 이 기사에서 그것들을 이해하려고 노력합시다.

Arduino Nano 3.0 플랫폼 ATmega328 마이크로컨트롤러를 기반으로 구축되었으며 작은 크기그리고 다른 프로젝트에서 사용될 수 있습니다. Nano는 Gravitech에서 개발하고 판매합니다. 기술 사양은 다음과 같습니다.

마이크로컨트롤러 - ATmega328
작동 전압 - 5V
입력 전압(권장) - 7-12V
입력 전압(한계) - 6-20V
디지털 입력/출력 - 14개(그 중 6개는 PWM 출력으로 사용 가능)
아날로그 입력 - 8
입력/출력을 통한 DC 전류 - 40mA
플래시 메모리 - 32KB(부트로더에 2KB 사용)
RAM - 2KB
EEPROM - 1KB
클록 주파수 - 16MHz
크기 - 1.85cm x 4.3cm

Arduino Nano는 Mini-B USB 커넥터뿐만 아니라 조정되지 않은 6~20V(핀 30) 또는 조정된 5V(핀 27) 외부 전원 공급 장치를 통해 전원을 공급받습니다. 전압이 가장 높은 소스가 자동으로 선택됩니다.

pinMode(), digitalWrite() 및 digitalRead() 함수를 사용하여 14개의 디지털 핀 모두 입력 또는 출력으로 구성할 수 있습니다. 핀은 5V에서 작동합니다. 각 핀에는 20-50kOhm의 부하 저항(표준 비활성화)이 있으며 최대 40mA를 전달할 수 있습니다.

컴퓨터나 기타 장치, 마이크로컨트롤러와 통신하는 방법에는 여러 가지가 있습니다. ATmega328은 핀 0(RX) 및 1(TX)을 통해 UART TTL(5V) 직렬 인터페이스를 지원합니다. FTDI FT232RL 칩은 USB를 통해 이 인터페이스를 라우팅합니다. FTDI 드라이버제공하다 가상 COM컴퓨터의 Arduino 프로그램에 포트합니다. FTDI 칩을 통해서만 데이터를 전송할 때 플랫폼의 RX 및 TX LED가 깜박입니다. USB 연결.


플랫폼은 다음을 사용하여 프로그래밍됩니다. 아두이노 소프트웨어, 최신 버전은 공식 홈페이지에서 다운로드할 수 있습니다.

하지만 그 전에는 컴퓨터에서 장치가 감지되어야 합니다. 제가 어려움에 부딪힌 것은 바로 이 지점에서였습니다. USB 케이블을 통해 Arduino를 컴퓨터에 연결할 때 시스템(Windows 7)은 플랫폼을 UART 장치로 식별했습니다. 하지만 드라이버가 자동으로 설치되지 않았습니다. (드라이버는 FTDI 칩 제조업체의 웹사이트에서 다운로드할 수 있습니다.) 이 작업을 수동으로 수행해야 했습니다. 이렇게 하려면 장치 관리자에서 식별되지 않은 장치를 선택해야 합니다. 속성에서 드라이버를 설치하거나 업데이트하는 옵션을 선택한 다음 제조업체 FTDI의 이미 설치된 드라이버 목록에서 USB 직렬 변환기 모델을 선택합니다. 드라이버를 설치한 후 복합 메시지가 나타납니다. USB 장치, 남은 것은 COM 및 LTP 포트용 드라이버를 설치하는 것입니다. 똑같은 방식으로 같은 제조업체의 드라이버를 선택했고 그 후 Arduino가 스케치를 업로드할 수 있게 되었습니다.

기능을 확인하려면 Arduino 애플리케이션을 엽니다. 도구 탭의 보드 메뉴에서 Arduino Nano w/ATmega328을 선택합니다. 이제 이 스케치를 프로그램에 복사하고 업로드 버튼을 클릭하세요.

/* SOS LED를 깜박입니다. 약간 수정된 표준 LED 깜박임 스케치. 짧은 깜박임 세 번, 긴 깜박임 세 번, 다시 짧은 깜박임 세 번을 번갈아 반복하여 모스 부호로 SOS 신호를 시뮬레이션합니다. 자세한 내용은 여기 http://www.craft-tech.ru */ // 전원이 공급되거나 재설정 버튼을 누르면 스케치가 켜집니다. void setup() ( // 핀 13으로 작업합니다. pinMode(13 , OUTPUT); ) // 루프 함수는 원에서 스케치를 실행합니다. void loop() ( digitalWrite(13, HIGH); // LED의 13번째 노드에 전압을 공급합니다. Delay(100); // 1/10을 기다립니다. 두 번째 digitalWrite(13, LOW); // 13개 다리의 전압을 끕니다. digitalWrite(13, LOW) (200); , HIGH); // 전압을 켭니다. Delay(500); // 1/2초 동안 기다립니다. digitalWrite(13, LOW); // 전압을 끕니다. digitalWrite(13, LOW); digitalWrite(13, HIGH); digitalWrite(13, HIGH); // 다시 짧게 깜박입니다. digitalWrite(13, LOW);

스케치가 컴파일되어 Arduino에 로드되면 보드의 LED가 모스 부호로 SOS 신호를 반복하면서 깜박이기 시작합니다. 이는 설정이 성공적으로 완료되었음을 의미합니다.

일반 정보

ATmega328(Arduino Nano 3.0) 또는 ATmega168(Arduino Nano 2.x) 마이크로컨트롤러를 기반으로 구축된 Nano 플랫폼은 크기가 작으며 실험실 작업에 사용할 수 있습니다. Arduino Duemilanove와 기능은 비슷하지만 어셈블리가 다릅니다. 차이점은 전원 커넥터가 없다는 것입니다. DC Mini-B USB 케이블을 통해 작업할 수 있습니다. Nano는 Gravitech에서 개발하고 판매합니다.

개략도 및 초기 데이터

연결

Arduino Nano 플랫폼에는 컴퓨터, 기타 Arduino 장치 또는 마이크로 컨트롤러와 통신하는 여러 장치가 포함되어 있습니다. ATmega168 및 ATmega328은 핀 0(RX) 및 1(TX)을 통해 UART TTL(5V) 직렬 인터페이스를 지원합니다. 보드에 설치된 FTDI FT232RL 칩은 USB를 통해 이 인터페이스를 라우팅하고 FTDI 드라이버(Arduino 프로그램에 포함됨)는 컴퓨터의 프로그램에 가상 COM 포트를 제공합니다. Arduino의 직렬 모니터를 사용하면 플랫폼에 연결되면 텍스트 데이터를 보내고 받을 수 있습니다. 플랫폼의 RX 및 TX LED는 데이터가 FTDI 칩 또는 USB 연결을 통해 전송될 때 깜박입니다(단, 핀 0과 1을 통한 직렬 전송을 사용하는 경우는 아님).

SoftwareSerial 라이브러리를 사용하면 Nano의 디지털 핀을 통해 직렬 데이터 전송을 생성할 수 있습니다.

ATmega168 및 ATmega328은 I2C(TWI) 및 SPI 인터페이스를 지원합니다. Arduino에는 I2C 버스를 쉽게 사용할 수 있는 Wire 라이브러리가 포함되어 있습니다. 더 자세한 정보는 문서에 있습니다. SPI 인터페이스를 사용하려면 ATmega168 및 ATmega328 마이크로컨트롤러의 데이터 시트를 참조하세요.

프로그램 작성

플랫폼은 Arduino 소프트웨어를 사용하여 프로그래밍됩니다. 도구 > 보드 메뉴에서 "Arduino Diecimila, Duemilanove 또는 Nano w/ ATmega168" 또는 "Arduino Duemilanove 또는 Nano w/ ATmega328"(설치된 마이크로컨트롤러에 따라)을 선택합니다. 자세한 내용은 설명서와 지침에서 확인할 수 있습니다.

ATmega168 및 ATmega328 마이크로컨트롤러에는 미리 작성된 부트로더가 함께 제공되므로 외부 프로그래머를 사용하지 않고도 새 프로그램을 쉽게 작성할 수 있습니다. 통신은 원래 STK500 프로토콜을 사용하여 수행됩니다.

부트로더를 사용하지 않고 ICSP 블록의 핀을 통해 마이크로컨트롤러를 프로그래밍하는 것이 가능합니다(회로 내 프로그래밍). 자세한 정보는 본 매뉴얼에서 확인하실 수 있습니다.

자동(소프트) 재부팅

Nano는 새 코드를 작성하기 전에 플랫폼의 버튼을 누르는 대신 프로그램 자체에서 재부팅이 수행되도록 설계되었습니다. FT232RL 데이터 흐름 제어(DTR) 라인 중 하나는 100nF 커패시터를 통해 ATmega168 또는 ATmega328 마이크로컨트롤러의 리셋 핀에 연결됩니다. 이 라인의 활성화, 즉 신호를 보내는 것 낮은 수준, 마이크로컨트롤러를 재부팅합니다. Arduino 프로그램은 이 기능을 사용하여 프로그래밍 환경 자체에서 업로드 버튼을 한 번만 클릭하면 코드를 업로드합니다. DTR 라인의 낮은 레벨 신호는 코드 기록 시작과 함께 조정되어 부트로더 시간 초과를 줄입니다.

이 기능에는 다른 용도가 있습니다. Nano는 Mac X 또는 Linux 컴퓨터(USB를 통해)의 Arduino 프로그램에 연결될 때마다 재부팅됩니다. 재부팅 후 다음 0.5초 동안 부트로더가 작동합니다. 프로그래밍하는 동안 플랫폼이 잘못된 데이터(코드를 제외한 모든 데이터)를 수신하는 것을 방지하기 위해 코드의 처음 몇 바이트가 지연됩니다. 새로운 프로그램). 플랫폼에 작성된 스케치에 대한 일회성 디버깅을 수행하거나 처음 실행할 때 다른 데이터를 입력하는 경우 컴퓨터의 프로그램이 데이터를 전송하기 전에 잠시 기다려야 합니다.

브레드보드 작업을 위한 작은 보드입니다. 칩을 기반으로 합니다. ATmega328(아두이노 나노 3.x)또는 ATmega168(아두이노 나노 2.x)와 거의 동일한 기능을 수행합니다. Arduino Duemilanove, 그러나 다른 폼 팩터로 만들어졌습니다. 유 아두이노 나노전원 잭이 없고 케이블 방식으로 작동됩니다. 미니B USB. 이 보드는 에 의해 설계되고 제조되었습니다. 그래비텍.

영감을 위한 아이디어

이용해서 할 수 있는 프로젝트에 대해서 아두이노 나노, Arduino 프로젝트 허브에서 읽을 수 있습니다. 공식 웹사이트의 교육 플랫폼입니다. 아두이노.

선적 서류 비치

을 위한 아두이노 나노 3.0(ATmega328):

을 위한 아두이노 나노 2.0(ATmega168):

참고: Eagle 무료 버전은 최대 2개의 레이어를 처리할 수 있지만, Nano 버전에는 4개의 레이어가 있습니다. 따라서 사용자들이 이글 무료버전에서도 파일을 열어서 사용할 수 있도록 연결되지 않은 패드로 제작하였습니다.

명세서

  • 마이크로컨트롤러– Atmel ATmega168 또는 ATmega328
  • 작동 전압– 5볼트
  • 입력 전압(권장)– 7-12볼트
  • 입력 전압(한계)– 6-20볼트
  • 디지털 I/O 접점– 14개 (이 중 6개를 사용하여 PWM 출력 가능)
  • 아날로그 입력 핀– 8개
  • I/O 핀당 최대 전류– 40밀리암페어
  • 플래시 메모리– 16KB(ATmega168) 또는 32KB(ATmega328) 중 2KB는 부트로더에서 사용됩니다.
  • 스램– 1KB(ATmega168) 또는 2KB(ATmega328)
  • EEPROM– 512바이트(ATmega168) 또는 1KB(ATmega328)
  • 클록 주파수– 16MHz
  • 길이45mm.

    4.5e-4킬로미터
    0.45미터
    4.5센티미터

  • 너비18mm.

    1.8e-4킬로미터
    0.18미터
    1.8센티미터

  • 무게– 5그램

영양물 섭취

아두이노 나노 보드연결 유형에서 전원을 공급받을 수 있습니다. 미니B USB, 조정되지 않은 외부 전원 공급 장치 6-20V(30번째 핀)또는 조정된 외부 전원 공급 장치에서 5V(27번째 핀). 전압이 가장 높은 소스가 전원으로 선택됩니다. 선택은 자동으로 발생합니다.

메모리

ATmega168갖추게 하는 16KB 플래시- 코드를 저장하기 위한 메모리(이 중 2KB부트로더에서 사용됨) 및 칩 ATmega328 - 32KB(그 중 동일한 2KB부트로더에서 사용됨). 또한 두 칩 모두 메모리 유형을 갖추고 있습니다. 스램 (ATmega168가지다 1KB, 에이 ATmega3282KB) 및 메모리 유형 EEPROM (ATmega168가지다 512바이트, 에이 ATmega3281KB). 쓰기 및 읽기 EEPROM EEPROM 라이브러리를 사용하여 수행됩니다.

입력 및 출력 접점

다음 중 하나 14개의 디지털 나노 접점 pinMode(), digitalWrite() 및 digitalRead() 함수를 사용하여 입력 및 출력 핀으로 모두 사용할 수 있습니다. 그들은 다음을 위해 일한다 5볼트. 각 연락처는 받거나 줄 수 있습니다. 40밀리암페어 이하, 또한 내장 풀업 저항(기본적으로 비활성화됨)이 있습니다. 20-50kΩ. 또한 일부 연락처에는 다음과 같은 특별한 기능이 있습니다.

  • 직렬 데이터 전송: 0위(RX)그리고 1위(TX)콘택트 렌즈. ( RX) 및 전송 ( 텍사스) 연이은 ( TTL) 데이터. 이 핀은 칩의 해당 핀에 연결됩니다. FTDI FT232RL, 이는 변환 USB-데이터 입력 TTL-데이터.
  • 외부 인터럽트: 2위그리고 3번째콘택트 렌즈. 이 핀은 LOW 값으로 전환할 때, 펄스의 하강/상승 에지에서 또는 값이 변경될 때 인터럽트를 트리거하도록 구성할 수 있습니다. 자세한 내용은 attachmentInterrupt() 함수에 대한 문서를 참조하세요.
  • PWM: 3번째, 5번째, 6번째, 9일, 10일그리고 11일콘택트 렌즈. 지원발행 8비트 PWM AnalogWrite() 함수를 사용합니다.
  • SPI 인터페이스: 10일(SS), 11위(모시), 12일(미소)그리고 13일(SCK)콘택트 렌즈. 이러한 연락처는 다음과 같은 통신을 지원합니다. SPI SPI 라이브러리.
  • 내장 LED: 13번째 디지털 핀입니다.이 핀에 HIGH 값을 적용하면 LED가 켜지고, LOW이면 꺼집니다.

지불하다 아두이노 나노가지다 아날로그 입력 핀 8개, 그들은 모두 지원합니다 10비트 분해능(즉, 그들은 함께 일할 수 있습니다 1024개의 다른 값). 기본적으로 전압 범위는 다음과 같습니다. 접지에서 5V까지그러나 이 범위의 상한은 AnalogReference() 함수를 사용하여 늘릴 수 있습니다. 아날로그 접점 7 그리고 8 디지털 연락처로 사용할 수 없습니다.

  • I2C 인터페이스: 연락처 A4(SDA)그리고 A5(SCL). 지원 유형 통신 I2C(TWI), 이는 Wire 라이브러리를 사용하여 구현됩니다.

또한 나노몇 가지 특별한 연락처가 더 있습니다:

  • AREF- 입력 아날로그 접점의 기준 전압. AnalogReference() 함수와 함께 사용됩니다.
  • 다시 놓기– 이 핀에 LOW를 적용하면 마이크로컨트롤러가 재설정됩니다. 일반적으로 추가하는 데 사용됩니다. "방패"재설정 버튼 때문에 연결됨 "방패"보드 자체의 재설정 버튼을 차단합니다.

의사소통

지불하다 아두이노 나노컴퓨터는 물론 다른 Arduino 및 마이크로 컨트롤러와 통신하기 위한 여러 가지 수단이 있습니다. 작은 조각 ATmega168그리고 ATmega328일관된 제공 UART TTL(5V)에서 사용할 수 있는 통신 0위(RX)그리고 1위(TX)디지털 연락처. 보드에도 칩이 있습니다 FTDI FT232RL, 이는 이 직렬 통신을 다음으로 리디렉션합니다. USB, 그리고 FTDI 드라이버 덕분에(다음에서 사용 가능) IDE 아두이노 ) 운영체제컴퓨터는 보드를 가상으로 본다 COM-포트. 또한 IDE 아두이노간단한 텍스트 데이터를 보드와 주고받을 수 있는 포트 모니터가 내장되어 있습니다. 게다가, 에 나노 LED가 있어요 RX그리고 텍사스, 칩을 통해 데이터가 전송될 때 켜집니다. FTDI그리고 USB-컴퓨터에 연결(단, 직렬 포트를 통하지 않음) 0번째그리고 1위콘택트 렌즈).

모든 디지털 연락처 나노 SoftwareSerial 라이브러리를 사용하여 수행되는 직렬 통신을 지원합니다.

게다가 칩은 ATmega168그리고 ATmega328지원형 커뮤니케이션 I2C(TWI)그리고 SPI. 버스 작업을 더 쉽게 하기 위해 I2C다섯 IDE 아두이노 Wire 라이브러리가 내장되어 있으며 SPI– SPI 라이브러리.

프로그램 작성

작은 조각 ATmega168그리고 ATmega328~에 아두이노 나노외부 하드웨어 프로그래머를 사용하지 않고도 보드에 새 코드를 로드할 수 있는 사전 작성된 부트로더가 함께 제공됩니다.

부트로더는 프로토콜을 통해 통신합니다. STK500(설명 , ).

자동(소프트웨어) 재설정

아두이노 나노 보드새 스케치를 로드하기 전에 재설정 버튼을 클릭할 필요가 없도록 설계되었습니다. 에 의해보드가 연결된 컴퓨터에서.

칩의 데이터 흐름 제어 라인 중 하나 FT232RL(즉, 라인 DTR)에 연결됨 다시 놓기- 칩의 라인 ATmega168(또는 ATmega328) 을 통해 100나노패럿 커패시터.이 라인에 LOW를 적용하면 라인의 값은 다시 놓기칩을 재설정할 수 있을 만큼 떨어집니다. 이 기능을 사용하면 간단히 클릭하여 새 코드를 업로드할 수 있습니다. IDE 아두이노다운로드 버튼. 이는 라인에 LOW 값을 적용한 이후 부트 로더의 시간 초과가 더 짧아질 수 있음을 의미합니다. DTR스케치 업로드 시작과 함께 조율될 수 있습니다.

이는 다른 방식으로 보드 작동에 영향을 미칩니다. 만약에 나노컴퓨터에 연결되어 있습니다 리눅스또는 맥 OS X, 열 때마다 재설정됩니다. USB- 보드와 보드 사이의 연결 에 의해컴퓨터에서. 다음 0.5초 동안(또는 이와 유사한 것) 나노부트로더가 시작됩니다. 그리고 잘못된 데이터(예: 코드 로드와 관련이 없는 모든 데이터)를 무시하도록 프로그래밍되어 있지만 연결이 열린 후 보드로 전송된 처음 몇 바이트를 가로챌 것입니다. 따라서 보드를 실행할 때 스케치가 초기 설정이나 기타 중요한 데이터를 수신하는 경우 다음을 확인하십시오. 에 의해스케치가 통신하는 는 연결을 연 후 이 데이터를 보내기 전에 약 1초 정도 기다립니다.

ATmega328(Arduino Nano 3.0) 또는 ATmega168(Arduino Nano 2.x) 마이크로컨트롤러를 기반으로 구축된 Nano 플랫폼은 크기가 작으며 실험실 작업에 사용할 수 있습니다.

아두이노 나노 보드

Arduino Nano는 USB Mini-B 연결을 통해 전원을 공급받거나 조정되지 않은 6~20V(핀 30) 또는 조정된 5V(핀 27) 외부 전원 공급 장치를 통해 전원을 공급받을 수 있습니다. 전압이 가장 높은 소스가 자동으로 선택됩니다.

Arduino Nano 보드의 특성

마이크로컨트롤러

ATmega168 또는 ATmega328

작동 전압

5V

7~12V

입력 전압(한계)

6~20V

디지털 입력/출력

14개(그 중 6개는 PWM 출력으로 사용 가능)

아날로그 입력

입력/출력을 통한 DC 전류

40mA

3.3V 출력을 위한 정전류

50mA

플래시 메모리

16KB(ATmega168) 또는 32KB(ATmega328), 부트로더에 2KB 사용

숫양

1KB(ATmega168) 또는 2KB(ATmega328)

일반 정보

Arduino Nano는 ATmega328(Arduino Nano 3.0) 또는 ATmega168(Arduino Nano 2.x) 마이크로컨트롤러를 기반으로 하는 모든 기능을 갖춘 소형 장치로, 개발 보드와 함께 사용하도록 조정되었습니다. 이 장치는 Arduino Duemilanove와 기능면에서 유사하지만 크기, 전원 커넥터 부족, USB 케이블 유형(Mini-B)이 다릅니다. Arduino Nano는 Gravitech에서 개발하고 제조합니다.

도식적이고 독창적인 디자인

칠판에 나열된 것 외에도 몇 가지 결론이 더 있습니다.

  • AREF.아날로그 입력용 기준 전압. 기능으로 사용할 수 있습니다.
  • 다시 놓기.이 핀을 로우 레벨(LOW)로 누르면 마이크로컨트롤러가 재설정됩니다. 일반적으로 이 핀은 확장 카드의 재설정 버튼을 작동하는 데 사용됩니다.

연결

Arduino Nano는 컴퓨터, 다른 Arduino 또는 기타 마이크로컨트롤러와 통신하기 위한 다양한 옵션을 제공합니다. ATmega168 및 ATmega328에는 디지털 핀 0(RX) 및 1(TX)을 통해 직렬 통신을 허용하는 UART 트랜시버가 있습니다. FTDI FT232RL 칩은 트랜시버와 컴퓨터의 USB 포트 간의 통신을 제공하며 PC에 연결하면 Arduino를 다음과 같이 감지할 수 있습니다. 가상 COM 포트(FTDI 드라이버는 Arduino 소프트웨어 패키지에 포함되어 있습니다). Arduino 소프트웨어 패키지에는 다음이 포함됩니다. 특별 프로그램, 간단한 텍스트 데이터를 읽고 Arduino로 보낼 수 있습니다. USB를 통해 컴퓨터로 데이터를 전송할 때 보드의 RX 및 TX LED가 깜박입니다. (시리얼 데이터가 핀 0과 1을 통해 전송되면 이 LED는 활성화되지 않습니다.)

자동(소프트웨어) 재설정

프로그램을 로드하기 전에 매번 재설정 버튼을 누를 필요가 없도록 Arduino Nano는 연결된 컴퓨터의 소프트웨어로 재설정할 수 있도록 설계되었습니다. 데이터 흐름 제어(DTR)와 관련된 FT232RL 칩의 핀 중 하나는 100nF 커패시터를 통해 ATmega168 또는 ATmega328 마이크로 컨트롤러의 RESET 핀에 ​​연결됩니다. DTR 라인이 0이 되면 RESET 핀도 마이크로컨트롤러를 재설정할 수 있을 만큼 오랫동안 Low 상태가 됩니다. 이 기능은 Arduino 프로그래밍 환경에서 단 한 번의 버튼 클릭만으로 마이크로컨트롤러를 플래시할 수 있도록 하는 데 사용됩니다. 이 아키텍처를 사용하면 펌웨어 프로세스가 항상 DTR 라인의 신호 감소와 동기화되므로 부트로더 시간 초과를 줄일 수 있습니다. 이 아키텍처를 사용하면 펌웨어 프로세스가 항상 DTR 라인의 신호 감소와 동기화되므로 부트로더 시간 초과를 줄일 수 있습니다.

그러나 이 시스템은 다른 결과를 초래할 수 있습니다. ~에 Arduino 연결 Mac OS X 또는 Linux를 실행하는 컴퓨터에 Nano를 사용하면 소프트웨어가 보드에 연결될 때마다 마이크로컨트롤러가 재설정됩니다. Arduino Nano를 재설정한 후 부트로더가 약 0.5초 동안 활성화됩니다. 부트로더가 외부 데이터(즉, 새 프로그램을 플래시하는 프로세스와 관련되지 않은 모든 데이터)를 무시하도록 프로그래밍되어 있더라도 연결이 설정된 직후 보드로 전송된 패키지에서 처음 몇 바이트의 데이터를 가로챌 수 있습니다. . 따라서 Arduino에서 실행되는 프로그램이 처음 실행될 때 컴퓨터로부터 설정이나 기타 데이터를 수신하도록 설계된 경우 다음 사항을 확인하십시오. 소프트웨어 Arduino가 상호 작용하는 는 연결이 설정된 후 1초를 보냅니다.

Arduino 보드의 주요 버전은 다음 모델로 표시됩니다.

일반 정보

ATmega328(Arduino Nano 3.0) 또는 ATmega168(Arduino Nano 2.x) 마이크로컨트롤러를 기반으로 구축된 Nano 플랫폼은 크기가 작으며 실험실 작업에 사용할 수 있습니다. Arduino Duemilanove와 기능은 비슷하지만 어셈블리가 다릅니다. 차이점은 DC 전원 커넥터가 없고 Mini-B USB 케이블을 통해 작동한다는 것입니다. Nano는 Gravitech에서 개발하고 판매합니다.

개략도 및 초기 데이터

연결

Arduino Nano 플랫폼에는 컴퓨터, 기타 Arduino 장치 또는 마이크로 컨트롤러와 통신하는 여러 장치가 포함되어 있습니다. ATmega168 및 ATmega328은 핀 0(RX) 및 1(TX)을 통해 UART TTL(5V) 직렬 인터페이스를 지원합니다. 보드에 설치된 FTDI FT232RL 칩은 USB를 통해 이 인터페이스를 라우팅하고 FTDI 드라이버(Arduino 프로그램에 포함됨)는 컴퓨터의 프로그램에 가상 COM 포트를 제공합니다. Arduino의 직렬 모니터를 사용하면 플랫폼에 연결되면 텍스트 데이터를 보내고 받을 수 있습니다. 플랫폼의 RX 및 TX LED는 데이터가 FTDI 칩 또는 USB 연결을 통해 전송될 때 깜박입니다(단, 핀 0과 1을 통한 직렬 전송을 사용하는 경우는 아님).

SoftwareSerial 라이브러리를 사용하면 Nano의 디지털 핀을 통해 직렬 데이터 전송을 생성할 수 있습니다.

ATmega168 및 ATmega328은 I2C(TWI) 및 SPI 인터페이스를 지원합니다. Arduino에는 I2C 버스를 쉽게 사용할 수 있는 Wire 라이브러리가 포함되어 있습니다. 더 자세한 정보는 문서에 있습니다. SPI 인터페이스를 사용하려면 ATmega168 및 ATmega328 마이크로컨트롤러의 데이터 시트를 참조하세요.

프로그램 작성

플랫폼은 Arduino 소프트웨어를 사용하여 프로그래밍됩니다. 도구 > 보드 메뉴에서 "Arduino Diecimila, Duemilanove 또는 Nano w/ ATmega168" 또는 "Arduino Duemilanove 또는 Nano w/ ATmega328"(설치된 마이크로컨트롤러에 따라)을 선택합니다. 자세한 내용은 설명서와 지침에서 확인할 수 있습니다.

ATmega168 및 ATmega328 마이크로컨트롤러에는 미리 작성된 부트로더가 함께 제공되므로 외부 프로그래머를 사용하지 않고도 새 프로그램을 쉽게 작성할 수 있습니다. 통신은 원래 STK500 프로토콜을 사용하여 수행됩니다.

부트로더를 사용하지 않고 ICSP 블록의 핀을 통해 마이크로컨트롤러를 프로그래밍하는 것이 가능합니다(회로 내 프로그래밍). 자세한 정보는 본 매뉴얼에서 확인하실 수 있습니다.

자동(소프트) 재부팅

Nano는 새 코드를 작성하기 전에 플랫폼의 버튼을 누르는 대신 프로그램 자체에서 재부팅이 수행되도록 설계되었습니다. FT232RL 데이터 흐름 제어(DTR) 라인 중 하나는 100nF 커패시터를 통해 ATmega168 또는 ATmega328 마이크로컨트롤러의 리셋 핀에 연결됩니다. 이 라인의 활성화, 즉 낮은 수준의 신호를 보내면 마이크로컨트롤러가 재부팅됩니다. Arduino 프로그램은 이 기능을 사용하여 프로그래밍 환경 자체에서 업로드 버튼을 한 번만 클릭하면 코드를 업로드합니다. DTR 라인의 낮은 레벨 신호는 코드 기록 시작과 함께 조정되어 부트로더 시간 초과를 줄입니다.

이 기능에는 다른 용도가 있습니다. Nano는 Mac X 또는 Linux 컴퓨터(USB를 통해)의 Arduino 프로그램에 연결될 때마다 재부팅됩니다. 재부팅 후 다음 0.5초 동안 부트로더가 작동합니다. 프로그래밍하는 동안 플랫폼이 잘못된 데이터(새 프로그램의 코드를 제외한 모든 데이터)를 수신하는 것을 방지하기 위해 코드의 처음 몇 바이트가 지연됩니다. 플랫폼에 작성된 스케치에 대한 일회성 디버깅을 수행하거나 처음 실행할 때 다른 데이터를 입력하는 경우 컴퓨터의 프로그램이 데이터를 전송하기 전에 잠시 기다려야 합니다.

(파일 열기 아두이노 메가 Eagle CAD에서 Reference Design.brd를 누른 다음 파일 -> 내보내기... -> 이미지)

교체/아날로그가 가능한 Arduino Nano 보드의 자체 조립용 구성 요소

지정 명칭 설명 메모
1 C1 0.1uF 커패시터 0.1uF smd 0805 5개만
2 C2 4.7uF 2개만
3 C3 0.1uF 커패시터 0.1uF smd 0805
4 C4 0.1uF 커패시터 0.1uF smd 0805
5 C7 0.1uF 커패시터 0.1uF smd 0805
6 C8 4.7uF 탄탈륨 커패시터 4.7μF smd A
7 C9 0.1uF 커패시터 0.1uF smd 0805
8 D1 MBR0520 다이오드, smd SOD-123 모든 다이오드 또는 쇼트키 다이오드, U>20V, I>0.5A
9 J1 HEAD15-NOSS
10 J2 HEAD15-NOSS-1 핀 커넥터 1x15("수")
11 J3 USB-미니-B%C 미니 USB 커넥터 - 온보드 소켓, 유형 B
12 J4 HEAD3X2 핀 커넥터 2x3("수")
13 LED1 RED_RX LED smd 0805 "RX" - UART를 통한 데이터 수신 표시 4개만
14 LED2 그린_TX LED smd 0805 "RX" - UART를 통한 데이터 전송 표시
15 LED3 L_AMBER LED smd 0805 "L" - 포트 번호 13에 연결됨
16 LED4 파란색 LED smd 0805 "PWR" - 전원 표시기
17 RP1 1K 저항기 어셈블리 4x1 kOhm, smd 4D03
18 RP2 330 저항기 어셈블리 4x330 Ohm, smd 4D03
19 SW1 다시 놓기 리셋 버튼 2핀, smd 크기는 최대 3x6mm입니다!
20 U1 ATMEGA ATMEGA168-20AU 또는 ATMEGA328-20AU, smd TQFP-32
21 U2 FT232RL FT232RL, smd SSOP28
22 U3 UA78M05 저드롭아웃 선형 레귤레이터
입력/출력 전압 0.5A, smd SOT223
가능한 교체: 모든 선형 전압 조정기 7805(SMD, SOT223), 핀 포함: 1-Vin, 2-Gnd, 3 - Vout
23 Y1 16MHz 수정 공진기 16MHz SMD 크기 3.7x3.1x1.0mm 이하!