Arduino to Processing Capacitive Sensing Error

0

I have successfully drafted the Ardunio code for capacitive sensing. The serial Monitor shows right values.

Also, I have successful drafted the processing code which shows the exact same values from Arduino's serial monitor on processing's console.

However, on processing the drawing function is not doing by desired drawing when reading values. Moreover, both codes are working fine independently.

Please help.

Moreover, my processing code works fine with other ardunio example code. That is drawings change.

Thank you for helping

Arduino Code:

#include <CapacitiveSensor.h>

/*
 * CapitiveSense Library Demo Sketch
 * Paul Badger 2008
 * Uses a high value resistor e.g. 10 megohm between send pin and receive pin
 * Resistor effects sensitivity, experiment with values, 50 kilohm - 50 megohm. Larger resistor values yield larger sensor values.
 * Receive pin is the sensor pin - try different amounts of foil/metal on this pin
 * Best results are obtained if sensor foil and wire is covered with an insulator such as paper or plastic sheet
 */


CapacitiveSensor   cs_4_2 = CapacitiveSensor(A4,A2);        // 10 megohm resistor between pins 4 & 2, pin 2 is sensor pin, add wire, foil


void setup()                    
{

   cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);     // turn off autocalibrate on channel 1 - just as an example
   Serial.begin(9600);

}

void loop()                    
{
    long start = millis();
    long total1 =  cs_4_2.capacitiveSensor(30);


    //Serial.println(millis() - start);        // check on performance in milliseconds
    //Serial.println("\t");                    // tab character for debug window spacing

    Serial.println(total1);                  // print sensor output 1
    Serial.println("\t");


    delay(1000);                             // arbitrary delay to limit data to serial port 
}

Processing Code

import processing.serial.*;



import processing.serial.*; // import the Processing serial library
Serial myPort;  // The serial port
int sensor1;
int sensor2;
int sensor3;
float mappedSensor1;
float mappedSensor2;
float mappedSensor3;
PImage Gifimg;
PImage firstimg;
PImage secondimg;



PImage Frontimg;  // Declare variable "a" of type PImage

// Declare variable "a" of type PImage

void setup() {
  size(1080, 800);
  // List all the available serial ports in the console
  printArray(Serial.list());
   Gifimg = loadImage("secondsmall.png");  // Load the image into the program
   Frontimg = loadImage("Frontsmall.png");  // Load the image into the program  
   secondimg = loadImage("finalsmall.png");  // Load the image into the program  




  // Change the 0 to the appropriate number of the serial port
  // that your microcontroller is attached to.
  String portName = Serial.list()[0];
  myPort = new Serial(this, portName, 9600);
  // read incoming bytes to a buffer
  // until you get a linefeed (ASCII 10):
  myPort.bufferUntil('\n');
}


void draw() {
  background(255);

  if (sensor1 == 0) {
image(secondimg, 0, 0);
image(Gifimg, 0, 0);



} 
else {
image(Frontimg, 0, 0);



  }

}


void serialEvent(Serial myPort) {
  // read the serial buffer:
  String myString = myPort.readStringUntil('\n');
  if (myString != null) {
    // println(myString);
    myString = trim(myString);

    // split the string at the commas
    // and convert the sections into integers:
    int sensors[] = int(split(myString, ','));
    for (int sensorNum = 0; sensorNum < sensors.length; sensorNum++) {
      print("Sensor " + sensorNum + ": " + sensors[sensorNum] + "\t");
    }
    // add a linefeed at the end:
    println();
    sensor1 = sensors[0];  

    mappedSensor1 = map(sensor1, 0, 1023, height, 0);

  }
}
arduino
processing
asked on Stack Overflow Nov 24, 2019 by susan

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0