Hola a todos!
Espero me puedan ayudar... ya que estoy apunto de volverme loco...
Tengo un Duemilanove con Atmega168, lo tenia trabajando con el siguiente codigo:
#include <LiquidCrystal.h>
int analogPin = 0; // el pin analogico 0 conectado al dial de un potenciometro (terminal central del potenciometro)
int analogPin2 = 1; // el pin analogico 0 conectado al dial de un potenciometro (terminal central del potenciometro)
double volt = 0; // declaracion de la variable en la que se almacenará el valor leido por el conversor.
double m=-3.202353;
double b=302.963235;
double x=0;
double amp = 0;
double teor=0;
int cont=0;
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of rows and columns:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("BioVolts 1.0");
delay(1000);
lcd.clear(); //Limpia el LCD
//Inicializacion para transferir datos a la PC
pinMode(analogPin,INPUT); //Se inicializan los pines 0 y 1 para recibir datos
pinMode(analogPin2,INPUT);
Serial.begin(9600); //Velocidad de conexion
}
void loop() {
tomarDatos(); //Esta funcion toma los datos de voltaje y corriente
imprLCD(); //Imprime los datos en el LCD
imprSerial(); //Imprime los datos por el puerto USB, para recoger los datos en ls PC
delay(1000); //Aqui se modifica el tiempo de toma de datos
}
void tomarDatos() //Esta funcion toma los datos de las entradas analogicas
{
volt = map(analogRead(analogPin),0,1023.00,0.00,5000.00); // Se hace un mapeo lineal de 0.00 a 5000.00 mV
x=analogRead(analogPin2);
amp = m*x+b;
cont++; //Conteo para la cantidad de muestras
}
void imprLCD()
{
lcd.clear();
lcd.setCursor(0, 0); //Print in the first line:
lcd.print("Vol: ");
lcd.print(volt);
lcd.print(" mV");
lcd.setCursor(0, 1); //Now in the second line
lcd.print("Amp: ");
lcd.print(amp);
lcd.print(" uA");
lcd.setCursor(9,1);
}
void imprSerial()
{
//Serial.print("\t");
Serial.print(cont);
Serial.print("\t");
Serial.print(volt);
Serial.print("\t\t");
Serial.print(amp);
Serial.println(""),
}
Esto lo he estado trabajando en Ubuntu 10.04 con kernel 2.6.32-33-generic
El dispositivo lo tenia trabajando y mostrando los datos en un LCD a si mismo
los estaba recibiendo en la pc, para almacenarlo y luegro graficarlos, todo esto iva super bien
hasta que de un momento a otro la pantalla del LCD se lleno de cuadros y no hace nada mas....
Al conectarla los led's Rx y Tx parpedean y cambian de color pero luego se apagan y solo queda encendido el
led de PWR y cuando intento cargar un programa me sale este error:
avrdude: stk500_recv(): programmer is not responding
la verdad no se que hacer, y necesito entregar esto porque es para mi tesis.
Gracias!!