
There is many potenciometer processing's interfaces in academy students as Marta Verde and Fab Lab Esan student, interacting with geometric forms, but I wanted to do a dynamic bar to see the input-potentiometer and my motor-output velocity control.
My first test with my Aduino IDE and Processing was the "busy port" that was a problem that we can't "have the serial monitor and the Processing code running at the same time. The COM can only work for one at a time."" Well close the Arduino motor serial to use Processing. More info see this Arduino forum.
My second problem that made me to search a lot for a solution, was the "Nah" input Processing problem.

Seeing the arduino motor serial was no problem with the data.

But, I realized that the problem was the printing in the data sending by the Arduino IDE. The "sensorValue" and "outputValue" words could "confuse" the input Processing. Then I erased this code part leaving only the numbers that I wanted to send to Processing, and it runned!

This is the Arduino code uploaded to my microcontroller Attiny board and modified to interface Processing.
/* created 29 Dec. 2008 modified 9 Apr 2012 by Tom Igoe modified October 2017 by Alex Gacia And Kenzo Abiko This example code is in the public domain. */ #includeSoftwareSerial mySerial(0,1); // RX, TX const int analogInPin = A3; // Academy driver potentiometer is attached to const int analogOutPin = 8; // Attiny Board output pin that the motor is attached to int sensorValue = 0; // value read from the pot int outputValue = 0; // value output to the PWM (analog out) void setup() { // initialize serial communications at 9600 bps: mySerial.begin(9600); } void loop() { // read the analog in value: sensorValue = analogRead(analogInPin); // map it to the range of the analog out: outputValue = map(sensorValue, 0, 1023, 0, 255); // change the analog out value: analogWrite(analogOutPin, outputValue); // print the results to the serial monitor: mySerial.println(outputValue); delay(100); }
I begin to change the Processing code from Arduino examples tutorial graph.. I wanted to improve it printing on screen the values.Searching codes to do it, I realized that is not easy as I thought it would be. I tried putting the values near the graph, and the bad result:

Then I get this code show text or image for 2 seconds then remove, that was the best to do what I wanted, that is to show the potenciometer values at the screen.I put in the graph code and the result:

This is the final Processing code:
// Created using David A. Mellis,Tom Igoe, Scott Fitzgerald (Graph) and
//Chris the Carpenter (Text code)
//modified by Alex Garcia 9 Oct 2017
//This example code is in the public domain.
import processing.serial.*;
Serial myPort; // The serial port
int xPos = 1; // horizontal position of the graph
float inByte = 0;
boolean onoff = false;
void setup () {
size(800, 600);
String portName = Serial.list()[32];
myPort = new Serial(this, portName, 9600);
background(0);
}
void draw () {
// draw the line:
stroke(127, 34, 30);
line(xPos, height, xPos, height - inByte);
if (xPos >= width) {
xPos = 0;
background(0);
} else {
xPos++;
}
{
fill (100);
rect (30,height/2-16,100,20);
if (onoff){
fill(255);
text( inByte ,55,height/2);
onoff=false;
} else {
fill (100);
rect (50,height/2-16,100,20);
onoff=true;
}
delay (50);
}
}
void serialEvent (Serial myPort) {
// get the ASCII string:
String inString = myPort.readStringUntil('\n');
if (inString != null) {
// trim off any whitespace:
inString = trim(inString);
// convert to an int and map to the screen height:
inByte = float(inString);
println(inByte);
inByte = map(inByte, 0, 1023, 0, height);
}
}
Interface from Alex Angelo on Vimeo.