- 1. Arduino 보드가 인식되지 않음
- 2. 보드가 동기화되지 않음
- 3. 전원 재설정시 코드가 시작되지 않습니다.
- 4. 잘못된 장치 서명 오류
- 5. Launch4j 오류
- 6. 이미 사용중인 직렬 포트
- 7 : 스케치 업로드는 성공했지만 아무 일도 일어나지 않음
- 8. 만족스럽지 않은 링크 오류
- 9. 너무 큰 스케치
- 10. java.lang.StackOverflowError
Arduino를 사용하는 초보자로 시작하는 것은 전자 공학에 대한 지식이없는 사람들에게는 매우 어려울 수 있습니다. 오류가 발생할 수 있으며, 그중 일부는 간단한 해결책이있을 수 있지만 해결하는 데 며칠이 걸릴 수 있습니다. 그래서 좀 더 쉽게하기 위해 가능한 해결책과 함께 10 개의 가장 인기있는 Arduino 오류 목록을 만들었 습니다.
1. Arduino 보드가 인식되지 않음
이것은 컴퓨터에 연결된 Arduino 보드가 컴퓨터에서 인식되지 않는 상황을 나타냅니다. 이 경우 보드는 일반적으로 Arduino IDE의 포트 목록에 나열되지 않으며 때때로 장치 관리자 아래에 USB2.0으로 표시됩니다.
해결책
이것은 FTDI (FT232RL) 및 표준 Arduino 보드에서 사용되는 다른 것 대신 CH340g USB to Serial 변환기 칩을 사용하는 특정 저렴한 Arduino 클론을 사용할 때 발생합니다. 표준 Arduino 보드에서 사용하는 USB-Serial 칩용 드라이버는 항상 Arduino IDE 설정 파일과 함께 패키지화되어 있으므로 IDE를 설치할 때 드라이버가 PC에 자동으로 설치됩니다. 이 CH340g USB to Serial 변환기 기반 Arduino 보드를 사용하려면 칩용 드라이버를 다운로드하여 설치해야합니다. 이 링크에서 드라이버를 다운로드 할 수 있습니다. 아래 표시된 설정 인터페이스에서 설치 버튼을 클릭하면 간단하게 설치할 수 있습니다.
이 작업이 완료되면 이제 Arduino IDE에서 보드가 연결된 포트를 찾을 수 있습니다.
2. 보드가 동기화되지 않음
일반적으로 이런 일이 발생 하면 Arduino 보드에 코드를 업로드 할 수 없으며 (IDE는 때때로 "업로드 완료"를 표시하지만) IDE는 오류 코드를 표시합니다. “ avrdude: stk500_getsync (): 동기화되지 않음: resp = 0x00 ”.
해결책
동기화: RESP = 0x00으로는 "는 일반적으로 변환하는 반응이다 작동하지 ATMEGA 칩 아두 이노에". 이런 일이 발생하면 잘못 될 수있는 많은 것들이 있습니다. 이 오류를 해결하기 위해 취할 수있는 몇 가지 단계는 다음과 같습니다.
1. Arduino의 디지털 핀 0과 1 (실드 포함)에 연결된 것이 없는지 확인합니다.
2. 도구 메뉴에서 올바른 통신 포트와 보드가 선택되었는지 확인합니다.
3. Arduino의 리셋 버튼을 몇 번 누르고 코드를 다시 업로드하십시오.
4. Arduino를 PC에서 분리했다가 다시 연결합니다.
5. Arduino IDE를 다시 시작합니다.
이 중 하나라도 작동하지 않으면 PC에서 다른 Arduino 보드를 사용하거나 다른 PC에서 "결함이있는"Arduino 보드를 사용해 볼 때일 수 있습니다. 이 중 어느 것이 문제의 원인인지 식별하는 데 도움이됩니다. PC에 문제가 있음을 발견 하면 Arduino IDE를 다시 설치하십시오. 그러나 "결함이있는"Arduino 보드가 문제의 원인 인 경우 궁극적 인 해결책은 Arduino 펌웨어로 보드 를 플래시하는 것 입니다. 위의 방법 중 어느 것도 작동하지 않으면 Arduino 보드를 변경해야 할 때일 수 있습니다.
3. 전원 재설정시 코드가 시작되지 않습니다.
이것은 Arduino가 전원을 켰을 때 업로드 된 스케치를 실행하지 않고 대부분의 경우 부트 로더와 관련된 깜박임 스케치로 되돌아가는 경우를 나타냅니다.
해결책
처리 된 다른 문제와 마찬가지로이를 유발할 수있는 여러 가지가 있습니다.
보드가 멈춰서 아무 작업도하지 않으면 코드를 확인하여 보드에 직렬 데이터를 보내지 않는지 확인해야합니다. Arduino가 켜지면 부트 로더는 처음 몇 초 동안 컴퓨터가 보드에 업로드 할 새 스케치를 보내는 것을 수신합니다. 새 스케치가 수신되지 않으면 잠시 후 부트 로더가 시간 초과되고 보드에 업로드 된 마지막 스케치를 실행합니다. 코드가 처음 몇 분 동안 직렬 데이터를 전송하는 경우 부트 로더가 시간 초과되지 않고 보드에 업로드 된 마지막 스케치가 시작되지 않습니다.
보드가 켜지 자마자 직렬 데이터를 보내는 것이 프로젝트의 중요한 부분 인 경우 직렬 데이터가 Arduino가 켜진 즉시 도착하지 않도록 지연시킬 방법을 찾아야 할 수 있습니다. 조정이 프로젝트가 수행 할 작업에 영향을 미치는 경우 부트 로더가 우회 할 수 있으므로 외부 프로그래머를 사용하여 스케치를 보드에 업로드해야 할 수 있습니다.
보드가 멈추지 않고 Arduino 깜박임 스케치로 돌아 가면 (핀 13의 LED가 가끔 깜박임) 보드의 하나가 손상되었을 수 있으므로 Arduino 부트 로더로 보드를 플래시하는 것이 간단합니다..
4. 잘못된 장치 서명 오류
이 오류는 Arduino IDE의 도구> 보드 목록에서 선택한 것과 다른 코드를 보드에 업로드하려고 할 때 표시됩니다. 이 오류는 일반적으로 대상 보드의 장치 서명이 IDE에서 선택한 보드의 서명과 다르기 때문에 발생합니다.
해결책
이 오류에 대한 해결책은 Arduino IDE에서 올바른 보드를 선택하는 것만 큼 간단합니다. 이것이 작동하지 않으면 최신 버전의 Arduino 부트 로더로 마이크로 컨트롤러를 플래시해야 할 수 있습니다.
5. Launch4j 오류
Arduino IDE는로드하기 전에 때때로 시간이 걸리며로드 할 때 아무 것도 클릭하면 위와 같이 Launch4J 오류가 표시됩니다. Launch4j는 Windows 네이티브 실행 파일에서 Java 애플리케이션 (jar)을 래핑하는 데 사용되는 도구로, 일반 Windows 프로그램으로 사용할 수 있습니다.
Arduino IDE 자체는 JAVA로 작성되었으며이 오류 는 Arduino IDE와 함께 제공되는 JRE (Java Run Time Environment) 라이브러리의 비 호환성으로 인해 발생합니다.
해결책
경험상이 오류는 PC의 Bluetooth 또는 WiFi 연결을 끄는 것과 같은 간단한 방법으로 해결할 수 있습니다. 그러나보다 완전하고 영구적 인 해결책은 Arduino 패키지의 JRE를 최신 버전 으로 교체하는 것 입니다.
6. 이미 사용중인 직렬 포트
이것은 아마도 해결하기 가장 쉬운 오류 중 하나 일 것입니다. 일반적으로 직렬 모니터가 열려있는 동안 Arduino에 코드를 업로드하려고 할 때 (최신 IDE 버전을 사용하는 경우 더 이상 문제가되지 않음) 또는 Arduino가 다른 소프트웨어 또는 장치와 통신 할 때 직렬 모니터를 시작하려고 할 때 발생합니다. 직렬 포트를 통해. 본질적으로 Arduino 직렬 포트를 동시에 두 가지 다른 것에 사용하려고 할 때 발생합니다.
해결책
IDE에서 제안한 것처럼 com 포트를 사용하고있을 수있는 다른 모든 소프트웨어 / 도구 (직렬 모니터 / 플로터 포함)를 닫습니다. 특정 소프트웨어가 확실하지 않은 경우 Arduino를 분리하십시오. 다시 플러그를 꽂으면 바로 사용할 수 있습니다.
7: 스케치 업로드는 성공했지만 아무 일도 일어나지 않음
이 오류는 위에서 이미 처리 한 다른 오류와 유사합니다. 이 오류의 경우 Arduino IDE는 코드가 성공적으로 업로드되었음을 제안하지만 보드는 아무 작업도 수행하지 않습니다.
해결책
- IDE에서 선택한 보드가 대상 보드와 동일한 지 확인합니다.
- 이것은 스케치 크기가 보드의 용량보다 더 큰 결과 일 수 있습니다. 스케치 크기를 확인하고 위에서 언급 한 방법 중 일부를 사용하여 크기를 줄입니다.
- 마지막으로이 오류는 잡음이있는 전원 공급 장치를 사용할 때 발생할 수 있습니다. 전원 공급 장치가 충분히 안정적인지 확인하십시오.
8. 만족스럽지 않은 링크 오류
이것은 아마도이 목록에 올린 유일한 드문 오류 일 것입니다. 이는 PC에 이전 버전의 통신 라이브러리가있을 때 발생하며, 대부분 이전 설치에서 발생합니다.
해결책
이 오류를 해결하려면 /System/Library/Frameworks/JavaVM.framework/ 또는 PC의 CLASSPATH 또는 PATH 환경 변수 의 디렉토리 에서 comm.jar 또는 jcl.jar을 검색 하십시오.
9. 너무 큰 스케치
이 오류는 코드가 특정 Arduino 보드 의 플래시 메모리보다 클 때 발생합니다. 예를 들어 Arduino Uno의 플래시 메모리 크기는 32Kb이며 Arduino 부트 로더에서 이미 2KB를 사용하고 있습니다. 32Kb보다 큰 코드를 업로드해야하는 경우 Arduino는이 경고를 표시합니다.
해결책
위에서 언급했듯이 스케치가 사용중인 특정 보드의 플래시 메모리보다 클 때 발생하므로이 문제를 해결하려면 코드가 차지하는 공간을 줄이는 방법을 찾아야합니다. 이를 달성하기위한 몇 가지 팁은 다음과 같습니다.
- 가능하면 부동 소수점 대신 정수 데이터 유형을 사용하십시오.
- 가능한 경우 변수를 선언 할 때 "const"한정자를 사용합니다.
- 필요한 라이브러리 만 포함하십시오. 가능한 경우 가장 중요한 라이브러리의 경량 버전을 사용하십시오.
- 일반적으로 코드를 개선하십시오. 코드를 더 짧고 일반적으로 가볍게 만드는 데 도움이되는 알고리즘을 개발하십시오.
보다 근본적인 해결책은 프로젝트를 Arduino Mega와 같은 다른 보드 로 옮기는 것입니다.이 보드 는 Uno에 비해 더 큰 플래시 메모리를 가지고 있습니다.
10. java.lang.StackOverflowError
스케치를 처리 할 때 Arduino는 처리를 위해 몇 가지 정규식을 사용하고 따옴표 누락과 같은 특정 문자열 관련 오류가 발생하면 혼란스러워집니다.
해결책
이 오류는 코드, 특히 문자열 시퀀스가 사용되는 부분을 다시 살펴보면 해결됩니다. 따옴표가 완전하고 백 슬래시가 올바르게 사용되었는지 확인하십시오.
하나의 튜토리얼에 들어갈 수있는 오류의 수에는 제한이 있으므로 여기서 중지합니다. 그러나이 목록에는 Arduin o를 사용할 때 초보자가 직면 하는 가장 일반적인 오류 중 일부가 포함되어 있습니다. 특정 오류와 싸우고 있습니까? 의견을 남겨 주시기 바랍니다. 함께 작업 할 수 있기를 바랍니다.
다음에.