Grafico realizzato su Processing con Arduino e potenziometro
Salve a tutti ragazzi! Oggi realizzeremo un simpatico progetto con Arduino.
Dopo questo tutorial saremo in grado di visualizzare sul display del nostro pc un grafico dell´andamento della posizione del potenziometro o di qualsiasi altro sensore con uscita analogica.
Infatti invieremo sul pc un array di byte tramite la porta seriale e visualizzare i valori attraverso un grafico (con Processing) o attraverso numeri semplicemente utilizzando la porta seriale (Arduino)
Dopo questo tutorial saremo in grado di visualizzare sul display del nostro pc un grafico dell´andamento della posizione del potenziometro o di qualsiasi altro sensore con uscita analogica.
Infatti invieremo sul pc un array di byte tramite la porta seriale e visualizzare i valori attraverso un grafico (con Processing) o attraverso numeri semplicemente utilizzando la porta seriale (Arduino)
Lo sketch da inserire su Processing è il seguente:
// Graphing sketch // This program takes ASCII-encoded strings // from the serial port at 9600 baud and graphs them. It expects values in the // range 0 to 1023, followed by a newline, or newline and carriage return import processing.serial.*; Serial myPort; // The serial port int xPos = 1; // horizontal position of the graph float inByte = 0; void setup () { // set the window size: size(400, 300); // List all the available serial ports // if using Processing 2.1 or later, use Serial.printArray() println(Serial.list()); // I know that the first port in the serial list on my mac // is always my Arduino, so I open Serial.list()[0]. // Open whatever port is the one you're using. myPort = new Serial(this, Serial.list()[0], 9600); // don't generate a serialEvent() unless you get a newline character: myPort.bufferUntil('\n'); // set inital background: background(0); } void draw () { // draw the line: stroke(127, 34, 255); line(xPos, height, xPos, height - inByte); // at the edge of the screen, go back to the beginning: if (xPos >= width) { xPos = 0; background(0); } else { // increment the horizontal position: xPos++; } } 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); } } |
Lo sketch da inserire su Arduino è il seguente:
Ed ecco il risultato amici, ora vi potrete sbizzarrire a sostituire il potenziometro con i vari sensori, se volete rallentare la velocitá di visualizzazione nel grafico basterà il tempo in delay (Arduino).
Sotto troverete tutti i file necessari per la realizzazione pronti da scaricare.
Spero vi sia piaciuto, lasciate un commento e condividete sulla pagina Facebook.
Sotto troverete tutti i file necessari per la realizzazione pronti da scaricare.
Spero vi sia piaciuto, lasciate un commento e condividete sulla pagina Facebook.
Sketch_arduinograficoprocessing.ino | |
File Size: | 0 kb |
File Type: | ino |
Sketch_arduino_processing.pde | |
File Size: | 1 kb |
File Type: | pde |
Condividete le foto dei vostri progetti nei commenti.