Paso 14: Software de Arduino
Aquí está el bosquejo que escribí que lee la rotación del rotor y recoge una lectura de A0 en cada rotación.
Puede que necesite ajustar esto para tu Arduino
dará salida a las mediciones a la salida serial para mostrar como datos sin procesar o procesada con un programa de graficación.
Ive también incluye una aplicación de visualización gráficas simple escrita en el "Proceso" en un PC
---Arduino mega sketch---
int pin = 7;
volátil int estado = bajo;
tt de int = 0;
void setup()
{
Serial.Begin(9600);
pinMode (pin, salida);
attachInterrupt (2, destello, cambio);
}
void loop()
{
Serial.println(TT);
digitalWrite (pin, estado);
}
blink() vacío
{
TT=(analogRead(a0)-200);
estado =! estado;
}
---Procesamiento de dibujo---
Import processing.serial.*;
Serie myPort; El puerto serie
int xPos = 1; posición horizontal de la gráfica
void setup () {}
establecer el tamaño de ventana:
Size(1024, 480);
Lista de todos los puertos serie disponibles
println(serial.List());
Sé que el primer puerto en la lista de serie de mi mac
es siempre mi Arduino, así que abro Serial.list() [0].
Abierto cualquier puerto es el que utilizas.
myPort = serie nueva (este, Serial.list() [1], 9600);
no generar un serialEvent() a menos que obtenga un carácter de nueva línea:
myPort.bufferUntil('\n');
conjunto de antecedentes:
Background(0);
}
void dibujar () {}
todo lo que sucede en el serialEvent()
}
void serialEvent (serie myPort) {}
obtener la cadena ASCII:
InString de cadena = myPort.readStringUntil('\n');
Si (inString! = null) {}
ajuste de cualquier espacio en blanco:
inString = trim(inString);
convertir a un int y asignar a la altura de la pantalla:
flotador inByte = float(inString);
inByte = mapa (inByte, 0, 1000, 0, altura);
trazar la línea:
Stroke(255,255,255);
línea (xPos, altura, xPos, altura - inByte-20);
textSize(32);
texto (inByte, 10, 30);
en el borde de la pantalla, volver al principio:
Si (xPos > = ancho) {}
xPos = 0;
Background(0);
}
Else {}
incremento de la posición horizontal:
xPos ++;
}
}
}