# Using Processing to find the value of a knob and send it through a serial port

**URL:** <https://discourse.processing.org/t/using-processing-to-find-the-value-of-a-knob-and-send-it-through-a-serial-port/22465>\
**Category:** Electronics (Arduino, etc.)\
**Created:** [July 7, 2020, 9:51pm UTC](https://discourse.processing.org/t/using-processing-to-find-the-value-of-a-knob-and-send-it-through-a-serial-port/22465 "2020-07-07T21:51:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![processingHax](https://avatars.discourse-cdn.com/v4/letter/p/5e9695/32.png) [@processingHax](https://discourse.processing.org/u/processingHax)\
**Post date:** [July 7, 2020, 9:51pm UTC](https://discourse.processing.org/t/using-processing-to-find-the-value-of-a-knob-and-send-it-through-a-serial-port/22465/1 "2020-07-07T21:51:54Z")

</div>

hey i’m pretty new to processing and I was wondering if I could take a knob constantly get the value of it and send the value of the knob through the serial port. I have tried it and all I’ve gotten is this error

> Jul 07, 2020 2:32:42 PM controlP5.ControlBroadcaster printMethodError  
> SEVERE: An error occured while forwarding a Controller event, please check your code at knobValue  
> java.lang.reflect.InvocationTargetException  
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)  
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
> at java.lang.reflect.Method.invoke(Method.java:498)  
> at controlP5.ControlBroadcaster.invokeMethod(Unknown Source)  
> at controlP5.ControlBroadcaster.callTarget(Unknown Source)  
> at controlP5.ControlBroadcaster.broadcast(Unknown Source)  
> at controlP5.Controller.broadcast(Unknown Source)  
> at controlP5.Knob.setInternalValue(Unknown Source)  
> at controlP5.Knob.updateInternalEvents(Unknown Source)  
> at controlP5.Knob.updateInternalEvents(Unknown Source)  
> at controlP5.ControllerGroup.drawControllers(Unknown Source)  
> at controlP5.ControllerGroup.draw(Unknown Source)  
> at controlP5.ControlWindow.draw(Unknown Source)  
> at controlP5.ControlWindow.draw(Unknown Source)  
> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)  
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
> at java.lang.reflect.Method.invoke(Method.java:498)  
> at processing.core.PApplet$RegisteredMethods.handle(PApplet.java:1436)  
> at processing.core.PApplet$RegisteredMethods.handle(PApplet.java:1429)  
> at processing.core.PApplet.handleMethods(PApplet.java:1628)  
> at processing.core.PApplet.handleDraw(PApplet.java:2495)  
> at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1547)  
> at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:313)  
> Caused by: java.lang.NullPointerException  
> at test.knobValue(test.java:59)  
> … 23 more

and I know that whats messing it up is this line of code

> port.write(theValue);

here is my full script:

```auto
import controlP5.*;
import processing.serial.*;

Serial port;
ControlP5 cp5;

void setup() {
  size(700,400);
  smooth();
  noStroke();
  
  cp5 = new ControlP5(this);
                     
          cp5.addKnob("knobValue")
               .setRange(0,255)
               .setValue(220)
               .setPosition(100,210)
               .setRadius(50)
               .setNumberOfTickMarks(10)
               .setTickMarkLength(4)
               .snapToTickMarks(true)
               .setColorForeground(color(255))
               .setColorBackground(color(0, 160, 100))
               .setColorActive(color(255,255,0))
               .setDragDirection(Knob.HORIZONTAL)
               ;
}

void draw() {

}

void knobValue(int theValue) {
    port.write(theValue);
}

```

---

<div class="post-metadata">

**Author:** ![RichardDL](https://avatars.discourse-cdn.com/v4/letter/r/f475e1/32.png) [@RichardDL](https://discourse.processing.org/u/RichardDL)\
**Post date:** [July 7, 2020, 10:27pm UTC](https://discourse.processing.org/t/using-processing-to-find-the-value-of-a-knob-and-send-it-through-a-serial-port/22465/2 "2020-07-07T22:27:27Z")

</div>

Hi @processingHax You haven’t opened the port. “myPort = new Serial(…” I suggest you see the serial examples, File, Examples, Libraries, Serial, SimpleWrite. Get that sending serial values, then merge it with your ControlP5 sketch.

---

<div class="post-metadata">

**Author:** ![processingHax](https://avatars.discourse-cdn.com/v4/letter/p/5e9695/32.png) [@processingHax](https://discourse.processing.org/u/processingHax)\
**Post date:** [July 10, 2020, 6:22pm UTC](https://discourse.processing.org/t/using-processing-to-find-the-value-of-a-knob-and-send-it-through-a-serial-port/22465/3 "2020-07-10T18:22:01Z")

</div>

oh thanks so much I got it working now
