Summary of Read analog data directly in Processing using arduino
This article explains how to quickly use data from analog sensors with Processing by interfacing with an Arduino. It covers uploading the standardFirmata firmware to the Arduino, installing the Processing Arduino library, and building circuits using a photocell, accelerometer, or potentiometer. A sample Processing code reads sensor data via Arduino, maps the value to screen coordinates, and visualizes it. Users are guided to calibrate their sensors by determining min and max readings and adjusting the map function accordingly.
Parts used in the Processing Arduino Sensor Interface:
- Arduino board (e.g., Arduino UNO)
- Photocell
- Accelerometer
- Potentiometer
- Connecting wires
- Breadboard or prototype electronic board
This instructable presents a fast an easy way to use data received from an analog sensor in Processing. You will learn to utilize the Arduino and prototype electronic boards to read meaningful data from the environment. The sensors can be affected by the light, the orientation, or a user’s physical input. For this matter we will use photocell, accelerometer, and potentiometer.
Step 1: Preparation steps
1. Upload the “standardFirmata” example from the Arduino IDE in your Arduino board. If you are using Arduino UNO, there is a standard firmata for UNO.
2. Install Arduino library for processing in your libraries folder in the processing sketchbook
For a detailed instructable for this
Step 2: Build the circuits
Choose one of the circuits from the images below depending on your preferred sensor:
1. Accelerometer
2. Potentiometer
3. Photocell
Step 3: Test the code and calibrate sensor range
1.Use the following code in processing:
import processing.serial.*;
import cc.arduino.*;
Arduino arduino; //creates arduino object
color back = color(64, 218, 255); //variables for the 2 colors
int sensor= 0;
int read;
float value;
void setup() {
size(800, 600);
arduino = new Arduino(this, Arduino.list()[0], 57600); //sets up arduino
arduino.pinMode(sensor, Arduino.INPUT);//setup pins to be input (A0 =0?)
background(back);
}
void draw() {
read=arduino.analogRead(sensor);
background(back);
println (read);
value=map(read, 0, 680, 0, width); //use to callibrate
ellipse(value, 300,30, 30);
}
2. Use the “println” command to output your sensor’s minimum and maximum values. They will be different depending on the context. Plug the min and max values in your map() function.
For more detail: Read analog data directly in Processing

