Trying to fix copied code from web.

#include <Wire.h>
#include "Adafruit_MPR121.h"


// 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;


//Vibe circuit outputs
int VIBE1 = 4; //connect one side of vibe motor to pin D4
int VIBE2 = 5; //connect one side of vibe motor to pin D5


void setup() {
  while (!Serial);  // needed to keep leonardo/micro from starting too fast!


  Serial.begin(9600);
  Serial.println("Adafruit MPR121 Capacitive Touch sensor test");


  // Default address is 0x5A, if tied to 3.3V its 0x5B
  // If tied to SDA its 0x5C and if SCL then 0x5D
  if (!cap.begin(0x5A)) {
    Serial.println("MPR121 not found, check wiring?");
    while (1);
  }
  Serial.println("MPR121 found!");
}


void loop() {
  // Get the currently touched pads
  currtouched = cap.touched();


  for (uint8_t i = 0; i < 12; i++) {
    // it if *is* touched and *wasnt* touched before, alert!
    if ((currtouched & _BV(i)) && !(lasttouched & _BV(i)) ) {
      Serial.print(i); Serial.println(" touched");
      if (i == 1) { //the textile connection to MPR pin #
        Serial.println("VIBE CIRCUIT ONE");
        digitalWrite(VIBE1, HIGH);
        delay(3000);
        digitalWrite(VIBE1, LOW);
      }
      else if (i == 6) { //the textile connection to MPR pin #
        Serial.println("VIBE CIRCUIT TWO");
        digitalWrite(VIBE2, HIGH);
        delay(3000);
        digitalWrite(VIBE2, LOW);
      }
      // if it *was* touched and now *isnt*, alert!
      if (!(currtouched & _BV(i)) && (lasttouched & _BV(i)) ) {
        Serial.print(i); Serial.println(" released");
      }
    }


    // reset our state
    lasttouched = currtouched;


    // comment out this line for detailed data from the sensor!
    return;


    // debugging info, what
    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();


    // put a delay so it isn't overwhelming
    delay(100);
  }

Thats not broke! Just missing a } at the end.

Also

Installation & Troubleshooting
For problems with Arduino itself, NOT your project

Sorry, should have been more specifik. I copied it from the web so had to upload it here to get rid of unwanted invisible things. Googled and people recomended to upload the code here and then take it into the arduino program again.

However, I can’t seem to make the motor vibrate or a led to work. Can someone see if the code is faulty in that matter?

What do the debug prints tell you?

Also, you should follow this advice in the code:

// comment out this line for detailed data from the sensor!
return;

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.