Problemas con Attiny85

Hola estoy haciendo un programa que me permite calcular la logitud que debe tener un cable de diferentes calibres , el calibre del cable lo selecciono con un pulsador y el resultado lo muestro en una pantalla LCD; estoy utlizando la formula de la resitividad para hacerlo. El microcontrolador que estoy utlizando es el Attiny85 el programa ya se subio correctamente pero al mostralo el resultado en la pantalla lcd los valores que aparecen son ceros, el mismo programa lo probe con un Arduino Uno y funciona correctamente. Podrian ayudarme a solucionarlo porfavor, de antemano les doy las gracias por su ayuda. Les adjunto el codigo para que lo revisen.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd( 0x27, 20, 4);
int contador = 8;
#define seleccionador 1
#define seleccionador2 A3
int resistorPin = A2; // connect the resistor to this pin
int sensorValue = 0;
float Vin = 5;
float Vout = 0;
float Rref = 216;
float R = 0;
float D;

void setup() {

lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Comuni Analogica");
lcd.print(0, 1);
lcd.print("Ingrese el calibre");
pinMode(seleccionador, INPUT);
pinMode(seleccionador2, INPUT);
}

void loop() {

int valor1 = digitalRead(seleccionador);
int valor2 = digitalRead(seleccionador2);
if (valor1 == HIGH) {
contador = contador + 2;
if (contador == 26) {
contador = 10;
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Ha seleccionado AVG");
lcd.setCursor(0, 1);
lcd.print(contador);
}

if (contador == 24 && valor2 == HIGH) {
lcd.clear();
float radioCuad = 0.000000317;
sensorValue = analogRead(resistorPin);
Vout = (Vin * sensorValue) / 1023;
R = Rref * (1 / ((Vin / Vout) - 1));
int l = (R * 3.14 * radioCuad ) / 0.000000167;
lcd.setCursor(0, 1);
lcd.print("Resitencia: ");
lcd.setCursor(13, 1);
lcd.print(R);
lcd.setCursor(17, 1);
lcd.print("ohm");
lcd.setCursor(0, 2);
lcd.print("Longitud: ");
lcd.print(l);
lcd.setCursor(15, 2);
lcd.print("m");
}
if (contador == 22 && valor2 == HIGH) {
lcd.clear();
float radioCuad = 0.000000103;
sensorValue = analogRead(resistorPin);
Vout = (Vin * sensorValue) / 1023;
R = Rref * (1 / ((Vin / Vout) - 1));
int l = (R * 3.14 * radioCuad ) / 0.000000167;
lcd.setCursor(0, 1);
lcd.print("Resitencia: ");
lcd.setCursor(13, 1);
lcd.print(R);
lcd.setCursor(17, 1);
lcd.print("ohm");
lcd.setCursor(0, 2);
lcd.print("Longitud: ");
lcd.print(l);
lcd.setCursor(15, 2);
lcd.print("m");
}
if (contador == 20 && valor2 == HIGH) {
lcd.clear();
float radioCuad = 0.000000164;
sensorValue = analogRead(resistorPin);
Vout = (Vin * sensorValue) / 1023;
R = Rref * (1 / ((Vin / Vout) - 1));
int l = (R * 3.14 * radioCuad ) / 0.000000167;
lcd.setCursor(0, 1);
lcd.print("Resitencia: ");
lcd.setCursor(13, 1);
lcd.print(R);
lcd.setCursor(17, 1);
lcd.print("ohm");
lcd.setCursor(0, 2);
lcd.print("Longitud: ");
lcd.print(l);
lcd.setCursor(15, 2);
lcd.print("m");
}
if (contador == 18 && valor2 == HIGH) {
lcd.clear();
float radioCuad = 0.000000262;
sensorValue = analogRead(resistorPin);
Vout = (Vin * sensorValue) / 1023;
R = Rref * (1 / ((Vin / Vout) - 1));
int l = (R * 3.14 * radioCuad ) / 0.000000167;
lcd.setCursor(0, 1);
lcd.print("Resitencia: ");
lcd.setCursor(13, 1);
lcd.print(R);
lcd.setCursor(17, 1);
lcd.print("ohm");
lcd.setCursor(0, 2);
lcd.print("Longitud: ");
lcd.print(l);
lcd.setCursor(15, 2);
lcd.print("m");
}
if (contador == 16 && valor2 == HIGH) {
lcd.clear();
float radioCuad = 0.000000416;
sensorValue = analogRead(resistorPin);
Vout = (Vin * sensorValue) / 1023;
R = Rref * (1 / ((Vin / Vout) - 1));
int l = (R * 3.14 * radioCuad ) / 0.000000167;
lcd.setCursor(0, 1);
lcd.print("Resitencia: ");
lcd.setCursor(13, 1);
lcd.print(R);
lcd.setCursor(17, 1);
lcd.print("ohm");
lcd.setCursor(0, 2);
lcd.print("Longitud: ");
lcd.print(l);
lcd.setCursor(15, 2);
lcd.print("m");
}
if (contador == 14 && valor2 == HIGH) {
lcd.clear();
float radioCuad = 0.000000464;
sensorValue = analogRead(resistorPin);
Vout = (Vin * sensorValue) / 1023;
R = Rref * (1 / ((Vin / Vout) - 1));
int l = (R * 3.14 * radioCuad ) / 0.000000167;
lcd.setCursor(0, 1);
lcd.print("Resitencia: ");
lcd.setCursor(13, 1);
lcd.print(R);
lcd.setCursor(17, 1);
lcd.print("ohm");
lcd.setCursor(0, 2);
lcd.print("Longitud: ");
lcd.print(l);
lcd.setCursor(15, 2);
lcd.print("m");
}
if (contador == 12 && valor2 == HIGH) {
lcd.clear();
float radioCuad = 0.00000105;
sensorValue = analogRead(resistorPin);
Vout = (Vin * sensorValue) / 1023;
R = Rref * (1 / ((Vin / Vout) - 1));
int l = (R * 3.14 * radioCuad ) / 0.000000167;
lcd.setCursor(0, 1);
lcd.print("Resitencia: ");
lcd.setCursor(13, 1);
lcd.print(R);
lcd.setCursor(17, 1);
lcd.print("ohm");
lcd.setCursor(0, 2);
lcd.print("Longitud: ");
lcd.print(l);
lcd.setCursor(15, 2);
lcd.print("m");
}
if (contador == 10 && valor2 == HIGH) {
lcd.clear();
float radioCuad = 0.00000167;
sensorValue = analogRead(resistorPin);
Vout = (Vin * sensorValue) / 1023;
R = Rref * (1 / ((Vin / Vout) - 1));
int l = (R * 3.14 * radioCuad ) / 0.000000167;
lcd.setCursor(0, 1);
lcd.print("Resitencia: ");
lcd.setCursor(13, 1);
lcd.print(R);
lcd.setCursor(17, 1);
lcd.print("ohm");
lcd.setCursor(0, 2);
lcd.print("Longitud: ");
lcd.print(l);
lcd.setCursor(15, 2);
lcd.print("m");
}
delay(200);
}

Please post in English in the English language forum sections.

He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español @kevinchiliquinga.

En adelante por favor usar la categoría apropiada a la lengua en que queráis publicar. Esto es importante para el uso responsable del foro, y esta explicado aquí la guía "How to get the best out of this forum".
Este guía contiene mucha información útil. Por favor leer.

De antemano, muchas gracias por cooperar.

Tendrías que usar una versión de wire.h adecuada al Attiny85. Seguramente TinyWireM te va a servir.

Por favor, lee las normativas del foro y las instrucciones para compartir el código.

Como puedes observar, el código sin formato es prácticamente ilegible.

Y en este caso, recibirás ayuda con mayor facilidad si compartes un diagrama de las conexiones que tienes con el Attiny85. Dibujado a mano funciona

Moderador:
Por favor, lee las Normas del foro
Si posteas en el foro en inglés usa idioma inglés para expresarte.
Si escribes en español debes usar el foro Arduino en español.
Edita también tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en <CODE/>



Este mensaje lo envío porque tu hilo fue movido del foro en inglés y por eso tenemos una respuesta anterior en ese idioma.
A partir de ahora todos responden en español.

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