Problemas con Duemilanove

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!!

miraté que tengas bien seleccionada la placa

Si, ya todo eso lo he revisado, pero nada....

Si la placa antes funcionaba y ahora no funciona yo apostaría a que ha pasado algo durante el funcionamiento.

Hay dos pines por los que mides un voltaje ¿seguro que una sobretensión no ha frito el micro?.

Yo creo que tienes algún problema físico. Prueba a utilizar otra placa.

A mi me pasaba eso pero con un Arduino Uno SMD, y el fallo era que usaba el pin 0 y 1. Cambie los pines y dejo de darme ese error.
Pero no se porque a ti te da ese fallo.

Hola!

Bueno el que yo tengo es un Sigduino, es la version Colombiana del arduino, mismo diseño y todo, basado en el Duemilanove 2009. Ayer hable con uno de los ingenieros de la empresa que los ensambla y me dijo que lo mas probable es que se haya dañado el bootloader, el reviso el codigo que publique y me dice que no hay nada extraño, de hecho en las entradas del arduino no tenia nada conectado cuando esta haciendo las mediciones, solo mostraba datos basura en el LCD, sera que esto pudo haber sido el problema?

Acabo de encontrar esto http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248796294
Prueba a reinstalar el Arduino ide o pruebala en otro ordenador.