Update docs for alias to generate files

This commit is contained in:
Leo Lou 2018-04-12 09:19:40 +09:00
parent f9696aee55
commit 5b07b78459

View file

@ -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