Librería SSD1306 Adafruit

Buenas a todos!
Aunque esta pregunta se quedó en el aire en otro hilo, abro uno nuevo, ya que el tema se desvía un poco del original y no contaminamos los temas.

Estoy utilizando la librería Adafruit para pantallas oled ssd1306. Pero no he encontrado información de calidad sobre ella. Artículos, vídeos y ejemplos que a veces tanto ayudan como confunden.

Veo, por ejemplo, que en algunos se puede controlar el brillo en las pantallas con esa librería, pero a mi me da error.
¿Conoceis una fuente de calidad sobre esta librería?
Gracias

La fuente más confiable es la propia librería ya que su código está excelentemente comentado.

Por otro lado, esta librería no controla el brillo, tal vez haya alguna versión (no de Adafruit) que lo haga pero como no dices donde lo has visto es difícil saberlo, lo cierto es que ésta definitivamente no lo hace.

Hi,
Haz tratado u8g.setContrast(n); n=0-256

Espero eso ayude

Gracias por vuestras respuestas. En el repositorio de Github, esperaba encontrar algo semejante a un manual o lista explicada de funciones. Pero son más bien parcos:

Hay que agradecer que nos hayan facilitado la vida escribiendo y documentando el código, no hay que ser tan exigente.

Como te dije, el código (Adafruit_SSD1306.cpp) está muy bien documentado.

Si cada uno pagara 1 USD por el uso de la librería habría muchos mas desarrolladores creándolas.
Creo que eres muy injusto con el trabajo desinteresado.
No esperes explicaciones de 5 hojas para lo que buscas, se supone que de este lado hay un ingeniero electrónico o en sistemas que tiene la habilidad técnica para hacer lo que necesita.
Si no puede porque el dispositivo no lo hace, siempre hay otros medios.

Respondiendo y sumando a tu búsqueda:
Yo busqué 3 segundos y encontré esto pero claro no lo busco en español, y ojo no me jacto de nada, solo que como siempre digo, si buscas en español no esperes encontrar todas las respuestas.
Google : SSD1306 brightness control
The SSD1306 embeds with contrast control, display RAM and oscillator, which reduces the number of external components and power consumption. It has 256-step brightness control.
SSD1306 Controllers - - GCBASIC documentation.
Creo que lo anterior no sirve para nada.

Y si la respuesta no esta ahi, al menos es la llave para seguir buscando o para modificar la librería para lograr lo que esperas.
Segun este desarrollador hay un control de brillo en su librería
Comentado acá
GitHub

No se trata de ser injusto, pero si voy a donde está la "madre" de un programa, en este caso una librería que implementa una serie de funciones, y ni siquiera están listadas, creo que tengo derecho a expresarlo. Y soy de los que entiende la faena que dan, y que creo que debería de estar remunerado.
Lo primero que se aprende, o te intentan enseñar en este mundillo, es que hay que documentar lo que haces. Porque de lo contrario, en un tiempo, ni uno mismo se acuerda de lo que hacían los programas, o te toca volverte loco para entenderlo. Bastante me ha tocado bregar en esta vida (y sigo!) por esa falta de documentación.

No tengo que justificarme listando todas las direcciones web en las que he buscado, pero buscar, he buscado. Y efectivamente, hay otras librerías que dicen que si permiten el control del brillo, pero estaba intentando ver si podía con la de adafruit, que es la que he empleado ahora.

Bueno, no quiero dar doctrina a nadie. Cada cual sabrá lo que hace y porqué.

Gracias a todos por vuestra ayuda.

¡Y dale!
Está excelentemente documentado el código, solo hay que tomarse el trabajo de leerlo

Por ejemplo begin()

// ALLOCATE & INIT DISPLAY -------------------------------------------------

/*!
    @brief  Allocate RAM for image buffer, initialize peripherals and pins.
    @param  vcs
            VCC selection. Pass SSD1306_SWITCHCAPVCC to generate the display
            voltage (step up) from the 3.3V source, or SSD1306_EXTERNALVCC
            otherwise. Most situations with Adafruit SSD1306 breakouts will
            want SSD1306_SWITCHCAPVCC.
    @param  addr
            I2C address of corresponding SSD1306 display (or pass 0 to use
            default of 0x3C for 128x32 display, 0x3D for all others).
            SPI displays (hardware or software) do not use addresses, but
            this argument is still required (pass 0 or any value really,
            it will simply be ignored). Default if unspecified is 0.
    @param  reset
            If true, and if the reset pin passed to the constructor is
            valid, a hard reset will be performed before initializing the
            display. If using multiple SSD1306 displays on the same bus, and
            if they all share the same reset pin, you should only pass true
            on the first display being initialized, false on all others,
            else the already-initialized displays would be reset. Default if
            unspecified is true.
    @param  periphBegin
            If true, and if a hardware peripheral is being used (I2C or SPI,
            but not software SPI), call that peripheral's begin() function,
            else (false) it has already been done in one's sketch code.
            Cases where false might be used include multiple displays or
            other devices sharing a common bus, or situations on some
            platforms where a nonstandard begin() function is available
            (e.g. a TwoWire interface on non-default pins, as can be done
            on the ESP8266 and perhaps others).
    @return true on successful allocation/init, false otherwise.
            Well-behaved code should check the return value before
            proceeding.
    @note   MUST call this function before any drawing or updates!
*/
bool Adafruit_SSD1306::begin(uint8_t vcs, uint8_t addr, bool reset,
                             bool periphBegin) {

¿Te parece que no está documentando?
Y como begin() lo está todo el código, te lo dije en #6.

A caballo regalado no se le miran los dientes.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.