Windows 7에 arduino uno 설치. USB FTDI 드라이버에 문제가 있음

수술실에서 Arduino를 시작해 보세요. 윈도우 시스템. Arduino Uno 플랫폼을 예로 들어보겠습니다. 다른 보드의 경우 차이가 최소화됩니다.

아두이노 IDE 설치

먼저 컴퓨터에 통합 환경을 설치해야 합니다. 아두이노 개발 - 아두이노 IDE. 때문에 Arduino SRL과 Arduino LLC 간의 전쟁, 플랫폼 모델에 따라 Arduino IDE 버전을 선택하십시오.

아두이노 IDE 1.7.7 다운로드- 모든 플랫폼용(Arduino SRL의 안정적인 버전).
아두이노 IDE 1.6.4 다운로드- Arduino Leonardo ETH 및 Arduino M0(Arduino LLC의 안정적인 버전)을 제외한 모든 플랫폼용.

아두이노 IDE 실행

Arduino IDE를 다운로드하여 설치했으면 실행해 보겠습니다! 아래 그림과 같이 창이 열립니다.

뭔가 잘못됐나요?

Arduino IDE가 시작되지 않습니까? JRE(Java Runtime Environment)가 컴퓨터에 잘못 설치되었을 수 있습니다. Arduino IDE를 다시 설치하려면 (1)번 항목을 참조하세요. 설치 프로그램이 JRE 배포에 필요한 모든 작업을 수행합니다.

Arduino를 컴퓨터에 연결하기

Arduino IDE를 설치한 후에는 Arduino 플랫폼을 컴퓨터에 연결할 차례입니다.

USB 케이블을 통해 Arduino를 컴퓨터에 연결하십시오. 보드의 "ON" LED가 켜지고 "L" LED가 깜박이기 시작합니다. 이는 보드와 마이크로 컨트롤러에 전원이 공급된다는 의미입니다. Arduino가 시작되었습니다.공장에서 프로그래밍된 "Blink"(LED 깜박임)를 실행합니다.

특정 Arduino와 작동하도록 Arduino IDE를 구성하려면 컴퓨터가 이 플랫폼에 할당한 COM 포트 번호를 찾아야 합니다. 이렇게 하려면 Windows 장치 관리자로 이동하여 "포트(COM 및 LPT)" 탭을 엽니다. 다음 그림을 봐야 합니다:


이는 운영 체제가 Arduino 보드를 COM 포트로 인식하고 올바른 드라이버를 선택하고 이 COM 포트 번호 2를 할당했음을 의미합니다. 다른 Arduino 보드를 컴퓨터에 연결하면 운영 체제는 해당 보드에 다른 번호를 할당합니다. 따라서 Arduino 보드가 여러 개 있는 경우 COM 포트 번호를 혼동하지 않는 것이 매우 중요합니다.

뭔가 잘못됐나요?

Arduino를 컴퓨터에 연결한 후 장치 관리자에 새 장치가 나타나지 않으면 다음 이유 중 하나 때문일 수 있습니다.
USB 케이블 또는 포트에 결함이 있음
측면 차단 운영 체제
Arduino 보드에 결함이 있음

Arduino와 함께 작동하도록 Arduino IDE 설정

이제 통신할 보드가 COM 포트 번호 2에 있음을 Arduino IDE에 알려야 합니다.
이렇게 하려면 도구 포트 메뉴로 이동하여 "COM2" 포트를 선택합니다. 이제 Arduino IDE는 "COM2" 포트에 무언가가 있다는 것을 알고 있습니다. 그리고 그녀는 곧 이 "무언가"와 소통해야 할 것입니다.

Arduino IDE에 의심의 여지가 없도록 하려면 Arduino IDE에 어떤 보드를 사용할 것인지 알려주어야 합니다. 이렇게 하려면 도구 보드 메뉴로 이동하여 "Arduino Uno" 보드를 선택합니다.


이제 Arduino IDE는 Arduino 펌웨어를 플래시하는 데 필요한 모든 것을 알고 있습니다.

뭔가 잘못됐나요?

직렬 포트 목록이 비어 있습니까? 이는 Arduino가 올바르게 연결되지 않았음을 의미합니다. 연결을 디버깅하려면 (3)단계로 돌아갑니다.
메뉴를 탐색할 때 Arduino IDE가 엄청나게 느립니까? 장치 관리자에서 모든 외부 Bluetooth 직렬 장치를 비활성화합니다. 예를 들어 연결할 가상 장치 휴대전화 Bluetooth를 통해 이 동작이 발생할 수 있습니다.

환경이 구성되고 보드가 연결됩니다. 이제 스케치 업로드를 진행할 수 있습니다.
Arduino IDE에는 문제에 대한 해결책을 빠르게 확인할 수 있는 미리 만들어진 예제가 많이 포함되어 있습니다. 또한 "Blink"의 간단한 예도 포함되어 있습니다. 선택해 보겠습니다.


공장 LED가 깜박이는 것과의 차이점을 확인하기 위해 코드를 약간 수정해 보겠습니다.
줄 대신 :

코드의 전체 버전:

무효 설정()
{
// 핀 13을 출력 모드로 설정
핀모드(13, 출력);
}

무효 루프()
{
// "높은 신호"를 핀 13으로 보냅니다.
디지털쓰기(13, HIGH);

// 100밀리초 기다림
지연(100);

// 13번 핀에 "낮은 신호"를 보냅니다.
디지털쓰기(13, LOW);

// 100밀리초 기다림
지연(100);
}

이제 "L" LED가 켜졌다가 100밀리초마다 꺼집니다. 이는 공장 버전보다 10배 빠른 속도입니다. 우리의 스케치를 Arduino에 업로드하고 이것이 사실인지 확인해 볼까요?

부팅이 완료되면 LED가 더 빠르게 깜박이기 시작합니다. 이것은 모든 것이 잘 풀렸다는 것을 의미합니다. 이제 안전하게 "실험"으로 넘어갈 수 있습니다.

뭔가 잘못됐나요?

다운로드 결과 avrdude와 같은 오류가 나타납니다: stk500_get sync(): not in sync: resp = 0x00? 이는 Arduino가 올바르게 구성되지 않았음을 의미합니다. 이전 단계로 돌아가서 장치가 운영 체제에서 인식되었는지 확인하고 COM 포트 및 보드 모델에 대한 올바른 설정이 Arduino IDE에 설정되어 있는지 확인하세요.

댓글:

시작하는 방법을 살펴보겠습니다. 아두이노 나노 Windows 10 운영 체제에서.

1. 아두이노 IDE 설치

Arduino 통합 개발 환경인 Arduino IDE를 컴퓨터에 설치합니다.

이렇게 하려면 공식 Arduino 웹사이트로 이동하여 다운로드하세요. 최신 버전아두이노 IDE.

https://www.arduino.cc/en/Main/software#

다운로드한 파일을 관리자 권한으로 실행하세요.

라이센스에 동의합니다.


아무것도 바꾸지 않고 누르세요 "다음".



설치 경로를 선택하세요.


설치가 완료되기를 기다리고 있습니다.




다음 창에서("Always trust Arduino LLC Software" 상자를 선택하고 클릭하십시오.설치하다.



설치창에서 다음을 클릭하세요. 닫다.



2. Arduino 실행 IDE

Arduino IDE 메인 창. Arduino Nano가 컴퓨터에 연결되어 있지 않은 동안. 오른쪽 하단에 비문이 있습니다. "COM1의 Arduino/Genuino Uno". 이는 프로그램이 다음과 함께 작동하도록 구성되었음을 의미합니다. 아두이노 보드 Uno 및 해당 검색은 포트 COM1에서 수행됩니다.

3. Arduino를 컴퓨터에 연결하기

USB 케이블을 통해 Arduino를 컴퓨터에 연결합니다. Arduino의 LED가 켜져야 합니다.

이제 컴퓨터가 이 플랫폼에 할당한 COM 포트 번호를 찾아야 합니다. 가자 "장치 관리자" Windows 및 탭 확장 "포트(COM 및 LPT)".


그래서 Windows 10 OS는 Arduino 보드를 COM 포트 3번으로 식별했습니다.

4. Arduino와 함께 작동하도록 Arduino IDE 설정

Arduino Nano 보드가 위치한 Arduino IDE를 알려드리겠습니다. COM 포트 3번.

Arduino IDE를 실행하고 메뉴 항목으로 이동합니다.

"도구--> 포트--> 포트 COM3"을 선택합니다.



또한 작업할 보드에 Arduino IDE를 지정해야 합니다.

메뉴에서 선택하십시오:

"도구--> 보드--> "Arduino Nano" 보드를 선택하세요."



이번 설치와 아두이노 설정완성된.

Arduino에서는 프로그램을 플래시할 수 없습니다.

컴퓨터에서 Arduino로 프로그램을 전송하는 과정에는 많은 구성 요소가 관련됩니다. 그 중 하나 이상이 올바르게 작동하지 않으면 펌웨어 프로세스가 중단됩니다. 특히 펌웨어 프로세스는 Arduino 드라이버, Arduino 환경의 장치 모델 및 포트 선택, 보드에 대한 물리적 연결, 8U2 컨트롤러 펌웨어(Arduino Uno 및 Mega 2560), 메인 마이크로컨트롤러의 부트로더에 따라 달라집니다. 장치, 퓨즈 비트 설정 등 d. 다음은 특정 구성 요소의 문제를 해결하기 위한 몇 가지 권장 사항입니다.

아두이노 환경

  • 도구 > 보드 메뉴에서 Arduino 모델이 선택되어 있는지 확인하세요. Arduino Uno가 있는 경우 적절한 항목을 선택하십시오. 또한 Arduino Duemilanove 이후 모델에는 ATmega328 마이크로 컨트롤러가 제공되고 이전 버전에는 ATmega168이 제공된다는 점을 명심하세요. Arduino에 어떤 컨트롤러가 사용되는지 확인하려면 마이크로컨트롤러(보드에서 가장 큰 칩)의 라벨을 읽어보세요. 보드 메뉴에 대한 자세한 내용은 Arduino 개발 환경 섹션에서 확인할 수 있습니다.
  • 그런 다음 도구 > 직렬 포트 메뉴에서 올바른 포트가 선택되었는지 확인합니다(포트가 나타나지 않으면 컴퓨터에 연결된 장치로 IDE를 다시 시작해 보십시오). Mac 컴퓨터에서 직렬 포트는 /dev/tty.usbmodem621(Arduino Uno 또는 Mega 2560의 경우) 또는 /dev/tty.usbserial-A02f8e(FTDI 칩이 있는 이전 버전의 Arduino의 경우)와 유사해야 합니다. Linux: /dev/ttyACM0 또는 이와 유사한 것(Arduino Uno 또는 Mega 2560의 경우) 또는 /dev/ttyUSB0(이전 버전의 Arduino의 경우). Windows에서는 COM 포트가 되지만 장치 관리자에서 선택하기 전에 Arduino와 연결된 포트를 확인해야 합니다. 이러한 포트가 목록에 없으면 드라이버에 대한 다음 섹션을 참조하세요.

드라이버

드라이버를 사용하면 컴퓨터(예: Arduino 환경)의 애플리케이션 소프트웨어가 연결된 하드웨어(Arduino 보드)와 통신할 수 있습니다. Arduino와 관련하여 드라이버는 시스템에 가상 직렬 포트(또는 가상 COM 포트)를 생성하는 역할을 담당합니다. Arduino Uno와 ATmega8U2 마이크로컨트롤러가 탑재된 Mega 2560은 운영 체제의 표준 드라이버(USB CDC)를 사용합니다. USB-UART 변환기의 역할을 FTDI 칩이 수행하는 다른 Arduino 보드는 FTDI의 드라이버를 사용합니다.

드라이버가 올바르게 설치되었는지 확인하는 가장 쉬운 방법은 Arduino를 PC에 연결하고 개발 환경에서 도구 > 직렬 포트 메뉴를 여는 것입니다. Arduino를 연결하면 여기에 새 메뉴 항목이 나타납니다. 이 경우 Arduino에 정확한 포트 이름이 할당되는 것은 전혀 중요하지 않습니다.

  • Windows 7(특히 64비트 버전)에서는 장치 관리자로 이동하여 Arduino Uno 또는 Mega 2560 드라이버를 업데이트해야 할 수 있습니다. 이렇게 하려면 관리자에서 장치를 마우스 오른쪽 버튼으로 클릭하세요(보드가 연결되어 있어야 함). 컴퓨터에) 다시 Windows 해당 .inf 파일을 선택합니다. 이 파일은 Arduino 소프트웨어의 drivers/폴더에 있습니다(FTDI USB Drivers 하위 디렉토리에는 없습니다).
  • 설치하는 동안 Arduino 드라이버 Windows XP에서 Uno 또는 Mega 2560을 사용하는 경우 "시스템이 지정된 파일을 찾을 수 없습니다."라는 오류가 발생하는 경우 이 해결 방법을 시도해 보십시오("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion 레지스트리 분기에 "RunOnce" 키 추가 관련). ").
  • Linux에서 Arduino Uno 및 Mega 2560은 /dev/ttyACM0 장치로 정의되며, 이는 Arduino 환경에서 사용되는 RXTX 라이브러리의 표준 버전에서 지원되지 않습니다. 직렬 통신. 따라서 이 환경의 Linux 버전에는 /dev/ttyACM* 장치에서도 작동하는 패치된 RXTX 라이브러리가 포함되어 있습니다. 이러한 장치에 대한 지원을 포함하는 특별한 버전(11.04)도 있습니다. 표준 RXTX 패키지를 사용하는 경우 시스템에 /dev/ttyACM0에서 /dev/ttyUSB0까지의 심볼릭 링크를 생성해야 합니다(예를 들어). 그러면 직렬 포트가 Arduino 환경에 나타납니다.

직렬 포트 액세스

  • Windows의 경우: 프로그램을 여는 데 시간이 오래 걸리거나 시작 시 충돌이 발생하거나 프로그램의 도구 메뉴를 여는 데 시간이 너무 오래 걸리는 경우 장치 관리자에서 모든 Bluetooth 직렬 포트 및 기타 네트워크 COM 포트를 비활성화해 보십시오. 도구 메뉴를 시작하거나 열면 Arduino 개발 환경이 컴퓨터의 모든 직렬 포트를 검색하므로 이러한 네트워크 포트가 있으면 프로그램이 정지되거나 충돌하는 경우가 있습니다.
  • USB 셀룰러 Wi-Fi 동글(예: Sprint 또는 Verizon), PDA 동기화 애플리케이션, Bluetooth-USB 드라이버(예: BlueSoleil), 가상 데몬 등과 같은 직렬 포트 스캐너를 실행하고 있지 않은지 확인하세요.
  • 방화벽(예: ZoneAlarm)으로 인해 직렬 포트가 차단되지 않는지 확인하십시오.
  • 또한 Arduino와 PC 간에 USB를 통해 이동하는 데이터를 모니터링하는 모든 프로그램(예: 처리, PD, vvvv 등)을 닫아야 합니다.
  • Linux: 적어도 일시적으로 Arduino 환경을 수퍼유저로 실행하여 Arduino 플래시에 도움이 되는지 확인하십시오.

보드에 대한 물리적 연결

  • 먼저 Arduino가 켜져 있는지 확인하십시오. 녹색 LED) 컴퓨터에 연결되어 있습니다.
  • Mac 컴퓨터에서는 다음과 같은 경우 몇 가지 문제가 있습니다. Arduino 연결 USB 허브를 통한 Uno 및 Mega 2560. "도구 > 직렬 포트" 메뉴에 아무것도 나타나지 않으면 보드를 컴퓨터에 직접 연결하고 Arduino IDE를 다시 시작해 보세요.
  • 펌웨어 설치 중에 디지털 핀 0과 1에서 모든 장치를 분리하세요. 이 핀은 Arduino를 컴퓨터에 연결하기 위한 인터페이스에 연결되어 있기 때문입니다(코드를 컨트롤러에 성공적으로 플래시한 후 다시 사용할 수 있습니다).
  • 모든 장치를 연결 해제하여 Arduino를 플래싱해 보십시오(물론 USB 케이블은 제외).
  • 보드가 전도성 금속 물체에 닿지 ​​않는지 확인하십시오.
  • 다른 USB 케이블을 사용해 보십시오. 때로는 실패할 수도 있습니다.

자동 재설정

  • Arudino가 자동 재설정 기능을 지원하지 않는 경우 펌웨어를 플래시하기 몇 초 전에 보드를 재설정했는지 확인하십시오. (Arduino Diecimila, Duemilanove 및 Nano는 LilyPad, Pro 및 Pro와 마찬가지로 자동 재설정을 지원합니다. 프로 미니 6핀 프로그래밍 커넥터 포함).
  • 참고: 일부 Arduino Diecimilas가 실수로 잘못된 부트로더로 플래시되었습니다. 이러한 모델은 프로그램을 로드하기 전에 재설정 버튼을 물리적으로 눌러야 합니다. 이에 대한 자세한 내용은 아래를 참조하세요.
  • 일부 컴퓨터에서는 Arduino 환경에서 업로드 버튼을 누른 후 (보드에 있는) 재설정 버튼을 눌러야 합니다. 누르는 사이의 다양한 시간 간격(약 2초 간격으로 0~10초 이상)으로 실험해 보세요.
  • 다음 오류가 발생하는 경우: "장치가 올바르게 응답하지 않습니다." 프로그램을 다시 플래시해 보십시오(즉, 보드를 재설정하고 업로드 버튼을 다시 클릭하십시오).

짐을 싣는 사람

  • Arduino에 부트로더가 설치되어 있는지 확인하세요. 이렇게 하려면 장치를 다시 시작하면 됩니다. 내장 LED(컨트롤러의 13번째 다리에 연결됨)가 깜박여야 합니다. 이런 일이 발생하지 않으면 보드에 부트로더가 없을 가능성이 높습니다.

여전히 프로그램을 플래시할 수 없으면 포럼에 질문하세요. 메시지에 다음 정보를 포함해 주세요.

  • 운영 체제 버전.
  • Arduino의 유형. 추가 배선이 필요한 Mini, LilyPad 또는 기타 모델의 경우 가능하면 게시물에 회로 사진을 포함해 주세요.
  • 이전에 보드를 성공적으로 플래시한 적이 있습니까? 그렇다면 보드가 작동을 멈추기 전에 보드로 무엇을 했는지 설명해주세요. 소프트웨어최근에 컴퓨터에 설치하거나 제거한 적이 있습니까?
  • Arduino에 프로그램을 로드하려고 할 때 나타나는 메시지입니다. 메시지를 받으려면 Shift 버튼을 누른 상태에서 도구 모음의 업로드 버튼을 클릭하세요.

"빌드 폴더가 사라졌거나 쓸 수 없습니다." 오류 발생(Mac OS X)

디스크 이미지(예: 응용 프로그램 폴더)에서 Arduino.app을 추출하셨나요? 그렇지 않으면 예시를 업로드할 수 없습니다.

Mac 컴퓨터에서 Java를 업데이트한 후 Arduino 환경이 시작되지 않습니다.

Apple의 최신 Java 업데이트는 64비트 버전의 기본 라이브러리를 사용하려고 시도합니다. 그러나 Arduino 소프트웨어는 32비트 버전의 RXTX 라이브러리를 사용합니다. Arduino를 시작할 때 다음과 같은 오류가 나타납니다.

기본 메소드에서 포착되지 않은 예외: java.lang.UnsatisfiedLinkError: /Applications/arduino-0016/Arduino 16.app/Contents/Resources/Java/librxtxSerial.jnilib: 적합한 이미지를 찾을 수 없습니다. 찾았습니다: /Applications/arduino-0016/Arduino 16.app/Contents/Resources/Java/librxtxSerial.jnilib: 범용 래퍼에 일치하는 아키텍처가 없습니다.

이 문제를 해결하려면 Finder 창에서 Arduino 애플리케이션(예: Arduino 16.app)을 클릭하고 파일 메뉴에서 정보 가져오기를 선택하세요. 패널에서 "32비트 모드에서 열기" 확인란을 선택합니다. 그러면 Arduino 환경이 정상적으로 시작됩니다.

프로그램 컴파일시 오류가 발생합니다. java.lang.StackOverflowError

Arduino 개발 환경은 정규식을 사용하여 코드를 조작하여 스케치를 사전 처리합니다. 때로는 특정 텍스트 줄로 인해 이 프로세스가 실패할 수 있습니다. 다음과 같은 오류가 표시되는 경우:

Java.lang.StackOverflowError at java.util.Vector.addElement(알 수 없는 소스) at java.util.Stack.push(알 수 없는 소스) at com.oroinc.text.regex.Perl5Matcher._pushState(Perl5Matcher.java)

com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) ) com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher. java) com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java)

그렇다면 바로 이 상황이다. 코드에서 "큰따옴표", "작은따옴표", 백슬래시 \, 주석 등과 관련된 비정상적인 문자 시퀀스가 ​​있는지 확인하세요. 예를 들어 따옴표가 없거나 시퀀스 "\""(""" 대신)가 있습니다.

보드가 외부 소스에서 전원을 공급받을 때 스케치가 실행되지 않습니다(Arduino Diecimila 모델 이하).

RX 핀이 연결 해제되어 있으므로 Arduino 부트로더는 데이터 대신 잡음을 수신할 수 있습니다. 즉, 시간 초과가 발생하지 않으며 그에 따라 프로그램이 시작되지 않습니다. 이 문제를 해결하려면 10kΩ 저항을 통해 RX 핀을 접지에 연결해 보십시오(또는 RX 및 TX 핀 연결).

프로그램을 플래시하려고 하면 Arduino 개발 환경(Windows)이 정지됩니다.

이 문제는 Arduino와 Logitech 프로세스 "LVPrcSrv.exe" 간의 충돌로 인해 발생할 수 있습니다. 작업 관리자를 열고 프로세스 목록에서 찾으십시오. 있는 경우 프로그램을 플래시하기 전에 프로세스를 완료해야 합니다.

Arduino가 켜지지 않습니다(녹색 전원 LED가 켜지지 않음).

Arduino Diecimila 또는 USB가 포함된 이전 버전(예: NG)을 사용하는 경우 보드의 점퍼(USB 커넥터 근처의 작은 플라스틱 부분)가 올바르게 설정되어 있는지 확인하세요. 보드가 외부 전원(해당 커넥터에 연결됨)에서 전원을 공급받는 경우 점퍼는 전원 커넥터에 더 가까운 두 핀을 닫아야 합니다. 보드에 USB 전원이 공급되는 경우 점퍼는 USB 커넥터에 더 가까운 두 핀을 닫아야 합니다. 이 그림은 보드가 USB에서 전원을 공급받는 경우 점퍼의 위치를 ​​보여줍니다.

(메시지와 사진을 보내주신 mrbbp에게 감사드립니다)

Arduino Diecimila에서 프로그램을 시작하는 데 시간이 너무 오래 걸립니다(6~8초)

일부 Arduino Diecimila 보드가 실수로 Arduino NG 부트로더로 플래시되었습니다. 잘 작동하지만 보드를 재설정한 후 시간 초과가 더 길어집니다(Arduino NG는 구현하지 않기 때문에). 자동 재설정, 펌웨어 프로세스의 수동 동기화가 필요함). 핀 13에 연결된 LED를 통해 NG의 부트로더를 인식할 수 있습니다. Arduino NG에서는 보드를 재설정한 후 3번 깜박이고 Diecimila에서는 1번 깜박입니다. Diecimila에 NG의 부트로더가 설치되어 있는 경우 밴 스케치를 플래시하기 전에 보드에 있는 재설정 버튼을 물리적으로 눌러야 합니다. Diecimila에서 올바른 부트로더를 장치에 플래시할 수도 있습니다. 자세한 내용은 부트로더에 대한 페이지를 참조하세요.

Windows에서 arduino.exe를 실행할 때 오류가 발생합니다.

Windows에서 arduino.exe를 실행할 때 오류가 발생하는 경우 예를 들면 다음과 같습니다.

Arduino에 문제가 발생하여 종료해야 합니다.

그런 다음 run.bat 파일을 사용하여 Arduino를 시작해보세요. 있으니 조금만 기다려주세요... Arduino 환경이 시작되는 데 시간이 걸립니다.

Arduino가 이전 버전의 Mac OS X에서 작동하지 않는 이유는 무엇입니까?

다음과 같은 오류가 발생하는 경우:

링크(dyld) 오류: dyld: /Applications/arduino-0004/Arduino 04.app/Contents/MacOS/Arduino 정의되지 않은 기호: /Applications/arduino-0004/librxtxSerial.jnilib _printf$LDBL128에 대한 정의되지 않은 참조가 /에 정의될 것으로 예상됩니다. usr/lib/libSystem.B.dylib

그렇다면 시스템을 Mac OS X 10.3.9 이상으로 업데이트해야 할 수도 있습니다. 이전 시스템 라이브러리는 Arduno와 호환되지 않습니다.

메시지를 보내주신 Gabe462에게 감사드립니다.

Arduino 환경을 시작할 때 UnsatisfiedLinkError 오류가 발생합니다(librxtxSerial.jnilib 라이브러리에 대한 메시지 포함).

Arduino를 시작할 때 이 오류가 발생하는 경우:

기본 메소드에서 발견되지 않은 예외: java.lang.UnsatisfiedLinkError: 네이티브 라이브러리 /Users/anu/Desktop/arduino-0002/librxtxSerial.jnilib가 이미 다른 클래스로더에 로드되어 있습니다.

그렇다면 아마도 통신을 담당하는 이전 버전의 라이브러리가 있을 것입니다. /System/Library/Frameworks/JavaVM.framework/ 폴더나 CLASSPATH 및 PATH 환경 변수에 나열된 디렉터리에서 comm.jar 또는 jcl.jar 파일을 찾으세요. (Anurag Sehgal이 보고한 버그)

"메인 클래스를 찾을 수 없습니다" 오류는 무엇을 의미합니까?

Arduino를 시작할 때 다음 오류가 발생하는 경우:

Java Virtual Machine Launcher: 기본 클래스를 찾을 수 없습니다. 프로그램이 종료됩니다.

Arduino zip 파일의 내용을 올바르게 추출했는지 확인하십시오. 특히 lib 폴더가 Arduino 디렉토리 내에 직접 위치하고 pde.jar 파일을 포함하고 있는지 확인하십시오.

Windows에서 cygwin 충돌을 처리하는 방법은 무엇입니까?

cygwin이 이미 컴퓨터에 설치되어 있는 경우 Arduino 환경에서 스케치를 컴파일하려고 하면 다음 오류가 발생할 수 있습니다.

6? (3512) C:\Dev\arduino-0006\tools\avr\bin\avr-gcc.exe: *** 치명적인 오류 - C:\Dev\arduino-0006\tools\avr\bin\avr-gcc.exe : *** 시스템 공유 메모리 버전 불일치가 감지되었습니다. - 0x75BE0084/0x75BE009C.

이 문제는 호환되지 않는 버전의 cygwin DLL을 사용하여 발생할 가능성이 높습니다.

Windows 검색(시작 -> 찾기)에서 cygwin1.dll을 입력하고 최신 버전을 제외하고 발견된 모든 파일을 삭제합니다. 최신 버전은 x:\cygwin\bin 폴더에 있어야 합니다. 여기서 "x"는 cygwin 배포판이 설치된 드라이브입니다. 컴퓨터를 다시 시작하는 것도 좋습니다.

또한 Arduino 환경이 실행 중일 때 cygwin이 프로세스에서 실행되고 있지 않은지 확인하십시오. Arduino 폴더에서 cygwin1.dll 파일을 제거하고 기존 cygwin 배포판(c:\cygwin\bin 폴더에 있을 가능성이 높음)의 cygwin1.dll 파일로 교체해 볼 수도 있습니다.

Arduino 환경 및 도구 메뉴(Windows의 경우)를 여는 데 시간이 오래 걸립니다.

Arduino 환경이 시작하는 데 오랜 시간이 걸리거나 도구 메뉴를 열려고 할 때 정지되는 경우 이는 시스템의 다른 장치와 충돌이 있음을 나타냅니다. 시작할 때와 도구 메뉴를 열 때 Arduino 소프트웨어는 시스템에서 사용 가능한 모든 COM 포트 목록을 얻으려고 시도합니다. 컴퓨터 장치 중 하나에서 생성된 특정 COM 포트로 인해 이 프로세스가 느려질 수 있습니다. 장치 관리자를 확인하세요. 시스템에서 COM 포트를 생성할 수 있는 모든 장치(예: Bluetooth 어댑터)를 비활성화해 보십시오.

장치가 도구 | 직렬 포트

USB와 함께 Arduino를 사용하는 경우 FTDI 칩용 드라이버가 올바르게 설치되었는지 확인하세요(설치 지침은 참조). 일반 Arduino(USB 없음)와 함께 USB-UART 어댑터를 사용하는 경우 이 어댑터에 대한 드라이버가 설치되어 있는지 확인하세요.

그런 다음 보드가 실제로 연결되어 있는지 확인하세요. 도구 메뉴를 열 때마다 포트 목록이 포함된 메뉴가 업데이트되므로 방금 보드 연결을 끊으면 이 목록에 표시되지 않습니다.

PDA 동기화 애플리케이션, Bluetooth-USB 드라이버(예: BlueSoleil), 가상 데몬 등과 같이 모든 직렬 포트를 검사하는 프로그램이 실행되고 있는지 확인하십시오.

Windows 시스템에서는 Arudino에 할당된 COM 포트 번호가 너무 클 수 있습니다. 사용자 zeveland에서:

"큰 COM 포트 번호를 사용하여 Arduino에서 프로그램을 플래시할 수 없는 사람들을 위한 빠른 참고 사항: FTDI 칩과 관련된 포트 번호를 줄여보세요."

"내 시스템에는 Bluetooth 어댑터의 가상 COM 포트가 많이 있어서 Arduino에 COM17 포트가 할당되었습니다. IDE가 Arduino를 찾을 수 없어서 다른 포트를 삭제했습니다. 가상 포트제어판(XP 아래)에서 FTDI 칩 포트를 COM2로 변경했습니다. Arduino가 지정된 포트를 사용하고 있는지 확인하면 모든 것이 잘 될 것입니다."

Mac에 이전 버전의 FTDI 드라이버가 있는 경우 해당 드라이버를 제거하고 최신 버전을 설치해야 합니다. 설치 지침은 이 포럼 스레드를 참조하세요.

코드를 플래싱하거나 "Serial Monitor" 프로그램에서 gnu.io.PortInUseException 오류가 발생합니까(Mac 시스템에서)?

직렬 내부에 오류가 있습니다. () gnu.io.PortInUseException:processing.app.Serial의 gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:354)에 알 수 없는 애플리케이션이 있습니다. (Serial.java:127),processing.app.Serial. (직렬.java:72)

대부분의 경우 이 오류는 다른 응용 프로그램이 해당 포트를 사용하고 있음을 의미합니다. 따라서 PDA 동기화 응용 프로그램, Bluetooth 장치 관리자, 특정 방화벽 등과 같이 직렬 또는 USB 포트에서 실행되는 프로그램이 있는지 확인하십시오. 또한 일부 프로그램(예: Max/MSP)은 직렬 포트를 열어 두기도 합니다. 사용하지 않을 때에도 직렬 포트를 사용하는 모든 유틸리티를 닫고 해당 응용 프로그램을 완전히 종료하는 것이 좋습니다.

처리 환경이나 Arduino 버전 0004 이하에서 이 오류가 발생하는 경우 macosx_setup.command 스크립트를 실행하고 컴퓨터를 다시 시작해야 합니다. Arduino 0004에서는 이 스크립트가 수정되었으며 모든 사용자는 이를 실행해야 합니다(Arduino 버전 0003과 함께 제공된 동일한 스크립트를 실행한 사용자도 포함). /var/spool/uucp 폴더의 내용도 삭제해야 합니다.

USB FTDI 드라이버에 문제가 있음

전원이 공급되거나 Arduino가 재설정되면 스케치가 시작되지 않습니다.

이는 컴퓨터를 켠 직후 컴퓨터에서 보드로 데이터를 전송하기 때문에 발생할 가능성이 높습니다. 재설정 후 처음 몇 초 동안 부트로더(보드 마이크로컨트롤러의 프로그램 펌웨어)는 컴퓨터가 보드 메모리에 쓸 새 스케치를 보낼 때까지 기다립니다. 몇 초 내에 데이터가 도착하지 않으면 부트로더가 시간 초과되어 이전에 로드된 프로그램을 시작합니다. 데이터를 계속해서 보내면 로더는 시간 초과되지 않으며 로드된 스케치를 실행하지 않습니다. 따라서 장치를 켠 후 몇 초 동안 데이터 전송을 "보류"하는 방법을 찾거나(예: setup() 블록에서 일부 데이터를 컴퓨터로 전송하도록 컨트롤러를 프로그래밍) 외부 프로그래머를 사용하여 부트로더 상단의 마이크로 컨트롤러에 프로그래밍합니다.

펌웨어가 성공한 것 같았지만 아무것도 작동하지 않습니다.

도구 > 마이크로컨트롤러 메뉴에서 잘못된 장치를 선택했습니다. 선택한 마이크로컨트롤러가 보드에 설치된 마이크로컨트롤러(ATmega8 또는 ATmega168)와 일치하는지 확인하세요. 컨트롤러 모델은 가장 큰 칩에 표시되어 있습니다.

전원 공급 장치가 안정적인지 확인하십시오. 간섭이나 정전으로 인해 스케치를 로드할 때 오류가 발생할 수 있습니다.

하나 더 가능한 이유- 스케치 크기가 장치에 비해 너무 큽니다. 스케치를 로드할 때 Arduino 0004는 로드되는 프로그램을 위해 ATmega8에 충분한 메모리 공간이 있는지 확인합니다. 동시에 Arduino는 컨트롤러 메모리의 부트로더가 1KB를 차지한다는 사실을 기반으로 계산을 수행합니다. 아마도 장치에 1KB가 아닌 2KB 용량의 이전 버전의 부트로더가 있을 수 있습니다. 그러면 ATmega8 마이크로 컨트롤러의 8KB 플래시 메모리 중 2KB가 이미 채워져 있을 것입니다. 따라서 이 경우 스케치의 일부만 컨트롤러에 로드되지만 프로그램은 이를 선험적으로 알지 못하므로 지속적인 장치 재설정이 발생합니다.

프로그래머(병렬 포트 또는 AVR-ISP용)가 있는 경우 도구 | 도구 | 부트로더를 굽습니다. 그렇지 않으면 구성 파일 내에 있는 upload.maximum_size 변수에 사용 가능한 프로그램 메모리 양을 표시하여 Arduino 환경의 설정을 간단히 조정할 수 있습니다(이 파일을 찾을 수 있는 위치에 대한 지침 참조). 여기에 지정된 값 7168을 6144로 변경하면 허용된 스케치 크기를 초과하는 경우 개발 환경에서 올바르게 경고합니다.

펌웨어 크기를 어떻게 줄일 수 있나요?

Arduino의 ATmega168 마이크로컨트롤러는 프로그램 메모리가 16KB에 불과한 상당히 저렴한 모델입니다. 실제로는 그다지 많지 않습니다(이 중 2KB는 이미 부트로더가 차지하고 있음).

프로그램에서 부동 소수점 계산을 사용하는 경우 코드를 다시 작성하여 정수 계산으로 바꾸십시오. 이렇게 하면 약 2KB의 메모리가 절약됩니다. 프로그램 시작 시 사용되지 않는 모든 라이브러리의 #include 지시어를 제거합니다.

또한 프로그램 코드를 최적화하여 더 짧게 만들 수 있는지 확인하세요.

우리는 컴파일된 스케치의 전체 볼륨에서 해당 기능이 차지하는 공간을 줄이고 프로그램 작성을 위한 공간을 최대한 확보하기 위해 Arduino 코어를 최적화하기 위해 지속적으로 노력하고 있습니다.

3, 5, 6, 9, 10, 11 이외의 핀에서 AnalogWrite()를 호출하면 PWM 신호(아날로그 출력)가 생성되지 않습니다.

Arduino 마이크로컨트롤러(ATmega168)에서는 PWM/analogWrite()에 대한 하드웨어 지원이 특정 핀에서만 구현됩니다. 따라서 다른 컨트롤러 핀에서 AnalogWrite() 함수를 호출하면 다음 중 하나가 발생합니다. 높은 수준신호 (5V - 128보다 큰 값의 경우) 또는 낮은 수준(0V - 128보다 작은 값의 경우). ATmega8 마이크로컨트롤러가 있는 이전 버전의 Arduino에서는 PWM 지원이 핀 9, 10, 11에서만 구현됩니다.

선언되지 않은 함수나 유형에 대한 오류가 발생하는 이유는 무엇입니까?

Arduino 개발 환경은 사용자 정의 함수의 프로토타입을 자동으로 생성하여 프로그램에서 어떤 순서로든 배치할 수 있도록 시도합니다. 하지만 프로토타입을 생성하는 과정은 완벽하지 않고 때로는 이상한 오류가 발생하기도 합니다.

예를 들어 프로그램에서 데이터 유형을 선언한 다음 이 유형을 사용하는 함수를 생성하는 경우 스케치를 컴파일하려고 하면 오류가 발생합니다. 이 경우 이 함수에 대해 자동으로 생성된 프로토타입이 유형 선언 앞에 위치하므로 오류가 발생합니다.

16비트 결과(예: "unsigned int" 유형)를 반환하는 함수를 선언하는 경우 프레임워크는 그것이 함수라는 것을 이해하지 못하므로 해당 함수의 프로토타입을 생성하지 않습니다. 이 경우 프로그램에서 처음으로 호출되기 전에 수동으로 작성하거나 프로그램 코드에서 이 함수 선언을 더 높은 위치에 배치해야 합니다.

프로그램을 플래시하려고 하면 "잘못된 장치 서명" 오류가 나타납니다.

다음 오류:

Avrdude: 그렇군요! 장치 서명이 잘못되었습니다.

연결을 다시 확인하고 다시 시도하거나 -F를 사용하여 이 확인을 무시하세요.

이는 두 가지 중 하나를 의미할 수 있습니다. 도구 > 보드 메뉴에서 잘못된 보드를 선택했거나 잘못된 버전의 avrdude를 사용하고 있습니다. Arduino에 스케치를 업로드하려면 avrdude의 약간 수정된 버전이 사용됩니다. 표준 버전은 Arduino 부트로더가 이해할 수 없는 형식으로 장치를 식별하는 요청을 보내며 이로 인해 오류가 발생합니다. 따라서 Arduino와 함께 제공되는 정확한 버전의 avrdude를 사용하고 있는지 확인하십시오(

아니면 오히려 중국의 대응물입니다.



중국 아날로그와 원본의 중요한 차이점은 가격입니다. 현재 공식 웹사이트에서 원래 Arduino UNO의 가격은 24.95달러인 반면 배송이 포함된 중국 아날로그 제품의 가격은 3달러 미만입니다(8배 저렴). 원본과 아날로그를 더 자세히 비교하는 내용은 다음 기사에서 다루겠지만 이제 주요 목표에서 벗어나지 않도록 시작하겠습니다.

PC에 연결하고 드라이버를 설치하는 중입니다. Arduino의 중국 아날로그는 USB에 연결하기 위해 마이크로 회로를 사용한다는 사실 때문에 CH340G , 제공된 드라이버는 마이크로 회로가 포함된 원래 Arduino 및 해당 유사 제품에 적합하지 않습니다..


ATMEGA16U2 우리는 Arduino 플랫폼을 다음을 통해 컴퓨터에 연결합니다. USB 케이블 , 프린터가 연결되어 있습니다. 보드의 LED가 켜집니다.". 장치 관리자에 새 장치가 나타납니다." USB2.0 - 직렬". 드라이버를 설치해야 합니다. 이 예에서는 Windows에서 작업하겠습니다.

아카이브를 다운로드하고, 파일의 압축을 풀고 실행하세요. CH341SER.EXE. 선택하다 설치하다.


드라이버가 설치되는 동안 LED가 깜박입니다. RX, 설치 후 해당 메시지가 나타나면 "를 클릭하십시오. 좋아요".

장치 관리자에 새 장치가 나타납니다." USB 직렬 CH340". 제 경우에는 포트에 연결된 장치가 COM7, 모든 사람이 다른 포트 번호를 가질 수 있습니다. 가장 중요한 것은 향후 작업을 위해 이를 기억하는 것입니다.

첫 번째 스케치.

Arduino 프로그램을 스케치라고 합니다. 에 글을 쓰려면 아두이노 스케치컴퓨터에 설치해야 합니다 아두이노 개발 환경. 최신 버전을 다운로드하고 압축을 풀어보세요. 파일을 사용하여 개발 환경을 시작합니다. 아두이노.exe.

기본적으로 러시아어 인터페이스로 로드되는 프로그램입니다.

다른 언어를 선택하려면 메뉴 항목 "을 사용해야 합니다. 파일" - "설정".

목록에서 " 에디터 언어"다른 언어를 선택하실 수 있습니다. "를 누르세요. 좋아요"를 클릭하고 개발 환경을 다시 시작합니다. 여기에는 벨로루시어, 우크라이나어 및 기타 언어가 포함됩니다.


또한 Arduino 플랫폼이 올바르게 선택되었는지 확인해야 합니다. 이를 수행하려면 " 도구" – "지불하다:"기본적으로 Anduino UNO가 올바르게 선택되어 있습니다. 다른 것이 있으면 목록에서 플랫폼을 선택하세요.


또한 플랫폼이 연결된 올바른 포트를 선택해야 합니다. 이를 위해 드라이버 설치 시 주의를 기울였습니다(장치 관리자에서 포트를 확인해야 함). 내 경우에는 그렇지 COM7. 지금은 " 도구" - "포트:"올바른 포트를 지정해야 합니다.

이제 Arduino에서 LED를 깜박이는 첫 번째 스케치를 실행해 보겠습니다.

이 버전의 개발 환경에는 이미 스케치를 포함한 간단한 스케치 모음이 있습니다.
이렇게하려면 " 파일" - "샘플" - "01.기본" – "깜박거리다".

프로그램 코드가 새 창에서 열립니다. 이제 우리 프로그램을 위한 LED를 준비합시다. 나와 같은 많은 보드에는 필요한 LED가 나머지 무선 구성 요소와 함께 이미 납땜되어 있습니다.


하지만 이 LED가 없는 보드가 있을 수 있으며, 이 경우 보드의 핀을 통해 연결해야 합니다. 가장 일반적인 색상 LED를 가져와 제한 저항 220 Ohm - 1 Kom을 통해 보드의 핀에 연결해 보겠습니다. 13 그리고 접지(LED를 Arduino에 연결하는 동안 USB 케이블을 분리하는 것이 좋습니다.)


모든 것이 준비되면 LED를 깜박이는 프로그램을 마이크로컨트롤러에 로드하는 것만 남았습니다. 개발자 환경에서 "버튼을 클릭하세요. "를 사용하여 스케치를 Anduino에 업로드합니다.

스케치가 성공적으로 로드되면 LED가 깜박이기 시작합니다. 제 경우에는 보드에 납땜된 LED와 핀에 연결한 LED가 깜박였습니다.

Anduino를 끄려면 USB 케이블에서 보드를 분리하기만 하면 됩니다.

여기에서 플랫폼에 대한 첫 만남을 마무리하고 모든 것이 제대로 작동하는지 확인할 수 있습니다.

원칙적으로 이는 보편적이며 수많은 프로젝트를 구현할 수 있습니다.

시작해 봅시다!

우선, 내장 드라이버가 포함된 개발 환경을 다운로드하고 설치해야 합니다. 이 작업은 공식 웹사이트 Arduino.cc 또는 링크에서 수행할 수 있습니다. 그런 다음 다음을 통해 보드를 컴퓨터에 연결할 수 있습니다. USB 와이어가장 자주 포함되거나 적절한 것을 통해 제공됩니다. Arduino는 USB B를 사용하므로 특별한 것은 없습니다. 모든 작업이 올바르게 수행되고 보드가 제대로 작동하면 Windows는 새 장치를 찾아 자체적으로 설치한 후 ON 또는 PWR로 표시된 보드의 LED가 켜집니다.

이제 Arduino ide를 열면 편집기 창이 바로 눈앞에 나타납니다. 1) 편집기 창은 코드를 작성하는 장소입니다.

2) 프로그램에 대한 상태 창, 오류 및 기타 정보와 보드에 펌웨어를 업로드하는 과정이 여기에 표시됩니다.

3) 툴바 등

그런데 ide는 러시아어를 지원하므로 러시아어를 익히는 데 도움이 됩니다. 이제 모든 것이 괜찮은지 확인하고 도구 -> 보드 탭으로 이동해 보겠습니다. 우리 이사회는 즉시 그곳에서 선택되어야 합니다:


그렇지 않은 경우 수동으로 선택합니다.

이제 테스트 펌웨어로 보드를 플래시하려고 합니다. 이를 위해 파일 -> 예제 -> 기본 -> 깜박임으로 이동합니다. 주석과 프로그램 텍스트 자체가 즉시 편집기 창에 나타났습니다. 주석은 항상 태그 사이에 위치하며 */ 또는 //를 사용하여 문제 없이 제거할 수 있습니다. 주석은 프로그램 작동에 영향을 주지 않으며 더 이상 주요 사항에 집중하는 데 방해가 되지 않습니다.

그 후에는 다음 코드가 남습니다.

C++

void setup() ( pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH); 지연(1000); digitalWrite(13, LOW); 지연(1000); )

무효 설정() (

핀모드(13, 출력);

무효 루프() (

오류가 발생하는 경우: 보드 로딩 문제, 절망하지 마세요. 쉽게 해결할 수 있습니다. 이렇게 하려면 도구 -> 포트 ->로 이동하여 Arduino/Genuino Uno가 괄호 안에 쓰여진 포트 옆을 선택하고 컨트롤러를 다시 플래시해 봅니다. 문제가 해결되지 않으면 댓글을 남겨주시면 해결해 드리겠습니다.

이제 이것을 Arduino에 업로드한 이유를 알아봅시다.

무효 설정() ( )

개발 환경은 우리를 위해 이 코드 부분을 독립적으로 생성했습니다. 여기서는 중괄호 사이에 입력과 보드 출력이 초기화됩니다. 우리의 경우에는 pinMode(13, OUTPUT)입니다. 이는 LED가 연결된 보드의 핀 13(지난 기사에서 설명)을 출력에 할당한다는 의미입니다.

코드의 이 부분도 자동으로 생성됩니다. 중괄호 사이에 코드가 작성되어 프로그램이 직접 무한정 실행됩니다. 즉, 끝없는 순환이다. digitalWrite(13, HIGH)라고 되어 있습니다. , 러시아어로 13번 핀에 5V를 적용한다는 뜻이며, 이 작업을 수행하면 LED가 켜집니다.

지연(1000); 이 지연으로 인해 1000mi초(1초) 동안 다음 명령의 실행이 중지됩니다.

디지털쓰기(13, LOW); 13개의 핀을 땅에 끌어당기면 러시아어로 5V가 제거되어 LED가 꺼집니다.

그리고 void loop()는 무한 루프이므로 Arduino의 표시등이 끝없이 깜박입니다!

보드에 LED가 1개만 설치되어 있고 버튼도 하나도 없기 때문에 Arduino 보드를 가지고 즐기는 것은 우리가 원하는 만큼 재미가 없습니다. 그러나 이것이 LED를 깜박이는 것이 우리가 할 수 있는 전부라는 의미는 아닙니다. 하다! 컴퓨터의 명령에 따라 불을 켜고 나가도록 합시다!

이를 위해서는 Arduino용 펌웨어를 작성하고 테스트용 포트 모니터를 사용한 다음 C#으로 프로그램을 작성해야 하는데 이에 대해서는 다음 기사에서 다루겠습니다.