PCB Wizard

1. Abrir PCB Wizard y desplegar la Circuit Symbol Gallery




2. Arrastrar los componentes




3. Crear las conexiones (posicionar el mouse sobre uno de los pines y arrastrarlo hasta el pin del otro componente al cual se quiere conectar)





4. Convertirlo a PCB: Tools / Convert / Design to Printed Circuit Board
Marcar "Yes, I wish to decide how my design is converted" / Next

Luego setear lo siguiente:



En esta configuración es posible cambiar el ancho de las pistas (en el combo Grid):
Esto es útil en el caso en que se quiera utilizar una mecha de mayor diámetro:




La placa quedará así:




5. Agregar los pads de referencia

Para esto, colocar dos pads a cada lado de la placa (pueden estar dentro o fuera). Deben estar alineados y equidistantes de los bordes de la placa (estas referencias serán utilizadas mas adelante por el software Line Grinder).

Luego de posicionar los pads, editar sus propiedades, y en el tamaño establecer 0.125in en el largo y ancho




Es posible mover los componentes para distribuirlos de otra manera.
En este caso, el ruteo se pierde, y hay que volver a realizarlo mediante el menú Tools / Auto Route / Route all Nets


Y queda así:



6. Marcar el punto de origen

Para esto, ir a View / Co-ordinates / Origin / Change origin
y marcar la esquina inferior izquierda como origen:



7. Exportar a GERBER

Tools / CAD Cam / Export GERBER

Dejar marcado sólamente Solder side y Drill holes


Generacion de GCODE con FlatCam (version utilizada: 8.92 Beta)

8. Generar GCODE utilizando FlatCam  (tutorial en: https://www.youtube.com/watch?v=IbsBCMlQB_c)

        a. File / Open / Open Gerber  --> abrir el archivo .gb0 generado por el pcb wizard que corresponde a los isolation.

        b. File / Open / Open Excellon --> abrir el archivo .drl que contiene los agujeros

9. Seleccionar de la ficha Project, el archivo abierto en el paso a.

10. Ir a la ficha Selected

11. En Tool dia: 0.016 / Passes: 1 / Pass overlap: 0.1500

12. Click en full geo

13. Para generar el cutout (recuadro alrededor):
           a. Ir a ficha Project, click en el .gb0
           b. Ir a ficha Selected
           c. Click en cutout tool
           d. Tool Dia: 0.031 / Margin 0.05 / Gap size: -.1

           e. Donde dice Free form, click en Generate Geo

14. Para generar los drills:
           a. Ir a la ficha Project, click en el .drl
           b. Ir a ficha Selected
           c. Seleccionar todos los drills de la tools table, y en Drills Tool Dia poner: 0.031
           d. Click en Mill Drills Geo
           e. Cut Z: -0.25 / Travel Z: 0.1 / Feed rate: 3.0
           f. Click en Generate

Los pasos anteriores generan los Geometry.
A partir de los Geometry se pueden generar los paths gcode:

1. En la ficha Project, dentro de Geometry, click en el archivo (termina en _mill)

2. Click en Selected

3. Cut Z: -0.05 / Travel Z: 0.4 / Feed rate: 15.0 / Tool dia: 0.016

4. Click en Generate

Hacer lo mimo con el geometry cutout, con estos parametros:

Cut Z: -0.063 / Travel Z: 0.4 / Feed rate: 6.0 / Tool dia: 0.031

Y hacer lo mismo con el archivo de drill:

Cut Z: -0.063 / Travel Z: 0.4 / Feed rate: 15.0 / Tool dia: 0.031


10. Procesar el GCode con Grbl Controller (EL UNIVERAL GCODE SENDER NO FUNCIONA CON LOS ARCHIVOS GENERADOS ANTERIORMENTE... DON'T KNOW WHY)

Conectar al COM donde se encuentre el Arduino.

Cargar el archivo .nc grabado en el paso anterior y enviarlo a Arduino.





8. Generar GCODE con Line Grinder

En Line Grinder, abrir el archivo .gb0 (el que corresponde al Solder side que exportamos en el paso anterior)


Como el gcode que generemos lo vamos a utilizar en una fresadora, es necesario hacer flip de este diseño.
Para esto, ir a Settings y en IsoFlipMode elegir X_Flip


Luego de esto, el diseño queda así:



Si se va a utilizar una fresadora, dejar el parámetro IsoZCutLevel en -0.002
Si se va a utilizar un drypen, cambiarlo a 0.000

Presionar Convert to GCode

y luego, click en Isolation GCode

En la ficha "Isolation GCode" está el código G que necesitamos.

Guardarlo en un archivo con extension .nc, que a continuación abriremos con el Grbl Controller


9.






Compilar solución de Visual Studio en x86 o x64

Para compilar específicamente en 32 bits (x86):

1. Ir a Configuration Manager, y ver si existe la opción x86, si no existe, agregarla




2. En las propiedades del proyecto, elegir en Platform x86 (observar que la ruta de build cambia, tenerlo en cuenta a la hora de copiar el .exe, porque a veces confunde)



3. En las propiedades de la solución, asegurarse que figura en Active config: Release|x86




Arduino MIDI drums - Secuencia completa de MIDI para Ableton desde Arduino


#include <MIDI.h>

MIDI_CREATE_DEFAULT_INSTANCE();

void setup() {
  MIDI.begin();
}

/*
44 hi hat apretado
42 hi hat normal
46 hi hat abierto

49 splash
32 crash
51 ride

34 bass
33 snare
37 tick
48 tom 1
45 tom 2
41 tom 3
*/

unsigned char notas[12] = {44, 42, 46, 49, 32, 51, 34, 33, 37, 48, 45, 41};    

void loop() {
  for (int i=0; i<12; i++)
  {
    MIDI.sendNoteOn(notas[i],127,10);  // Send a Note (pitch, velo 127 on channel 10)
    delay(1000);  
    MIDI.sendNoteOff(notas[i],0,10);   // Stop the note  
  }

      delay(3000);    
}

Crear PCB con DesignSpark para CNC


1. En DesignSpark, File / New / PCB Design


2. Presionar Next y luego elegir default.ptf en "Choose Technology File"

3. En unidades, elegir mm, luego Next

4. Marcar "Define Layers", y elegir Single Sided Board, y luego Next

5. Especificar el tamaño de la placa, luego Next

6. Definir un nombre

Establecer el origen de la esquina inferior izquierda

Click derecho en la esquina inferior izquierda de la placa
Elegir Origins / Set System Origins at Item
Debe aparecer un círculo con una cruz




Establecer los Reference Pin Pad

Los reference pin pads deben ser por lo menos dos y deben estar equidistantes de los bordes de la placa y alineados.

Pueden definirse tanto adentro de la placa como afuera (si no quisieran incluirse en el diseño)
Sirven para que puedan ser alineadas las diferentes capas de PCB que se hagan.

Para definirlos, elegir Add Pad de la barra de herramientas:
Por ejemplo:




El tamaño de estos pines debe ser 0.125 pulgadas, pero como estamos trabajando con mm, los definimos de 3.175mm
Para esto, click derecho sobre el pin, luego Propiedades / Width
Hacer lo mismo para los otros reference pin pads que se hayan creado


Dibujar la placa

Con Add Pad y con Sketch Track, dibujar la placa
** Los Pad's deben medir 1.5mm **



Generar los archivos .gbr y .drl

Output / Manufacturing Plots
Dejar marcado sólamente Bottom Copper y Drill Data [Through Hole]
Marcar Gerber y presionar RUN




Generar Isolation routes y GCODE para la placa

Abrir el software Line Grinder (v01.04)
Open Gerber/Drill File
Abrir el archivo xxxx - Bottom Copper.gbr



Presionar "Convert to GCode"
Elegir "Isolation GCode" en el menu de la izquierda



Settings para Line Grinder [TENER EN CUENTA QUE ESTA TODO EN INCHES, DEJARLO ASI]




Settings para drl:



En la ficha Isolation GCode aparece el codigo G necesario para rutear la placa de PCB



Para procesarlo en el CNC, guardar el codigo G en un archivo .nc y abrirlo con Grbl Controller (3.6.1)

NOTA!!! observar que en el codigo G aparece un comentario (... pad touchdown start ...)
Lo que esta debajo de esto son las marcas de los agujeros, para que sirvan de guia para hacer el perforado manual luego.



Generar GCode para los agujeros (Drill)

Abrir el archivo xxxx - Drill Data - [Through Hole].drl que creó DesignSpark



Abrir la siguiente URL
http://eng-serve.com/cnc/excellon_gcode.html

Pegar el texto contenido en el archivo .drl y presionar "Generate G-Code"


Guadar el texto generado (ej, drill.nc) y luego abrirlo con el Grbl Controller

OJO!!! LAS COORDENADAS NO ESTAN BIEN!!



Fuente:
http://www.ofitselfso.com/LineGrinder/LineGrinderHelp/LineGrinderHelp_DesignSparkConfiguration.html


Uncheck radio button con jQuery


<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>

<input type="radio" name="opt1" value="Opcion1">Opcion1</input>
<input type="radio" name="opt1" value="Opcion2">Opcion2</input>
<script>
$(document).ready(function() {


$("[name=opt1]").mousedown(function(event) {
if ( $(this).prop('checked') )
$(this).prop('checked', false);
else
$(this).prop('checked', true);

event.preventDefault();
});

$("[name=opt1]").click(function(event) {
event.preventDefault();
});
});
</script>
</html>

avrdude: Yikes! Invalid device signature.

Cuando me pasó esto era porque el servo estaba mal.
Lo desconecté y se arregló.

Si es un led que esta conectado, quitarlo y probar de nuevo.