Problema MAX30102 con Attiny85

Hola, como andan?
Vuelvo al foro luego de varios problemas por los cuales ni siquiera pude estar pendiente de otros post y problemas que tuve los cuales ya caducaron , lo siento por eso .

En este caso estoy intentando crear una pulsera la cual vibra controlada por un Attiny85 .
Lo que debería disparar el inicio de la vibración es un aumento del ritmo cardiaco el cual es dictado por un sensor MAX30102 . El sensor de oxigeno en sangre lo desestimo ya que no me interesa por el momento medir oxigeno en sangre.
Por el lado de Attiny85 controlando el vibrador no hay problema alguno, pero al querer aplicar la forma de uso del MAX30102 como se usaría en un arduino uno empieza el problema.
Cargo las librerías necesarias en el sketch y al momento de verificarlo tengo problemas con comandos que incluyen las librerías y aun así eliminando dichas partes que generan errores , unicamente para probar si sin eso se puede verificar el sketch , el IDE me dice exit status 1
'I2C_SPEED_FAST' was not declared in this scope . El cual debería ser parte de la libreria Wire.h y si compilo para Arduino uno con atmega328p , todo funciona bien.
Tampoco se muy bien como funciona este sensor con attiny85 y agradecería todo tipo de ayuda respecto a este tema.
Dejo mi código el cual es unicamente para probar que es lo que puede ir pasando y no estaría terminado en absoluto respecto HeartRate .

Muchas gracias!!!!!!

vibrador_lucido_heartrate_.ino (19.9 KB)

ATtiny85 no tiene I2C hardware asi que debes usar una librería que lo emula. Hay otro hilo con el ATtiny84 que te puede servir de guía.
Buscalo esta en marcha en este momento.

Muy bien, en principio muchas gracias @Surbyte por tu respuesta, estoy investigando ese hilo .
Por otro lado comento que el código que estoy usando para la parte del MAX30102 la busque de un proyecto de otra persona para ver como es que lo hace , por lo cual intente copiar el mismo y usarlo en mi attiny85 sin tener éxito . Vi que usa otro tipo de gestor de tarjetas que el convencional para ttiny85 y ni siquiera de esa forma logro hacer funcionar el MAX con attiny85.
Seguiré investigando y si alguien tiene alguna data al respecto me va a ser de mucha ayuda.
Nuevamente gracias y saludos.

Bueno, he querido compilar tu código y me encuentro con que debo suponer las librerías que usas porque no has indicado la dirección o el repositorio de donde se deben descargar. Acostúmbrate a compartir esos sitios para facilitar la tarea de quienes queremos ayudarte.

MAX30102.h la descargué del administrador de librerías pero
heartRate.h no existe asi que descuento que es una agregado tuyo.
Ya nos diras si es así o no.

Enterado.
La verdad he buscado las librerías en google por su nombre en base al código de donde intenté tomar la idea de como se usaría un MAX30102 en Attiny85 .
Dejo el link a continuación.

Nuevamente ,

Muchas gracias!!

Fijate, en el link que subiste, que MAX30102.cpp hace el #include de la librería tinyi2cmaster.h

Por otro lado MAX30102.cpp pero en la carpeta nanoPulsePPG usa Wire.h, la diferencia es que este es para Arduino Nano (que sí trae I2C por hardware).

En resumen, estás usando la librería incorrecta, tienes que usar la primera.

Saludos

Exactamente eso fue lo que te había indicado en el post#2
El ATtiny no tiene I2C nativo y requiere de emulación.

Perfecto voy a intentar hacerlo con esa librería y ver que resultados obtengo .
Muchas gracias, no encontraba cual era la librería que manejaba el i2c para attiny85

Saludos!

Claro totalmente pero no sabía que librería hacia referencia al i2c para comunicarme con MAX30102 , unicamente encontraba librerías para oled y attiny85.
Muchas gracias!!

Lo que tenés que hacer (para futuros proyectos) es mirar los códigos de los sitios donde encontrás, como en este caso, alguna librería.
Eso fue lo que hice, ir revisando los códigos para ver que librerías usaban.
Te vas a ahorrar dolores de cabeza. :wink:

Saludos

Hola nuevamente
Probando las librerías que usa el programa que use de "ejemplo" ( el del link que adjunte anteriormente ) y creando un sketch que unicamente use las librerías pulse y MAX30102 me tira directamente error : Error compilando para la tarjeta ATtiny25/45/85.
Así que intuyo que existen algunos problemas mas .
No puedo encontrar ningún tutorial ni guía para usar MAX30102 en attiny85 , lo cual es lo único que necesitaría hacer , no necesito imprimirlo en oled ni nada , solo que a partir de X cantidad de bpm el vibrador se encienda .

Algún consejo o idea para esto ? estoy empantanado.

GRACIAS!!!

Hi,
Adjunto un link de alguien con un projecto identico al tuyo que posiblemente te puede ayudar con el tuyo.

https://www.electronics-lab.com/tinypulseppg-attiny85-pulse-oximeter-photoplethysmogram/

Hola, en principio muchas gracias!
te comento que en ese proyecto estaba intentado basar el uso de MAX30102 para attiny85 y justamente es en el cual no encuentro forma para administrar sus librerías ni carga de sketch .
Saludos!!

Tenes que instalar las librerías tinyi2cmaster, pulse y MAX30102.
Por supuesto tenés que instalar la librería ATTinyCore desde el administrador de placas (aunque descuento que la has instalado) para que la IDE trabaje con el Attiny85.
Y, en teoría, no necesitas nada más.

Saludos

Exactamente, eso hice.
Tanto con tinyi2cmaster, pulse, MAX30102 y utilizando la librería ATTinyCore( la cual no es la librería estándar que todos utilizan programando Attiny) y aun así me encuentro con el mismo error .

jaja estoy enloqueciendo .

GRACIAS!!!

Bueno continué insistiendo y logre compilar el sketch y subirlo al attiny85 . De todas formas no ha funcionado . El MAX30102 no prende ningun led y el led al pin 1 de Attiny tampoco prende , basicamente no hace nada.
Tendré que seguir intentando . No se si las librerías estarán funcionando correctamente ya me perdí .
Si alguien tiene alguna data lo agradeceré mucho.

Saludos!!