안녕하세요 질문하나 드립니다!
제가 해보고싶은게 있어서 한번해보려는데 ㅠㅠ 어찌해야할지를 모르겠어서 질문합니다!
정전식터치모듈(mpr121)와 블루투스모듈(hc-06)을 사용하는데요 제가 앱인벤터로 어플을 만들었습니다 기능은 뭐 기본적인 몇 개만 넣어놨는데요
정전식터치모듈의 핀 1번을 터치하면 그 지정된 어플기능안에 원하는 작업이 수행됬으면 좋겠습니다
예를들면 mpr121 1번핀이 터치되면 바로 블루투스를 통해서 제가만든 어플 1번기능이 바로 수행이 됬으면 좋겠습니다
하지만 코딩값을 쓰기가 조금 어렵네요 도움을 받고싶어서 이렇게 글을 올립니다 ㅠ
#include <Wire.h>
#include "Adafruit_MPR121.h"
Adafruit_MPR121 cap = Adafruit_MPR121();
uint16_t lasttouched = 0;
uint16_t currtouched = 0;
void setup() {
Serial.begin(9600);
while (!Serial) {
delay(10);
}
Serial.println("Adafruit MPR121 Capacitive Touch sensor test");
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++) {
if ((currtouched & _BV(i)) && !(lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" touched");
}
if (!(currtouched & _BV(i)) && (lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" released");
}
}
// reset our state
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();
delay(100);
}
|