diff --git a/Assets/pictures/brew.png b/Assets/pictures/brew.png new file mode 100644 index 0000000..a9acbe6 Binary files /dev/null and b/Assets/pictures/brew.png differ diff --git a/Assets/pictures/calibration_L.png b/Assets/pictures/calibration_L.png new file mode 100644 index 0000000..3a7d7df Binary files /dev/null and b/Assets/pictures/calibration_L.png differ diff --git a/Assets/pictures/calibration_P.png b/Assets/pictures/calibration_P.png new file mode 100644 index 0000000..922ffb1 Binary files /dev/null and b/Assets/pictures/calibration_P.png differ diff --git a/Assets/pictures/grind_L.png b/Assets/pictures/grind_L.png new file mode 100644 index 0000000..19e2f6f Binary files /dev/null and b/Assets/pictures/grind_L.png differ diff --git a/Assets/pictures/grind_P.png b/Assets/pictures/grind_P.png new file mode 100644 index 0000000..856d2c7 Binary files /dev/null and b/Assets/pictures/grind_P.png differ diff --git a/Assets/pictures/scaleDirect_L.png b/Assets/pictures/scaleDirect_L.png new file mode 100644 index 0000000..80848c0 Binary files /dev/null and b/Assets/pictures/scaleDirect_L.png differ diff --git a/Assets/pictures/scaleDirect_P.png b/Assets/pictures/scaleDirect_P.png new file mode 100644 index 0000000..a6b2fb6 Binary files /dev/null and b/Assets/pictures/scaleDirect_P.png differ diff --git a/Assets/pictures/timeWeightDirect.png b/Assets/pictures/timeWeightDirect.png new file mode 100644 index 0000000..43e2562 Binary files /dev/null and b/Assets/pictures/timeWeightDirect.png differ diff --git a/Assets/pictures/timeWeightDirect_L.png b/Assets/pictures/timeWeightDirect_L.png new file mode 100644 index 0000000..6b727d3 Binary files /dev/null and b/Assets/pictures/timeWeightDirect_L.png differ diff --git a/Assets/pictures/timemode_L.png b/Assets/pictures/timemode_L.png new file mode 100644 index 0000000..697b0fa Binary files /dev/null and b/Assets/pictures/timemode_L.png differ diff --git a/Assets/pictures/timemode_P.png b/Assets/pictures/timemode_P.png new file mode 100644 index 0000000..d71f2c4 Binary files /dev/null and b/Assets/pictures/timemode_P.png differ diff --git a/Assets/schematic.pdf b/Assets/schematic.pdf new file mode 100644 index 0000000..c30e13e Binary files /dev/null and b/Assets/schematic.pdf differ diff --git a/Assets/schematic_2.png b/Assets/schematic_2.png new file mode 100644 index 0000000..f23aeea Binary files /dev/null and b/Assets/schematic_2.png differ diff --git a/Assets/schematic_darktmode.png b/Assets/schematic_darktmode.png new file mode 100644 index 0000000..4306b07 Binary files /dev/null and b/Assets/schematic_darktmode.png differ diff --git a/Assets/turnoffdarkmode.png b/Assets/turnoffdarkmode.png new file mode 100644 index 0000000..6976775 Binary files /dev/null and b/Assets/turnoffdarkmode.png differ diff --git a/README.md b/README.md index 5a205f3..bb080b8 100644 --- a/README.md +++ b/README.md @@ -1,61 +1,99 @@ # MillControl -##Arduino Coffee Grinder Control +## Arduino Coffee Grinder Control -###THIS DESCRIPTION IS A BIT OUT OF DATE I WILL UPDATE IT WHEN I GET TO IT. +### THIS DESCRIPTION IS A BIT OUT OF DATE I WILL UPDATE IT WHEN I GET TO IT. If you speak german please refer to: https://www.kaffee-netz.de/threads/millcontrol-arduino-muehlensteuerung-mit-timer-gewichtsautomatik-und-brew-timer.95553/ -This was designed to build a timer controlled coffe grinder out of any regular machine. It was developed to be used with a Graef CM 70 but it should work fine with any brand or model. +This was designed to build a time controlled coffee grinder out of any regular machine. It was developed to be used with a Graef CM 70 but it should work fine with any brand or model. -###Requirements +### Requirements - Runs on Arduino Pro Mini & compatible systems (should be most arduino machines having a ATmega328 or better CPU, needs 32k of storage space). - Needs a rotary encoder with a switch and an optional second switch (mill switch). If you only have one switch comment out the define in UI.h - Output is to a 128*64 graphics display, comment out the orientation define in UI.h -###Dependencies: -- ClickButton - https://code.google.com/p/clickbutton/ -- Encoder (v1.2) - http://www.pjrc.com/teensy/td_libs_Encoder.html +### Dependencies: +- Encoder (v1.4) - http://www.pjrc.com/teensy/td_libs_Encoder.html - TimerOne (v1.1) - https://github.com/PaulStoffregen/TimerOne - U8Glib - https://github.com/olikraus/u8glib -###User Interface -####Select a Time Mode -You can select from up to 20 timer modes with different timeings for a single click, double click and long click of the mill button. Modes can be timed, start/ stop (starting the mill on a click and stopping it at the next) and hold (_with extra mill button only_). +### User Interface +#### Select a Time Mode +You can select from up to 20 timer modes with settings fr time or weight. +There are two different time modes: multi selection and single selection (FLAT_MODE in UI.h). -_If there is no mill button then you can only choose from single and double click. Long click is then bound to the edit menu_ +##### multi selection +For every mode there are timeings for a single click, double click (or mill switch 2, if available) and long click. +For a click mode you can set a time / weight or "start/stop" (start mill with click start and stopping it at the next) or hold (longer click, only if more buttons are available). +If there is no mill button then you can only choose from single and double click. Long click is then bound to the edit menu. -#####Portrait mode -![Select](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/pictures/hoch_select.JPG) -![Select Direct](https://github.com/romanseidl/MillControl/blob/gh-pages/pictures/hoch_select_direct.JPG) -#####Landscape Mode -![Select Landscape](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/pictures/quer_select.JPG) -![Select Direct Landscape](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/pictures/quer_select_d.JPG) +###### Portrait mode +![SelectTimeWeightDirect](./Assets/pictures/timeWeightDirect.png) -####Edit a Time Mode -There is an extensive editor allowing you to add (+), delete (x), move (<>) and edit time modes. For a time mode the respective times and the title are editable. +###### Landscape Mode +![SelectTimeWeightDirect](./Assets/pictures/timeWeightDirect_L.png) -#####Portrait mode -![Editor](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/pictures/hoch_edit_sp.JPG) -![Char Editor](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/pictures/hoch_edit_char.JPG) -#####Landscape Mode -![Landscape Editor](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/pictures/quer_editor.JPG) +##### single selection +Every time / weight has it own side. With one click will this site be startet. In the direct mode ("start") will one click start the mill until anothe click stopps the mill, hold (the hold function also does something. But not clear what.). -####Run!! -Finally the idea of the timer ist to run. So there is a run mode... It is started from select mode as explained above. In a timed run there is a progress bar at the bottom of the screen. +###### Portrait mode +![SelectTimeWeightDirect](./Assets/pictures/scaleDirect_P.png) -A run can be stopped any time by pressing the button used to start the run. For 5 seconds the run will pause and if you re-click it can be continued. +###### Landscape Mode +![SelectTimeWeightDirect](./Assets/pictures/scaleDirect_L.png) -#####Portrait mode -![Run Mode](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/pictures/hoch_run.JPG) -![Direct Run Mode](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/pictures/hoch_run_direct.JPG) -#####Landscape mode -![Landscape Run Mode](https://github.com/romanseidl/MillControl/blob/gh-pages/pictures/quer_run.JPG) +#### Settings +There is an extensive editor allowing you to change the mode (g + w), add a page (+), delete (x) and move (<>). +Basically there are two modes: time and weights mode -###Schematic +##### time mode +For a time mode the respective times and the title are editable. + +###### Portrait mode +![Portrait Editor](./Assets/pictures/timemode_P.png) + +###### Landscape Mode +![Landscape Editor](./Assets/pictures/timemode_L.png) + +##### weight mode +Alternativly ther is a "weight mode automation". A grinde speed will be set in sec/gramms (which is basically also grind duration) and additional some weights. The titel of the page can also beedit. + +###### automatic calibration +If you push the mill button inside the editor (or long pressthe encoder button if there is no mill button) the the calibration will be startet. + +- in order to start the calibration you should measure the amount of the cup to which you are going to grind the coffee. This will be used to train the scale. +- if the calibration is started the mill runs until the button is released ( or if the button is pushed again, e.g. if you have only one button). You should grind at least one normal portion. More would be more accurate. +- after that the automatic will ask for the weight which was ground. Therefore you will need to measure it, select the weight on the menu and confirm with the encode button. +- After that the grind-speed will be set automatically + +###### Portrait mode +![Portrait Editor](./Assets/pictures/calibration_P.png) + +###### Landscape Mode +![Landscape Editor](./Assets/pictures/calibration_L.png) + +#### Grind! +The grinding will be started from the coresponding site with the correct button. If there is a programmed grind time or a weight, there will be a progress bar. +A grinding can be cancled any time by pushing the button which was used to start the grinding. If there is a programmed grindtime, the process will be stoped for 5 secounds and can be resumed with a new button push. +During the grind process the user can change the grind time by turning the turining button. This change will not be saved. + +##### Portrait mode +![Grind Mode Portrait](./Assets/pictures/grind_P.png) +##### Landscape mode +![Grind Mode Landscape](./Assets/pictures/grind_L.png) + +### Brew-Timer +If you set on A0 a "taster" (don't know the english word) you can get a brew-timer. The timer will be cancled by any interaction and cannot be started during the milling process. + +![Brewing](./Assets/pictures/brew.png) + +### Schematic I prefer a old school schmatic style over those fanzy fritzing pictures. Still I added them below in case you prefer them. -[![Schematic](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/sketch/schematic.png)](https://raw.githubusercontent.com/romanseidl/MillControl/gh-pages/sketch/schematic.pdf) -###(c) 2015 by Roman Seidl +[![Schematic](./Assets/schematic_2.png)](./Assets/schematic.pdf#gh-light-mode-only) +![Schematic](./Assets/schematic_darktmode.png#gh-dark-mode-only) + +### (c) 2015 by Roman Seidl This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by