1) collegare il potenziometro ad un pin analogico(A0) alla gnd e al 5V, secondo il seguente schema:
SCP
2)scaricare la seguente IDE di Arduino: https://www.arduino.cc/en/software
3)scaricare e scompattare processing: https://processing.org/download
4)collegare Arduino alla porta seriale, si riporta di seguito il collegamento:
pporta
5) caricare il seguente sketch su arduino:codiceard
6) nella fase di codiceard di processing, verrà creata una cartella “processing-4.0b7-windows-x64”, aprire la cartella e lanciare il file processing.exe
7)inserire il seguente codice su processing:
// sketch grafico

// questo programma caturra il codice ASCII
// dalla porta seriale a 9600 baud e li rappresenta graficamente. Si aspetta valori
// nel range 0-1023

import processing.serial.*; // importa la libreria serial processing

Serial MiaPorta; // porta seriale
int x = 1; // posizione orizzontale del grafico
float inByte = 0;

void setup () {
// misura della finestra
size(400, 300);
//Elenca tutte le porte seriali disponibili
// se si utilizza Processing 2.1 o successivo, utilizzare Serial.printArray()
println(Serial.list());
// So che la terza porta nell’elenco seriale sul mio compuer
// è sempre il mio Arduino, quindi apro Serial.list()[0].

MiaPorta = new Serial(this, Serial.list()[0], 9600);

MiaPorta.bufferUntil(‘\n’);
// setta il colore dello sfondo del riquadro:
background(255,255,255); //secondo la modalità RGB, abbiamo impostato il rosso al massimo, verde al massimo e il blu al massimo, ottenendo cosi il biaco
}
void draw () { // funzione per disegnare i segmenti

stroke(255, 0, 0);// setta il colore ai segmenti, assegnando la massima intensità al rosso e la minima al verde e al blu otteniamo il rosso
//funzione in grado di disegnare un segmento che parte dal primo punto di coordinate(x;height) fino al secondo punto di coordinate (x; height-inByte)
line(x, height, x, height – inByte);
// at the edge of the screen, go back to the beginning:
if (x >= width) {
x = 0;
background(255,255,255);
} else {
// increment the horizontal position:
x++;
}
}
void serialEvent (Serial MiaPorta) {
// get the ASCII string:
String inString =MiaPorta.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);
}
}
codicep

Lavoro realizzato dalla classe 3A in data 23/04/22 (con la partecipazione di Arpino Aurora, Laurenza Gianluca, Colavecchia Andrea, Mase Andrea Pio)