Oled attiny84 libreria

Hola, busque por Internet y no encontré nada, hay alguna librería para usar una pantalla oled con el attiny84? Si conocen alguna manera se agradece, saludos

cercano, te debería servir.

Arduino ATtiny OLED puse en Google

Ajuste la busqueda y salió esto directo en tu caso

**NOTA:**No me di cuenta que es del 2012. Casi seguro que no te va a funcionar.
Hablo de este ultimo.

Voy a ver que puedo ir haciendo, hay mucho para el attiny85, pero voy a intentar adaptarlo, en breve subo avance!

Y cuanto cambia el 85 con el 84?

8 Pin PDIP

ATTINY85-20PU PDIP8 8192 512 512 6 2x8-bit 4x10-bit Yes 2 20 Datasheet
ATTINY85V-10PU PDIP8 8192 512 512 6 2x8-bit 4x10-bit Yes 2 10 Datasheet
14 Pin PDIP
ATTINY84-20PU PDIP14 8192 512 512 12 1x8,1x16 8x10-bit Yes 2 20 Datasheet
ATTINY84V-10PU PDIP14 8192 512 512 12 1x8,1x16 8x10-bit Yes 2 20 Datasheet

Bueno ahi tenemos una tabla comparatiava.
El 84 es mas grande, mas pines, mas memoria, tiene mas A/D, hay que estar atento con el cristal pero ese no es problema en Arduino.
Yo no veo que tengas mas problemas que elegir bien los pines. Luego veremos si usa algo mas crítico o específicico.
Ahhh lo mas importante, el OLED es I2C y la table dice que ninguno tiene I2C nativo asi que hasta en eso estas bien.
Conclusión, si funciona en un 85 debe funcionar en un 84 a priori.

attiny84 oled.zip (600,7 KB)

subo el esquema, porque no se ve nada en la pantalla, esta simulado en proteus, gracias por su tiempo

Bueno, no logro siquiera hacer funcionar el IDE. Muchos errores.
Las librerías son muy viejas, habría que poner un IDE de hace 5 a 8 años para intentarlo.

EDITO: torpeza de mi parte. Ya al menos logré que compile. Ahora a revisar que ocurre. Si, por ahora el OLED no muestra nada.

Esta esa aparentemente, pero como la uso?

Hi,
Adjunto un link de uno de los mienbros pidiendo ayuda con un problema parecido al tuyo. En el caso le aconseje como resolverlo. Mira ver si puedes usarlo para resolver el problema parecido al tuyo.

https://forum.arduino.cc/t/error-compilando-para-la-tarjeta-attiny25-45-85/859639/9

Donde consigo esta librería <Tiny4kOLED.h>

Que tal Google: Arduino Tiny4kOLED
Yo he probado con el 85 y funciona, con el 84 no.

Entonces eso no lo busco, esta complejo con el 84!

Esta lilbrería no esta en el Administrador de Librerías.

Lo que yo respondí es que con el 85 me funciona el OLED y con el 84 no, pero alguna cosa he hecho mal.
Igualmente vengo de problemas de disco/windows y como tengo que reinstalar todo me ha llevado mucho llegar hasta lo que te he respondido.
Como dije, x hoy no puedo dedicar mas tiempo.

Probé un montón de librerías y la mayoría no compila, la que compila no muestra nada con el 84

Mira esto, con el ATtiny85 hay varias simulaciones hechas en

Online Simulator

de esta página de la librería Tiny4kOLED y todas funcionan.
Ahora tenemos que repetir eso con el ATtiny84

Estoy haciendo mal la conexion de la pantalla oled en proteus porque no logro ver nada con el 85, el reset de la pantalla va a positivo?

Tampoco yo logro hacer que funcione en Proteus. Pero ya ves que si funciona.

#include <TinyOzOLED.h>

#include "TinyWireM.h"
#include "USI_TWI_Master.h"


// tiny_oled.ino

#define LED_(x) digitalWrite(1,x)

void setup() {
  
  // LED for heartbeat
  pinMode(1,OUTPUT);

  //initialze SEEED OLED display
  OzOled.init();  

  //Print the String
  OzOled.printString("ATTiny85"); 

  // charge pump ON
  OzOled.sendCommand(0x8d);
  OzOled.sendCommand(0x14);  

  // rotate 180
  OzOled.sendCommand(0xc8);
  OzOled.sendCommand(0xa1);
  OzOled.sendCommand(0x0da);
  OzOled.sendCommand(0x012);

}


unsigned long cmillis,pmillis = 0;


void loop() {


  unsigned long cmillis = millis();


  char myclk[] = "000 00 00s000";
  char digits[] = "0123456789";
  
  unsigned long tmillis = cmillis;

  int l = sizeof(myclk);

  do
  {
    l--;
    if (myclk[l]!='0') l--;

    myclk[l] = digits[tmillis%10];
    tmillis /=10;


  } while (tmillis);

  OzOled.setCursorXY(1,4);
  OzOled.printString(myclk);


  //delay(100);
    


  // heartbeat 
  if (cmillis > pmillis + 50)
  {
    OzOled.setCursorXY(0,4);

    if ( !(cmillis/100%5) )
    {
      OzOled.printString("+");
      LED_(1);
    }
    else
    {
      OzOled.printString("-");
      LED_(0);
    }

    pmillis = cmillis;

  } 


}


ahi funciona pero en fisico, como cambio el tamaño de las letras no he podido hacer 


![20211005_151039|533x500](upload://bk6p0qqNy7yhO00Nz8QfGy8VCNw.jpeg)

#include <TinyOzOLED.h>
#include <TinyWireM.h>

  

float lectura= 5.00;


void displayOLED() {
  char tmp[10];
  dtostrf(lectura, 0, 1, tmp);
  OzOled.printBigNumber(tmp, 4, 2, 4);

}
void setup() {
 OzOled.init();  // inicia oled

  OzOled.clearDisplay();           //limpia pantalla y establece posicion en la izquierda
  OzOled.setNormalDisplay();       //display normal

  OzOled.sendCommand(0xA1);        // set Orientation
  OzOled.sendCommand(0xC8);


}

void loop() {
 lectura = analogRead(A3) *( 5 / 1023.0) ;
 lectura=lectura*1.0;

displayOLED();
}

ahi estamos mucho mejor, pero no logro darle un tamaño mayor

Fijate en los comentarios de este Link que alguien editó la librería para hacer caracteres mas grandes.

Saludos