아두이노 좀 도와주세요
조회수 792회
여기에 코드를 입력하세요
학교에서 https://kocoafab.cc/make/view/705
이런 프로젝트를 하는데 코드가 계속 오류가 나네요 뭐가 문제일까요?
#include <Wire.h>
#include "Adafruit_MPR121.h"
#include <Keyboard.h>
char key[12] = {'0','1','2','3','4','5','6','7','8','9','a','b'};
// You can have up to 4 on one i2c bus but one is enough for testing!
Adafruit_MPR121 cap = Adafruit_MPR121();
// Keeps track of the last pins touched
// so we know when buttons are 'released'
uint16_t lasttouched = 0;
uint16_t currtouched = 0;
void setup() {
Serial.begin(9600);
Keyboard.begin();
while (!Serial) { // 마이크로 및 레오나르도 사용시 필요한 코드 부분입니다.
delay(10);
}
Serial.println("Adafruit MPR121 Capacitive Touch sensor test");
// 해당 I2C 주소에 연결된 MPR121 모듈이 있는지 확인합니다.
if (!cap.begin(0x5A)) {
Serial.println("MPR121 not found, check wiring?");
while (1);
}
Serial.println("MPR121 found!");
}
void loop() {
// 터치하였을 때의 값을 저장합니다
currtouched = cap.touched();
for (uint8_t i=0; i<12; i++) {
// 각 채널에 대한 센서 값을 대비해 touch를 인식합니다.
if ((currtouched & _BV(i)) && !(lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" touched");
Keyboard.press(key[i]);
}
// 각 채널에 대한 센서 값을 대비해 release를 인식합니다.
if (!(currtouched & _BV(i)) && (lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" released");
Keyboard.release(key[i]);
}
}
lasttouched = currtouched;
return;
Serial.print("\t\t\t\t\t\t\t\t\t\t\t\t\t 0x"); Serial.println(cap.touched(), HEX);
Serial.print("Filt: ");
for (uint8_t i=0; i<12; i++) {
Serial.print(cap.filteredData(i)); Serial.print("\t");
}
Serial.println();
Serial.print("Base: ");
for (uint8_t i=0; i<12; i++) {
Serial.print(cap.baselineData(i)); Serial.print("\t");
}
Serial.println();
}
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력