Errori arduino as ISP

Scrivo questo messaggio dopo una settimana di ricerche e prove senza risultati positivi.
Ho collegato di recente un ATmega328P-PU ad un Arduino UNO tramite bradboard con i collegamenti dei pin 10,11,12,13 al reset, MISO, MOSI ed SCK e sono riuscito a flashare tramite l'IDE Arduino sia codici nel linguaggio Arduino che in C su quest'ultimo successivamente all'invio del Bootloader.
All'invio dell'ultimo codice (scritto in C), che consisteva in un semplice programma in cui quando premevo un pulsante si accendeva un LED, dopo aver fatto diverse prove( ho premuto qualche volta il pulsante) per capire se fosse il pulsante collegato male o ci fosse un errore nel codice, ho assistito ad una specie di blackout della scheda Arduino UNO: tutti i LED(compreso l' ON) si sono spenti nonostante il codice fosse stato inviato all' ATMEGA sulla breadboard.
In quel momento la scheda arduino e la breadboard erano collegate sia per l' alimentazione che tramite i pin precedentemente citati.
Successivamente ho avuto problemi al computer ( di natura indipendente da questo episodio) e ho dovuto reinstallare l'IDE inseguito ad una formattazione.
Al momento, tramite lo stesso Arduino UNO, sono in grado di inviare codici all' ATmega328 della scheda stessa ma non riesco ad inviare codici ad altri ATmega collegati tramite breadboard.
Ho provato sia il collegamento tramite TX e RX rimuovendo l'ATmega sulla scheda che tramite MISO, MOSI ed SCK.
Programmando in linguaggio Arduino mi dice:

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/MIONOME/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.Bluetooth-Incoming-Port
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

Programmando in C (premendo SHIFT+CMD+U sul MAC):

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/MIONOME/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.Bluetooth-Incoming-Port
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

Non so quali degli eventi siano legati a questi errori, secondo voi cosa può essere a causarli?
Alcune volte me ne da altri tipo error mismatch at bite 0x00a0 0x61 != 0x69.

Mi sa che hai fatto un corto. Resta da capire tra cosa, e capire l'entità del danno. Hai detto che lo sketch all'Arduino riesci a mandarlo ma che non riesci però a programmare il chip su breadboard?

leo72:
Mi sa che hai fatto un corto. Resta da capire tra cosa, e capire l'entità del danno. Hai detto che lo sketch all'Arduino riesci a mandarlo ma che non riesci però a programmare il chip su breadboard?

Esattamente

Ok, visto quindi che i pin di collegamento per la programmazione ISP sono il 10/11/12/13 hai controllato se quei pin sono funzionalmente a posto? Riesci cioè ad usarli come input e come output?
Fai delle semplici prove mettendo in input un pin alla volta, ponticellandolo a 5V e GND e poi stampando lo stato letto sulla seriale.
In output è più facile, mettili con uscita HIGH e collegaci un LED (con resistenza) per vedere se riescono a fornire la corrente sufficiente ad accenderlo.

Testati sia in input che in output e funzionano perfettamente.

Uh allora l'incriminato pare il chipstandalone, quindi... Hai provato a riscriverci sopra il bootloader?

Caricando il bootloader mi da questo:

 avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0020
         0xff != 0x85
avrdude: verification error; content mismatch
avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 

avrdude done.  Thank you.

Mi sa che il chippino in standalone si è brickato, se hai un programmatore hardware come l'AVR Dragon puoi tentare un recupero da lì provando a ripristinare i fuse di fabbrica. Altrimenti prova con un altro chip a vedere se l'operazione la esegui regolarmente: in caso affermativo, hai un nuovo chip da usare come portachiavi =(

Come programmatore ho solo l'Arduino, sto aspettando un altro Atmega, quando arriva vi faccio sapere come va.
Il cortocircuito potrebbe essere quindi la causa del brick dell'ATmega che ho adesso?

Beh da come descrivi la cosa la tua scheda sembra funzionare correttamente mentre non riesci a programmare il chip in standalone.

Using Port : /dev/tty.Bluetooth-Incoming-Port

Stai programmando la scheda tramite bluetooth?
Hai verificato la porta COM nel menù strumenti --> Porte seriali?

Chiudi l'IDE, disattiva il bluethoot, riavvia l'IDE. Cosa succede?

Scarica l'IDE 1.0.6 c'è l'AVRdude aggiornato alla 6.0.1.

PaoloP:

Using Port : /dev/tty.Bluetooth-Incoming-Port

Stai programmando la scheda tramite bluetooth?
Hai verificato la porta COM nel menù strumenti --> Porte seriali?

Chiudi l'IDE, disattiva il bluethoot, riavvia l'IDE. Cosa succede?

Scarica l'IDE 1.0.6 c'è l'AVRdude aggiornato alla 6.0.1.

In effetti quando ho mandato lo sketch per scrivere sul forum quale errore mi dava ho sbagliato la porta. L'errore, lo stesso errore, lo dava anche selezionando la porta giusta. Per conferma ho appena rieffettuato una prova.

L'IDE che uso è già l'1.0.6 e lo uso su MAC quindi come porta uso la /dev/tty.usbmodemfd131.

Comunque ho provato con un nuovo atmega328 sulla breadboard e ha caricato il bootloader con successo, quando mando i codici però non li invia a quello sulla board ma a quello sull'arduino anche se non da errori.
Li mando usando come programmatore Arduino as ISP.

Devi usare il comando da menu "carica con programmatore" oppure premere shift quando clicchi il bottone upload. Altrimenti ti riscrive l'Arduino usato come programmatore. :grin:

PaoloP:
Devi usare il comando da menu "carica con programmatore" oppure premere shift quando clicchi il bottone upload. Altrimenti ti riscrive l'Arduino usato come programmatore. :grin:

Grazie tante mi hai cambiato la settimana XD
Avevo seguito una guida in cui parlava di mandare il codice in C e credevo che per il linguaggio Arduino fosse sufficiente impostare il programmatore Arduino as ISP.
Per il resto con l'altro ATmega (quello che sembra briccato), quando scrivo il bootloader, mi da l' errore:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0020
         0xff != 0x85
avrdude: verification error; content mismatch
avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 

avrdude done.  Thank you.

sicuri non si possa recuperare con Arduino o altri strumenti?

Con Arduino non so.
Con altri strumenti presumo di si.
C'è una procedura di programmazione che permette di resettare i fuse del micro fornendo allo stesso una bottarella a 12V.
Però serve un programmatore HV.
Inoltre non ti so dire se l'errore è dovuto a cattiva programmazione dei fuse o ad un errore della memoria flash del micro.
Se fosse quest'ultima il micro è da riciclare in altro modo: quadretto, braccialetto o collanina.

Heisenberg94:
L'IDE che uso è già l'1.0.6 e lo uso su MAC quindi come porta uso la /dev/tty.usbmodemfd131.

Su Mac la porta su cui si mappa normalmente la UNO è /dev/tty.usbmodemxxxxx dove xxxxx è un numero che identifica la porta (es 14211). Ma tu che Arduino usi, scusa?

leo72:

Heisenberg94:
L'IDE che uso è già l'1.0.6 e lo uso su MAC quindi come porta uso la /dev/tty.usbmodemfd131.

Su Mac la porta su cui si mappa normalmente la UNO è /dev/tty.usbmodemxxxxx dove xxxxx è un numero che identifica la porta (es 14211). Ma tu che Arduino usi, scusa?

Uso un Arduino UNO