Ciao a tutti, sto provando ad interfacciare arduino con processing e devo dire che l'unico problema riscontrato e stato quello delle librerie rxtx che non corrispondevano, comunque ho risolto installando la versione "RXTX-2.1-7".
Veniamo al dunque, dopo aver caricato lo sketch "standard_firmata" su arduino uno e le librerie "arduino" in processing ho provato l'esempio "analog_input" che restituisce una semplice interfaccia dove le entrate digitali sono rappresentate con dei quadrati e le entrate analogiche con dei cerchi che variano il loro diametro in base ad un segnale analogico.
Ho provato a collegare un potenziometro alla porta analogica 0 e lanciando il programma ho notato che tutti e sei i cerchi rispondono al potenziometro, questo comportamento mi sembra strano visto che ho collegato un solo potenziometro ad una sola entrata analogica, non dovrebbe rispondere un solo cerchio su sei ?
Ho provato anche con due potenziometri e a questo punto i sei cerchi si dividono, nel senso che 3 vengono comandati da un potenziometro e 3 dall'altro.
Il codice è il seguente:
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
color off = color(4, 79, 111);
color on = color(84, 145, 158);
void setup() {
size(470, 280);
arduino = new Arduino(this, Arduino.list()[1]);
for (int i = 0; i <= 13; i++)
arduino.pinMode(i, Arduino.INPUT);
}
void draw() {
background(off);
stroke(on);
for (int i = 0; i <= 13; i++) {
if (arduino.digitalRead(i) == Arduino.HIGH)
fill(on);
else
fill(off);
rect(420 - i * 30, 30, 20, 20);
}
for (int i = 0; i <= 5; i++) {
ellipse(280 + i * 30, 240, arduino.analogRead(i) / 16, arduino.analogRead(i) / 16);
}
}
Ho provato anche a non usare il ciclo for per iterare tutte le entrate analogiche ma solo una e con stupore ho notato che anche scrivendo "arduino.analogRead(0)" e non collegando nulla al pin analogico 0 se ce un potenziometro collegato a qualsiasi altro pin analogico ad esempio il 4 processing mi disegna comunque un cerchio che è possibile pilotare con il potenziometro.
In pratica non posso controllare singolarmente le entrate analogiche è come se il segnale venisse letto da tutte le porte analogiche insieme.
Spero di non aver fatto venire il mal di testa a qualcuno...
E' un comportamento normale o c'è qualcosa che non va ?