Busco driver para encoder de pantalla full graphic smart controller

Hola a todos, tengo una pantalla full graphic smart controller que tiene un encoder switch y estoy buscando el driver que maneja ese encoder a ver si alguien sabe donde lo puedo obtener, el de la pantalla lcd ya lo tengo y va bien pero me falta el del switch. gracias a todos de ante mano

Dime como pretendes que te asesoremos con esa información?
Marca modelo, etc etc.

Leíste las normas del foro en la parte que habla de como debes presentar un problema?
Una imagen de la pantalla mostrando el dato de tu marca o modelo?

Hola, no pensé que fuera un problema ya que es una pantalla estándar, creía que al preguntar por la pantalla full graphic smart controller estaba todo claro ya que es marca y modelo pero no está de más poner el enlace

http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller

Eso es lo que sé, no sé nada más por eso lancé la pregunta por si alguien sabía de esto ya que no tengo idea y como se emplea en las impresoras 3d me supuse que el driver de todo eso estará en algún lado que yo no alcanzo a localizar.

Perdona pero de nuevo me llama la atención un par de cosas. 1ro. Te pregunté si leíste las normas y evidentemente no lo hiciste porque posteaste el enlace sin usar tag. Edita por favor ese enlace!!

2do En tu página veo los drivers, evidentemente no te diste cuenta

Marlin V1 (new) Installation: In "Configuration.h” Change “#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER” (just remove the // at the beginning) ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib Upload the firmware, power off the Arduino, connect the panel, reapply power, and everything should work.

Luego dice

Open Source Files You can find the open source files here: http://forum.reprapdiscount.com/forums/oss/

Prueba con esos enlaces y mira como debe quedar el tuyo en el post anterior.

Si, si que me di cuenta pero si no estoy equivocado esa librería es una parte del Full Graphic Smart Controller solo es el manejo de la pantalla GLCD, faltaría la librería de la lectora SD y del encoder, esa es la librería que he usado para hacer parte de mi proyecto pero ahora me falta el encoder interruptor rotatorio y repito que creo que en la librería u8glib no está ya que no he visto referencia en ella a esas partes pero digo que al igual estoy equivocado por eso preguntaba a ver si alguien lo tenía más claro.

El último enlace es a diseños de pcb por si te quieres fabricar la pantalla y no comprarla.

El problema de todo esto es que en arduino si que hay muchas librerías pero las que son de proyectos como estos la información o es poca, o dispersa o confusa por eso he preguntado a ver si alguien que esté mas ducho en esto me orienta que ya he agotado casi todas las vías, solo me falta en foros guiris y a las malas o es fabricar la librería o rebuscar en marlin para ver donde está pero eso sería un trabajo de chinos ya que marlin es muy extenso

Ahora comprendo!! Buscas una librería que asociada a u8glib te permita manejar un encoder para crear el menú? Una solución sería usar m2ktlib que soporta u8glib y rotary enconder, el problema es que no esta actualizada y tiene 4 años sin mejoras. SI usas IDE versión nueva tendrás muchos problemas asi que deberías bajar a un IDE de aquel entonces. Su fecha de actualización es 30 de Marzo del 2013 yo no superaria algo como el IDE 1.0.5 del 15/05/2015 Esta librería m2ktlib es fantástica pero también es algo compicada de entender al comienzo.

sino busca en Google : arduino u8glib rotary encoder

Pero si lo buscas hay muchas referencias a esta librería como ésta Tutorial 9: Incremental Rotary Encoder

Esta u8glib para arduino parece estar mas actualizada, mira a ver si tiene algo para el rotary enconder.

Buenas, efectivamente eso es lo que buscaba, el resto de librerías o una que englobara todo pero ya veo de que va esto, aunque haya un montaje que incluya una pantalla un lector SD y un encoder las librerías van por separado, así como la librería u8glib solo se encarga de la gestión de la pantalla, hará falta otra para la manoria SD y otra para el encoder, en mi ignorancia pensé (y aveces eso es un problema) que habría alguna librería especial para este dispositivo

la verdad que el enlace que me has puesto del incremental rotary encoder creo que cumplirá con mi objetivo, ahora toca estudiarlo.

Lo único que si que me quejo en este caso es de la mala información que suministran con estos dispositivos, no les costaría nada decir en que patillas son en las que actúa cada cosa para no tener que analizarlo con el tester, los esquemas esos que suministran no aclaran nada.

Muchas gracias de nuevo, me voy a poner a estudiarlo ;)

Recuerda y enfatizo USA EL IDE QUE CORRESPONDA, con paciencia podrás ajustarlo a uno actual pero requiere de trabajo.

Prueba con el que tienes pero si arroja errores en un DEMO no pierdas el tiempo y busca o bien un portable asi coexisten o ve la posibilidad de hacerlo con una versión IDE apropiada.

Hola, pues ya tengo claro mas todo, gracias por la indicación. al final he usado la librería M2tk, pongo el enlace a la librería. Librería M2tklib lo que estoy usando es un Mega 2560 con un shield para ser exactos ramps 1.4 con un adaptador para el módulo Full Graphic Smart Controller

Resulta que esta librería tiene ya incluido el encoder más el manejo de la pantalla por medio del driver U8glib, que yo sepa solo esos dos periféricos, la memoria en este proyecto no la voy a usar y por eso no me he molestado en investigarla pero por lo que veo creo que esta librería no la soporta

Los pines que usaremos en arduino para la pantalla serán 23, 16 y 17, el constructor quedaría de esta manera.

U8GLIB_ST7920_128X64_1X u8g(23, 17, 16);  // SPI Com: SCK = en = 23, MOSI = cs = 16, rw = di = 17

para usar el encoder serían los pines 31, 33 y 35, el código del manejo del encoder quedaría así.

// RAMPS 1.4 shield 
 uint8_t uiKeyUpPin = 31;
 uint8_t uiKeyDownPin = 33;
 uint8_t uiKeySelectPin = 35;

El código de configuración para la librería quedaría como esto:

#include "U8glib.h"
#include "M2tk.h"
#include "utility/m2ghu8g.h"

// setup u8g object, please remove comment from one of the following constructor calls
// IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/p/u8glib/wiki/device

//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_DOGS102 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10
//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI
//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16);   // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16
//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16
//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7,  18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16
//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 );   // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16
//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16
//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_SSD1306_128X32 u8g(10, 9);             // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are  SCK = 13 and MOSI = 11)
//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C
//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C
//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8
//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16
U8GLIB_ST7920_128X64_1X u8g(23, 17, 16);  // SPI Com: SCK = en = 23, MOSI = cs = 16, rw = di = 17

// DOGS102 shield 
// uint8_t uiKeyUpPin = 5;
// uint8_t uiKeyDownPin = 3;
// uint8_t uiKeySelectPin = 4;

// DOGM132, DOGM128 and DOGXL160 shield
//uint8_t uiKeyUpPin = 7;         
//uint8_t uiKeyDownPin = 3;
//uint8_t uiKeySelectPin = 2;

// RAMPS 1.4 shield 
 uint8_t uiKeyUpPin = 31;
 uint8_t uiKeyDownPin = 33;
 uint8_t uiKeySelectPin = 35;

Me falta todavía analizarla bien bien pero creo que funciona bien, gracias por la ayuda

Sigue por favor contando las experiencias con m2ktlib porque es una librería fantástica pero muy poco usada en este foro Español.