Update docs for alias to generate files
This commit is contained in:
parent
f9696aee55
commit
5b07b78459
62
README.md
62
README.md
|
@ -3,9 +3,9 @@ This is a fork of the [Dactyl](https://github.com/adereth/dactyl-keyboard), a pa
|
||||||
|
|
||||||
![Imgur](http://i.imgur.com/LdjEhrR.jpg)
|
![Imgur](http://i.imgur.com/LdjEhrR.jpg)
|
||||||
|
|
||||||
The main change is that the thumb cluster was adapted from the [ManuForm keyboard](https://github.com/jeffgran/ManuForm) ([geekhack](https://geekhack.org/index.php?topic=46015.0)). The walls were changed to just drop to the floor. The keyboard is paramaterized to allow adjusting the following:
|
The main change is that the thumb cluster was adapted from the [ManuForm keyboard](https://github.com/jeffgran/ManuForm) ([geekhack](https://geekhack.org/index.php?topic=46015.0)). The walls were changed to just drop to the floor. The keyboard is paramaterized to allow adjusting the following:
|
||||||
|
|
||||||
* Rows: 4 - 6
|
* Rows: 4 - 6
|
||||||
* Columns: 5 and up
|
* Columns: 5 and up
|
||||||
* Row curvature
|
* Row curvature
|
||||||
* Column curvature
|
* Column curvature
|
||||||
|
@ -30,32 +30,32 @@ I built a 4x5 version (40% size) for myself. The default has a bit more tenting
|
||||||
* [Install OpenSCAD](http://www.openscad.org/)
|
* [Install OpenSCAD](http://www.openscad.org/)
|
||||||
|
|
||||||
**Generating the design**
|
**Generating the design**
|
||||||
* Run `lein repl`
|
* Run `lein generate`
|
||||||
* Load the file `(load-file "src/dactyl_keyboard/dactyl.clj")`
|
|
||||||
* This will regenerate the `things/*.scad` files
|
* This will regenerate the `things/*.scad` files
|
||||||
* Use OpenSCAD to open a `.scad` file.
|
* Use OpenSCAD to open a `.scad` file.
|
||||||
* Make changes to design, repeat `load-file`, OpenSCAD will watch for changes and rerender.
|
* Make changes to design, repeat `load-file`, OpenSCAD will watch for changes and rerender.
|
||||||
* When done, use OpenSCAD to export STL files
|
* When done, use OpenSCAD to export STL files
|
||||||
|
|
||||||
**Tips**
|
**Tips**
|
||||||
|
* Run `lein auto generate` instead of `lein generate` to speed up your workflow.
|
||||||
* [Some other ways to evaluate the clojure design file](http://stackoverflow.com/a/28213489)
|
* [Some other ways to evaluate the clojure design file](http://stackoverflow.com/a/28213489)
|
||||||
* [Example designing with clojure](http://adereth.github.io/blog/2014/04/09/3d-printing-with-clojure/)
|
* [Example designing with clojure](http://adereth.github.io/blog/2014/04/09/3d-printing-with-clojure/)
|
||||||
|
|
||||||
|
|
||||||
### Printing
|
### Printing
|
||||||
Pregenerated STL files are available in the [things/](things/) directory.
|
Pregenerated STL files are available in the [things/](things/) directory.
|
||||||
When a model is generated, it also generates a `.scad` model for a bottom plate.
|
When a model is generated, it also generates a `.scad` model for a bottom plate.
|
||||||
This can be exported to a DXF file in OpenSCAD.
|
This can be exported to a DXF file in OpenSCAD.
|
||||||
The [things/](things/) directory also has DXF files for the bottom plate.
|
The [things/](things/) directory also has DXF files for the bottom plate.
|
||||||
When laser cut, some of the inside cuts will need to be removed.
|
When laser cut, some of the inside cuts will need to be removed.
|
||||||
|
|
||||||
This model can be tricky to print.
|
This model can be tricky to print.
|
||||||
It's wide, so I've had problems with PLA on a Makerbot with edges warping.
|
It's wide, so I've had problems with PLA on a Makerbot with edges warping.
|
||||||
This can cause the printer to think its head is jammed.
|
This can cause the printer to think its head is jammed.
|
||||||
Even if it successfully prints, warping can cause problems.
|
Even if it successfully prints, warping can cause problems.
|
||||||
On one print, the RJ-9 holder was squished, so I had to cut down my connector to fit.
|
On one print, the RJ-9 holder was squished, so I had to cut down my connector to fit.
|
||||||
|
|
||||||
If printed at Shapeways or other professional shops, I would not expect such problems.
|
If printed at Shapeways or other professional shops, I would not expect such problems.
|
||||||
|
|
||||||
### Thingiverse
|
### Thingiverse
|
||||||
|
|
||||||
|
@ -76,33 +76,33 @@ Here are materials I used for wiring.
|
||||||
* [1N4148 diodes](https://www.amazon.com/gp/product/B00LQPY0Y0)
|
* [1N4148 diodes](https://www.amazon.com/gp/product/B00LQPY0Y0)
|
||||||
* [Female RJ-9 connectors](https://www.amazon.com/gp/product/B01HU7BVDU/)
|
* [Female RJ-9 connectors](https://www.amazon.com/gp/product/B01HU7BVDU/)
|
||||||
|
|
||||||
I wired one half using the traditional approach of using the legs of a diode to form the row connections.
|
I wired one half using the traditional approach of using the legs of a diode to form the row connections.
|
||||||
(I'm not great at soldering, so this was challenging for me.)
|
(I'm not great at soldering, so this was challenging for me.)
|
||||||
For this side, I used magnet wire to wire columns. That worked okay.
|
For this side, I used magnet wire to wire columns. That worked okay.
|
||||||
The magnet wire is small enough, it wants to move around, and it's hard to tell if you have a good connection.
|
The magnet wire is small enough, it wants to move around, and it's hard to tell if you have a good connection.
|
||||||
|
|
||||||
![Imgur](http://i.imgur.com/7kPvSgg.jpg)
|
![Imgur](http://i.imgur.com/7kPvSgg.jpg)
|
||||||
|
|
||||||
For another half, I used stripboard for the row connections.
|
For another half, I used stripboard for the row connections.
|
||||||
This allowed me to presolder all of the diodes.
|
This allowed me to presolder all of the diodes.
|
||||||
Then, I hot-glued this in place and finished the soldering of the other diode ends.
|
Then, I hot-glued this in place and finished the soldering of the other diode ends.
|
||||||
I like this approach quite a lot.
|
I like this approach quite a lot.
|
||||||
Connections for the diodes were much easier with one end fixed down.
|
Connections for the diodes were much easier with one end fixed down.
|
||||||
On this half, I also used copper tape to connect columns.
|
On this half, I also used copper tape to connect columns.
|
||||||
This worked a bit better than the magnet wire for me.
|
This worked a bit better than the magnet wire for me.
|
||||||
For a future version, I may try just bare tinned copper wire for columns (something like #20).
|
For a future version, I may try just bare tinned copper wire for columns (something like #20).
|
||||||
With the stripboard, it's pretty easy keeping row and column connections separate.
|
With the stripboard, it's pretty easy keeping row and column connections separate.
|
||||||
|
|
||||||
![Imgur](http://i.imgur.com/JOm5ElP.jpg)
|
![Imgur](http://i.imgur.com/JOm5ElP.jpg)
|
||||||
|
|
||||||
Note that a telephone handset cable has leads that are reversed, so take this into account when connecting these leads to the controller.
|
Note that a telephone handset cable has leads that are reversed, so take this into account when connecting these leads to the controller.
|
||||||
|
|
||||||
The 3D printed part is the main keyboard.
|
The 3D printed part is the main keyboard.
|
||||||
You can attach a bottom plate with screws.
|
You can attach a bottom plate with screws.
|
||||||
The case has holes for heat-set inserts designed to hold 3- to 6-mm long M3 screws.
|
The case has holes for heat-set inserts designed to hold 3- to 6-mm long M3 screws.
|
||||||
Then, I used wafer-head screws to connect a bottom plate.
|
Then, I used wafer-head screws to connect a bottom plate.
|
||||||
If wires aren't dangling, a bottom plate may not be needed.
|
If wires aren't dangling, a bottom plate may not be needed.
|
||||||
You need something on the bottom to keep the keyboard from sliding around.
|
You need something on the bottom to keep the keyboard from sliding around.
|
||||||
Without a plate, you could use a rubber pad, or you could dip the bottom of the keyboard in PlastiDip.
|
Without a plate, you could use a rubber pad, or you could dip the bottom of the keyboard in PlastiDip.
|
||||||
|
|
||||||
For more photos of the first complete wiring of v0.4, see [Imgur](http://imgur.com/a/v9eIO).
|
For more photos of the first complete wiring of v0.4, see [Imgur](http://imgur.com/a/v9eIO).
|
||||||
|
@ -122,9 +122,9 @@ NOTE: you also make sure the firmware is set up correctly (ex: change row pins w
|
||||||
|
|
||||||
### Firmware
|
### Firmware
|
||||||
|
|
||||||
Firmware goes hand in hand with how you wire the circuit.
|
Firmware goes hand in hand with how you wire the circuit.
|
||||||
I adapted the QMK firmware [here](https://github.com/tshort/qmk_firmware/tree/master/keyboards/dactyl-manuform).
|
I adapted the QMK firmware [here](https://github.com/tshort/qmk_firmware/tree/master/keyboards/dactyl-manuform).
|
||||||
This allows each side to work separately or together.
|
This allows each side to work separately or together.
|
||||||
This site also shows connections for the Arduino Pro Micro controllers.
|
This site also shows connections for the Arduino Pro Micro controllers.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
Loading…
Reference in a new issue