MPAINO-16A32R / 32A16R / 32A32T / 32A32R 제품에서 D70~D85번 핀 출력이 안 될 경우, 다음 방법을 이용하여 해결해주시면 감사하겠습니다.
# 해결 방안 1
아래 파일을 클릭하여 설치해주세요.
[MPAINO 32point 제품군 필수 설치 파일]
설치 후 프로그램 압축을 해제하신 후 필수설치파일.exe 파일을 실행시키신 후 32R(T) 포트 설치 버튼을 눌러 설치합니다.
만약 이 프로그램 설치가 정상적으로 작동되지 않는다면 다음과 같이 해주세요.
아두이노 IDE 또는 MP STUDIO 둘 중 하나라도 설치하셨다면 설치된 프로그램을 한번 실행하고 종료한 다음 [MPAINO 32point 제품군 필수 설치 파일]에서
MEGA 파일 내에 있는 pins_arduino.h 파일을 아래 위치에 덮어쓰시면 됩니다.
-MPINO STUDIO 설치 후 실행하셨을 경우 (C:\Users\(사용자PC명)\AppData\Local\Arduino15\packages\arduino\hardware\avr\(아두이노 버전)\variants\mega )
-아두이노 IDE를 설치하셨을 경우 (C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega)
#MPINO STUDIO에서 덮어쓰기하셔도 안되는 경우#
(C:\Users\(사용자PC명)\AppData\Local)
1. 위 주소로 들어가 Arduino15폴더를 지워줍니다.
2. MPINO STUDIO.exe를 실행해 파일을 다시 다운 받아줍니다. 다운이 완료된 후 창을 닫아줍니다.
3. pins_arduino.h파일을 다시 덮어쓰기 합니다.
4. D70~D85번핀이 작동되는지 확인합니다.
이 파일을 설치하지 않을 시 출력 단자 D70~D85가 작동되지 않습니다.
# 해결 방안 2
위 해결 방안1로 해결이 되지 않는 분들은 아래 라이브러리를 통해 해결하시면 됩니다.
[해결 방안2 라이브러리]
<방법>
기존 아두이노 함수명을 일부 수정하여 작성하시면 됩니다.
pinmode(pin, OUTPUT);
pin번호 포트를 출력 포트로 설정합니다.
digitalwrite(pin, HIGH);
pin번호 포트를 HIGH로 출력합니다.
digitalwrite(pin, LOW);
pin번호 포트를 LOW로 출력합니다.
digitalread(pin);
해당핀이 입력상태일 경우 입력값이 들어오면 HIGH값을 반환하고 입력값이 들어오지 않으면 LOW값을 반환합니다.
해당핀이 출력상태일 경우 해당핀이 출력하면 HIGH값을 반환하고 출력하지 않으면 LOW값을 반환합니다.
#include "MPAINO_32A32R.h" int i = 0; void setup() { Serial.begin(115200); for (i = 54; i <= 85; i++) { pinmode(i, OUTPUT); } } void loop() { for (i = 0; i <= 11; i++) { if (digitalread(2 + i) == 1) { digitalwrite(54 + i, HIGH); } else { digitalwrite(54 + i, LOW); } } for (i = 0; i <= 3; i++) { if (digitalread(43 + i) == 1) { digitalwrite(66 + i, HIGH); } else { digitalwrite(66 + i, LOW); } } for (i = 0; i < 16; i++) { if (digitalread(22 + i) == 1) { Serial.println(i); digitalwrite(70 + i, HIGH); } else { digitalwrite(70 + i, LOW); } } }
|