Sonifying capacitiva datos sobre Serial Port con Teensy y SuperCollider (OSX y Linux) (3 / 4 paso)

Paso 3: Ejecuta el bosquejo Teensy y enviar datos en serie

Una vez que esté funcionando con el Teensy por referencia: http://www.pjrc.com/teensy/td_download.html y ejecutar algunos programas de ejemplo, estará preparado para instalar y ejecutar el sketch de ejemplo adjunto proporcionado.

 <p>//calibration<br>int avg_reading1,avg_reading2,avg_reading3,avg_reading4,avg_reading5; int count_cal_readings = 0; long total1, total2, total3, total4, total5; int cap_read1, cap_read2, cap_read3, cap_read4, cap_read5; boolean done_cal = false; //use int touch_threshold; //debug boolean debug; int tval1,tval2,tval3,tval4,tval5; int t_val1,t_val2,t_val3,t_val4,t_val5;</p><p>void setup(){ debug = false; Serial.begin(9600); done_cal=false; touch_threshold = 0; if(debug==true){ Serial.println("STARTING..."); delay(1000); }</p><p>}</p><p>void loop(){ cap_read1 = touchRead(A1); cap_read2 = touchRead(A2); cap_read3 = touchRead(A3); cap_read4 = touchRead(A4); cap_read5 = touchRead(A5); if(done_cal==true){ //RUNNING delay(10); t_val1 = abs( cap_read1 - avg_reading1 ); //delay(1); t_val2 = abs( cap_read2 - avg_reading2 ); //delay(1); t_val3 = abs( cap_read3 - avg_reading3 ); //delay(1); t_val4 = abs( cap_read4 - avg_reading4 ); //delay(1); t_val5 = abs( cap_read5 - avg_reading5 ); // if(t_val1 > touch_threshold){ if(debug==true){ //Serial.print("Raw touchRead data [ "); Serial.print(cap_read1); Serial.print(" "); Serial.print(cap_read2); Serial.print(" "); Serial.print(cap_read3); Serial.print(" "); Serial.print(cap_read4); Serial.print(" "); Serial.print(cap_read5); Serial.println(); // Serial.print(" ]\n"); // Serial.print("Touch calibrated value ["); // Serial.print(t_val1); Serial.print("\t"); Serial.print(t_val2); // Serial.print("]\n"); }else{ int tval1 = map(t_val1, 1, 65536, 200, 1200); int tval2 = map(t_val2, 1, 65536, 200, 1200); int tval3 = map(t_val3, 1, 65536, 200, 1200); int tval4 = map(t_val4, 1, 65536, 200, 1200); int tval5 = map(t_val5, 1, 65536, 200, 1200); Serial.print(tval1); Serial.print(" "); Serial.print(tval2); Serial.print(" "); Serial.print(tval3); Serial.print(" "); Serial.print(tval4); Serial.print(" "); Serial.print(tval5); Serial.println(); } }else{ //CALIBRATION</p><p> if(millis()<5000 && done_cal==false){ //first five seconds, calibrate total1 += cap_read1; total2 += cap_read2; total3 += cap_read3; total4 += cap_read4; total5 += cap_read5; count_cal_readings++; if(debug==true){ Serial.print(cap_read1);Serial.print(" "); Serial.print(cap_read2);Serial.print(" "); Serial.print(cap_read3);Serial.print(" "); Serial.print(cap_read4);Serial.print(" "); Serial.print(cap_read5); Serial.println(); } }else{ avg_reading1 = int(total1/count_cal_readings); avg_reading2 = int(total2/count_cal_readings); avg_reading3 = int(total3/count_cal_readings); avg_reading4 = int(total4/count_cal_readings); avg_reading5 = int(total5/count_cal_readings); done_cal = true; if(debug==true){ Serial.println("~~"); Serial.println("AVG"); Serial.print(avg_reading1 + " "); Serial.print(avg_reading2 + " "); Serial.print(avg_reading3 + " "); Serial.print(avg_reading4 + " "); Serial.println(avg_reading5); Serial.println("~~"); delay(1000); } } } delay(25);</p><p>}</p> 

Observe que este código de bosquejo tiene una fase de calibración breve que pasa a través de la inicialización de cada nueva gestión. Para obtener las lecturas más exactas, su ' siempre una buena idea para tener las manos fuera el Teensy y cables y no tiene los cables de contacto con tierra o metal cuando lo enchufe por primera vez. Puede ver la fase de calibración en la consola Arduino si establece el indicador del DEBUG 'true' en el bosquejo.

Una vez efectuada la calibración, podrá entonces ver ambiente los valores numéricos en scroll en el monitor. Los valores reales touchRead de Teensy son 16 bits de tamaño y van desde 1-65536, pero yo he asignado los valores de salida hacia abajo en una más estrecho (menos molesto) gama de frecuencia audible de 200-1200 en el bosquejo .ino.

Artículos Relacionados

¿Cómo gestionar las muestras con código QR y una base de datos sobre Raspberry Pi?

¿Cómo gestionar las muestras con código QR y una base de datos sobre Raspberry Pi?

Este tutorial paso a paso se hace aayudarle a hacer su propia base de datos en un Raspberry Pi.Nuestro trabajo era crear una página web para la empresa Materia Nova para codificar datos sobre muestras de sus productos. Una vez codificados, los datos
Alrededor suena comentarios box-SSFBB (hecho con teensy)

Alrededor suena comentarios box-SSFBB (hecho con teensy)

ACTUALIZACIÓN 6/5 2016: Espectrograma en su caminoIdea de este proyecto vino semi-accidente mientras lo jugando con teensy 3.2 tiene caballos de fuerza a hande mucha cosas, cálculos de audio en tiempo real aquí y suavemente actualización FFT, medidor
Visualizar datos de los sensores con Arduino + coolterm

Visualizar datos de los sensores con Arduino + coolterm

una vez que usted está recibiendo algunos valores de los sensores, por ejemplo usando Arduino, (ver mi anterior instructable), a veces es bueno ver a los datos del sensor en un gráfico.Aquí está cómo en sólo unos pocos pasos!Hice este Instructables p
Arduino solar regulador de carga + control de salida y registro de datos en línea con Xbee WiFi

Arduino solar regulador de carga + control de salida y registro de datos en línea con Xbee WiFi

Hace un tiempo atrás empecé a trabajar en un controlador de carga solar, estaba basado en un microcontrolador PIC, un 20 x 4 caracteres de la pantalla y el código fue escrito en lenguaje ensamblador. Funcionaba bien y aún trabajaba cuando decidí que
ESP8266 y Visuino: Control Servo remotamente sobre Wi-Fi con codificador rotatorio

ESP8266 y Visuino: Control Servo remotamente sobre Wi-Fi con codificador rotatorio

Módulos de ESP8266 son controladores de bajo costo independiente gran con construido en Wi-Fi. En este Instructable mostrará cómo puede controlar un Servo remotamente sobre Wi-Fi con un codificador rotatorio. El Instructable es una versión similar pe
Twitter datos de los sensores con Arduino RedBoard y SparkFun BME280 y SparkFun ESP8266 escudo

Twitter datos de los sensores con Arduino RedBoard y SparkFun BME280 y SparkFun ESP8266 escudo

Materiales:Sensor atmosférico SparkFun BME280Escudo de WiFi de SparkFunSparkFun RedBoardSoldadura de hierroUn ordenador con un puerto USB y el Software de ArduinoUna cuenta de TwitterUna conexión a Internet (WPA2 - para estar seguro)Aproximadamente 1
Registrar códigos infrarrojos de cualquier unidad de Control remoto para el uso con mando a distancia infrarrojo de Linux (LIRC) en el receptor de infrarrojos basada en GPIO de frambuesa Pi

Registrar códigos infrarrojos de cualquier unidad de Control remoto para el uso con mando a distancia infrarrojo de Linux (LIRC) en el receptor de infrarrojos basada en GPIO de frambuesa Pi

IntroducciónLos mandos a distancia que son huérfanos cuando el dispositivo de control de dejó de funcionar son reutilizables en la Raspberry Pi. Después de completar este instructable, quizás estés interesado en probar el siguiente instructables:Reut
Reproductor de música con Teensy 3.1

Reproductor de música con Teensy 3.1

3.1 Teensy de PJRC cuenta con un potente procesador ARM con instrucciones de DSP. Aplicaciones de audio son facilitados por la biblioteca de software de audio y adaptador de audio de PJRC. Mi reproductor de música es una exploración inicial de este p
Datos sobre la luz: un prototipo de láser módem

Datos sobre la luz: un prototipo de láser módem

Este proyecto fue motivado por el deseo de analizar y discutir las deficiencias de nuestra dependencia en las redes de comunicación corporativa.Como nos seguimos delegando cada vez más de nuestra vida cotidiana para plataformas menos digitales, utili
Fijar el tema Mac Lilypad USB Serial Port/controlador

Fijar el tema Mac Lilypad USB Serial Port/controlador

¿Tu Mac es menos de 2 años?¿Ha actualizado recientemente el sistema operativo más reciente (Yosemite o algo más reciente)?¿Su Lilypad USBs/MP3s ya no funcionan?Mi tutorial le mostrará cómo me fijo mis USBs Lilypad.El error que encontré fue relacionad
Registro de datos de tarjeta SD con el Sensor de temperatura humedad DHT22

Registro de datos de tarjeta SD con el Sensor de temperatura humedad DHT22

Este es un tutorial explicando cómo hacer el registro con el Sensor de humedad de temperatura DHT22 por nuestro cliente Steve Spence.Esto es un poco complicado, como el sensor salidas flotadores y enviamos cadenas a la tarjeta SD, he puesto juntos un
InPace - un Arduino basado en datos GPS fitness pulsera con bluetooth y una app de iOS

InPace - un Arduino basado en datos GPS fitness pulsera con bluetooth y una app de iOS

InPace es una muñequera de fitness basado en Arduino, con una aplicación de iOS que lo acompaña, que puede proporcionar feedback directo sobre cómo el usuario es ellos mismos de estimulación durante una carrera, caminata o ciclismo de ruta. Realiza u
Sencillo mando de Guitar Hero para PC con Teensy (capaz de multi-player)

Sencillo mando de Guitar Hero para PC con Teensy (capaz de multi-player)

Después de hacer el Simple pegado DDR Pad, el siguiente paso natural es obviamente un mando de guitar hero :)Lo que me di cuenta que se ejecutará de pasadores en la board si quería añadir más jugadores.¿La solución?Utilizando el valor analógico, lo q
Paso a paso y todo despejado, como transmisión de datos sobre LASER.part1.

Paso a paso y todo despejado, como transmisión de datos sobre LASER.part1.

Este proyecto que me pidió hacerlo para aprender mi instructor Mohannad Rawashdeh, yo lo hice y encontró interesante y aún más difícil. Como aprendí mucho de él, pensé que sería bueno compartirla!después de este hecho y debido a mi interés de transmi