kloon / OpenBeerFiller

An opensource beer filling line microcontroller
GNU General Public License v3.0
39 stars 13 forks source link

Initial support for RRD Smart Controller #24

Open N3MIS15 opened 4 years ago

N3MIS15 commented 4 years ago

This commit adds basic support for the RRD Smart controller utilizing the LCD to display current status and the rotary encoder to control the trigger value for the filler tubes. It is also an alternative to using a pot to adjust the trigger value

The RRD Smart Controller is a cheap LCD module that includes a 2004 LCD, rotary encoder, momentary button, piezo buzzer & SD card holder. See: https://reprap.org/wiki/RepRapDiscount_Smart_Controller

These modules are cheap and readily available via the usual sources (ebay, aliexpress, amazon, etc) . Example: https://www.aliexpress.com/item/32616537620.html Due to the limited pins on the Uno, I also used an I2C interface adapter for the LCD. Example: https://www.aliexpress.com/item/32984942286.html

I don't expect this PR to be pulled as is, but as it stands I have moved the default output pins to allow the rotary encoder to utilise the interupt pins of the UNO. There are 2 added dependencies in the LiquidCrystal_I2C library and the Encoder library.

Quick example of the result: https://www.youtube.com/watch?v=qLlBS2Bm4B4

HarryBrew69 commented 4 years ago

Hi mate, How did you wire up the LCD and I2C interface, any chance of a wiring diagram? Cheers

N3MIS15 commented 4 years ago

I can't do a proper wiring diagram right now, but here is the the layout of the reprap controller. https://3deshnik.ru/wiki/images/6/64/LCD2004_%D1%81%D1%85%D0%B5%D0%BC%D0%B0.png

The 16 pins of the LCD go to the i2 device (not all are required) the code should let you know the others.

N3MIS15 commented 4 years ago

I don't know how to use Fritzing, but I did a rough layout of how I have mine wired up. It is also worth noting that with a bigger AVR board (like Arduino mega) there would be no need to use i2c for the lcd and we could also make use of the sd slot for data logging or something.

RRD

N3MIS15 commented 4 years ago

I did a quick schematic to show how to hook up the lcd, rotary encoder and button. The rotary encoder button and start button need a pullup resistor. The start button does not need to be wired up if you are using an external button. The i2c adapter can be soldered directly to the back of the lcd if you wish leaving only the rotary encoder and i2c lines to wire up. RRDLCDSchematic