반응형 프로그래밍/Arduino8 [아두이노] DigitalRead HIGH/LOW 인식 범위 일단 매뉴얼부터 보자. 아래의 매뉴얼은 아두이노 메가에 사용되는 ATMEGA2560의 매뉴얼이다. 보통 입력 전압으로 5V를 사용하니 5V 기준이다. 제일 첫 번째 행을 보면 Input Low Voltage, Except XTAL1 and Reset pin, 즉 XTAL1과 Reset 핀을 제외한 핀들의 LOW 인식 범위는 -0.5V부터 1.5V까지이며 4번째 행을보면 Input High Voltage, Except XTAL1 and Reset pin, 즉 XTAL과 Reset핀을 제외한 핀들의 HIGH 인식 범위는 3V ~ 5.5V까지이다. 그럼 1.5V부터 3V는 어떻게 되느냐? 그건 그때그때 다르다. 이 매뉴얼은 제조업체에서 말하는 공식적인 전압 인식 범위이며 짝퉁, 수명, 사용 환경 등에 달라질 .. 프로그래밍/Arduino 2022. 8. 25. [아두이노] 보드매니저 예제파일 찾기 아두이노 예제를 실행하다 보면 파일 위치를 알고 싶을 때가 있는데 기본 예제는 ProgramFiles(x86)/Arduino 라이브러리에... 사용자 추가 예제는 내문서/Arduino 라이브러리에... 근데 보드매니저로 추가할 때 생성된 예제는 C드라이브 다 뒤져도 없었다. 어째 어째 하다 생각보다 금방 찾긴 했다. 1. 먼저 [파일] - [환경설정]으로 들어간다. (보드 매니저를 추가하는 페이지이다) 2. 보드매니저 추가를 위해 URL을 적었던 곳 바로 밑에 경로가 있다. 접근한다. (클릭하면 폴더 열림) 3. AppData - Local - Arduino 폴더로 접근이 되었을 텐데, 거기서 [packages]로 가면 내가 설치한 보드 매니저들이 존재한다. 해당 보드매니저 폴더로 들어가 library .. 프로그래밍/Arduino 2022. 7. 7. [아두이노] ArduinoJson5 Json to String ArduinoJSON을 사용하다가 파싱이 아닌 JSON의 형태를 그대로 문자열로 가져오고 싶었다. 만약 파싱하는 방법을 찾는 것이라면 아래의 링크를 확인하자. https://arduinojson.org/v5/example/parser/ 그리고 JSON을 생성하고 싶다면 아래의 링크를 확인하자. https://arduinojson.org/v5/example/generator/ 6 버전을 찾는다면 링크 주소에서 v5를 v6으로 바꾸기만 하면 된다. Arduino에서 Json을 사용하려면 라이브러리를 먼저 설치해야한다. 라이브러리 매니저에서 "ArduinoJson"을 검색하는데 ArduinoJson은 5 버전과 6 버전이 있는데 명령어가 완전 다르다. 버전을 주의해서 잘 설치하자. 나의 환경은 ArduinoJ.. 프로그래밍/Arduino 2022. 7. 1. [아두이노] 이전 버전 설치하기 일단 이전 버전을 설치하는 방법으로 IDE에서 downgrade, upgrade하는 방법은 없고 사이트에 직접들어가서 새로설치 해야한다. 아래 링크는 버전별 설치 리스트 https://www.arduino.cc/en/software/OldSoftwareReleases 홈페이지에서 직접 들어가는 방법은 아두이노 홈페이지에 [Software]을 클릭 조금 내리다보면 [Previous Releases]가 있다. 클릭하면 베타버전, 이전 버전 등을 다운로드 가능하다. 프로그래밍/Arduino 2022. 6. 22. [아두이노] ArduinoJson 에러 해결 나같은 경우 프로젝트를 클론하고 관련 라이브러리 ArduinoJson을 다운받았는데 아래와 같은 에러코드가 발생했다. error: DynamicJsonBuffer is a class from ArduinoJson 5. Please see https://arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6 DynamicJsonBuffer json(JSON_OBJECT_SIZE(3)); 에러를 보면 DynamicJsonBuffer(이외 다른 함수 포함)는 ArduinoJson v5의 문법이니 v6버전 문법으로 맞게 고쳐라며 링크가 걸려있다. https://arduinojson.org/v6/doc/upgrade.. 프로그래밍/Arduino 2022. 6. 8. [아두이노] 아두이노 쓰레드 사용(FreeRTOS) 먼저 RTOS란 Real Time Operateing System으로 직역하면 실시간 OS이다. 윈도우, 리눅스와 달리 임베디드용과 같은 곳에 적재하기 위한 경량 OS이다. 그러므로 다른 OS에 비해 지원하는 기능은 적지만 빠르다. FreeRTOS는 예상했다 싶이 무료이다. 먼저 [툴] - [라이브러리 관리]에서 아래의 사진과 같이 FreeRTOS 라이브러리를 설치한다. 우노, 나노, 레오나르도, 메가를 지원한다. 이후 소스코드를 작성한다. #include void setup(){ Serial.begin(9600); Serial.println("Setup"); xTaskCreate(Task1, "Task1", 100, NULL, NULL, NULL); xTaskCreate(Task2, "Task2", 1.. 프로그래밍/Arduino 2022. 3. 15. [아두이노] undefined reference errors undefined reference errors, trying to make a library 선언은 했으나 정의가 없는 경우 등 래퍼런스를 읽어오지 못할 때 생기는 에러. 나같은 경우 래퍼런스로 enum을 선언했는데 버전이 바뀌면서 enum을 래퍼런스로 전달이 불가함으로 읽어오지 못하여 에러가 뜸 프로그래밍/Arduino 2021. 1. 26. [아두이노] EEPROM byte 읽기/쓰기 EEPROM이란 아두이노 보드(마이크로컨트롤러)가 꺼져도 값이 유지되는 저장공간입니다. EEPROM에는 512 byte의 EEPROM이 있습니다. 1. 헤더불러오기 #include 먼저 EEPROM을 사용하려면 해당 헤더를 불러와야합니다. 2. 값 쓰기 EEPROM.write(address,value); 첫번째 매개변수 address에는 주소값(0~512) 두번째 매개변수 value에는 byte 값(0~255)를 씁니다. EEPROM.update(address, value); EEPROM.update란 EEPROM.write와 유사하지만 EEPROM.wirte 경우 3.3ms 시간이 걸리는데 이는 꽤 긴시간입니다. EEPROM.update를 사용할 경우 값을 쓰기전에 해당주소의 값과 내가 쓸 값이 같을경.. 프로그래밍/Arduino 2021. 1. 26. 이전 1 다음 반응형