아두이노 좀 도와주세요

조회수 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();
}

이미지

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)