Paso 10: Mejoras de la comunidad de Instructables
Este paso está destinado a compartir mejoras hechas por los lectores de Instructables.Apretón de manos - por "spiralout11235"
La primera mejora es de "spiralout11235" (nombre de usuario inteligente!) que ha puesto en práctica serial apretón de manos entre el boceto de procesamiento y el Arduino (para el grabado de la trama). Esto elimina la necesidad de ajuste de retrasos en el procesamiento del bosquejo. Además, el Arduino sketch características control de PWM de salida del laser y algunos otros cambios que notarás si fijamos a través del código.
Ha ofrecido amablemente a compartir sus ideas y código. Aquí están sus notas:
Sketch de Arduino: versión 4.0 apretón de manos
Bosquejo de procesamiento: Handshake 2.0
Notas de la versión: apretón de manos se implementa ahora: ya no necesitará ajustar tiempos de retardo en el proceso. Esto significa Arduino y el proceso de envían y reciban datos cuando el otro esté listo. Proceso de espera hasta que recibe los datos en serie: SerialEvent() activa y lee hasta el salto de línea '\n'. Serial.print () de SO hasta que Serial.println() es el comando entero de Arduino. (Sólo para imágenes blanco y negro, no escala de grises)
1. Arduino println a salir de una "A" y espera para el procesamiento para recibir esto y enviar de nuevo. "Conexión establecida".
2. Arduino envía un "1" para indicar que está listo para el "linelength" del siguiente conjunto de instrucciones.
3. Si el procesado recibe «1» envía (linelength + 10) (razón explicada en el código).
4. Arduino ahora espera linelength. Serie de lecturas y escribe linelength = linelength-10. Arduino envía "2" listo de señalización para el bloque de instrucciones.
5. Si el procesado recibe "2" envía el siguiente bloque de instrucciones.
6. Arduino recibe el bloque de instrucciones y sigue leyendo cada byte hasta numBytes = linelength (número esperado de bytes) como garantía básica de información
7. Repita los pasos 2 a 6 hasta que todos los conjuntos de instrucciones se envían.
Además, conectado un botón y una olla
-Cuando arranca el Arduino, mientras está buscando tratamiento para comenzar (función establishContact()), permite al usuario golpear un botón para encender el láser; el porcentaje de 'on' se determina por la lectura de la olla. Después de la instalación, pote de botón no se utilizan.
-Esto me permitió configurar el láser sorteo/limitación de la corriente (en los bote máximo) así como la línea de mi destino (en olla baja)
-Botón: de un lado a tierra, de un lado al pin 12, que INPUT_PULLUP
-Maceta (10k o cualquier cosa lo suficientemente alto como para no volar el pasador (20mA creo)): 1 final a 5V, el otro a la tierra, el medio analógico (A0) o perno 14
* Después de la instalación, potencia del láser depende de laserPercentage variable definida
Láser de control debe ser en el pin 10 (o cualquiera con PWM) para que analogWrite() trabajar. Si no tienes una olla sin embargo, sólo la alimentación pin 14 5V hasta láser se encuentra a plena potencia.
Los archivos de procesamiento y Arduino están en el archivo "Handshake.zip" a continuación.
Si desea compartir sus mejoras o sugerencias, envíeme un mensaje (vía Instructables o getburnt1 y yo podemos subirlas a este paso.