Conversione da ino to bin

Buongiorno, sono un nuovo utente, appassionato di programmazione, possiedo un files ino eeprom per resettare il chip della cartuccia della mia stampante e vorrei effettuare la programmazione della eeprom tramite l’interfaccia Arduino UNO leggere e scrivere nella eprom oppure convertire il files da ino a bin per usare altri programmatori. Cortesemente mi occorre un aiuto per risolvere. grazie

I2Cv2.ino (4.49 KB)

Non ho capito nulla.
Facci vedere questo listato *.ino (mettilo tra i tag "code") e da dove lo hai preso (il link) così capiamo meglio.

Grazie per la risposta. Ho messo il I2Cv2.ino nel primo post. Non ho mai usato il sistema Arduino e quindi non so come funziona. Ho il il files ma non riesco a programmare la eeprom con arduino uno. Nel caso vorrei convertire I2Cv2.ino a I2Cv2.bin. grazie

abbate22:
non riesco a programmare la eeprom con arduino uno. Nel caso vorrei convertire I2Cv2.ino a I2Cv2.bin. grazie

Per programmare la eeprom con l'uno devi prima preparare l'uno col suo firmware. Una cosa alla volta.
Nell'ino c'è da configurare una variabile, EEPROM_I2C_ADDRESS, che dipende da che cartuccia vuoi resettare.

// 83 is Chip K - black
// 82 is Chip C - cyan
// 81 is Chip M - magenta
// 80 is Chip Y - yellow

In base a che cartuccia hai cambia quel valore.

Poi, sinceramente, non vedo l'utilità di passare da .ino a .bin. Anche il bin va compilato (ma magari lo può fare qualcuno) e caricato. A questo punto carica da arduino direttamente che hai già il codice pronto.
La procedura è abbastanza banale.

grazie....
a questo punto deve caricare il firmware EEPROM_i2C_ADDRESS e poi successivamente il codice I2Cv2 a seguire direttamente al caricamento sulla eprom 24c02??? sbaglio?

scusate ma è la prima volta che uso Arduino non sono pratico...

uhmm mi sa che stai facendo un po di confusione.

Prima di tutto cosa devi programmare, un chip nudo e crudo o una cartuccia?
Questo perchè a seconda del colore hanno dei collegamenti ai piedini A0,A1,A2 diversi

Comunque nel programma che hai postato, l'unica cosa da modificare è il valore di
#define EEPROM_I2C_ADDRESS 83
A seconda del colore scelto.

e se invece vuoi il file bin, non devi far altro che crearlo usando i valori contenuti nelle seguenti righe

// blank data for K, C, M & Y chip. 128 array of data. I got it from data dump of a replacement chip. 
byte KChipData[]={168,0,1,3,18,1,1,255,100,0,52,48,55,53,52,51,20,9,65,66,22,0,22,38,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,100,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0};
byte CChipData[]={168,0,1,3,14,2,1,255,100,0,49,49,49,53,52,54,20,2,65,66,23,0,7,1,255,255,255,255,255,255,255,255,88,48,56,54,80,52,48,49,50,48,56,0,68,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,1,85,0,18,0,40,0,5,184,230,50,0,128,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0};
byte MChipData[]={168,0,1,3,14,3,1,255,100,0,49,49,49,53,52,54,20,2,65,66,24,0,7,16,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,100,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0};
byte YChipData[]={168,0,1,3,14,4,1,255,100,0,49,49,49,53,52,55,20,2,65,66,25,0,3,7,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,100,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0};

abbate22:
Ho messo il I2Cv2.ino nel primo post. Non ho mai usato il sistema Arduino e quindi non so come funziona.

Ok, è già un primo passo. Ma questo codice lo avrai scaricato da qualche parte, no? Non c'è in quello stesso sito anche la descrizione di cosa fa, come si collega (a cosa?) e come si usa?
Insomma, ce lo fai vedere sto sito, non ci costringerai a fare le ricerche per te vero?

https://drive.google.com/drive/folders/12UAa12sVB6IfwfbNomkOB33_pEdkzMXV

Grazie per l’aiuto. Devo programmare i chip delle cartucce colore (laser) ma anche programmare una eprom 24c02 vuota poiché una saltata del colore nero (K) e quando occorre anche le altre.
Per il momento mi server sistemare la programmazione del colore nero. Siccome non nessuna conoscenza con Arduino, ma con il codice che ho scaricato e postato il link come dal video, vorrei poter risolvere programmando la eprom mediante l’hardware che ho acquistato (possiedo Arduino UNO e WavGat).
Come dice brunello22 i piedino che fino adesso ho utilizzati per collegare la eprom sono A4 e A5, 5v e gnd, ho caricato il codice //83 is Chip K - black, ho fatto alcune prove ma non sono riuscito a caricarlo nella eprom.
Allego la foto del risultato.

abbate22:
Come dice brunello22 i piedino che fino adesso ho utilizzati per collegare la eprom sono A4 e A5, 5v e gnd

E questo va bene.

ho caricato il codice //83 is Chip K - black, ho fatto alcune prove ma non sono riuscito a caricarlo nella eprom.

Ok, ti ha compilato il codice e lo ha caricato su Arduino correttamente, non vedo errori.

Quindi stando a quello che mi pare di capire, il programma alla partenza inizia a cercare di programmare via I2C il chip e manda su seriale informazioni sullo stato delle operazioni.

Quindi tu devi aprire il monitor seriale dell'IDE (il pulsantino in alto a destra con la lente), scollegare Arduino dal PC (così si spegne), collegare i fili al chip della cartuccia, quindi ricollegare Arduino alla USB del PC così inizia le operazioni che vedi nella funzione setup(), e tramite monitor seriale dovresti vedere cosa sta facendo.

Salve, non ho ancora risolto nel senso che a causa del cambio pc mi ritrovo con una serie di errori tra questi la porta di comunicazione COM non permette arduino di comunicare con la scheda.
Ho provato a disinstallare e reinstallare Arduino eliminando anche il driver ma ancora mi da errori come nella foto.

txt.txt (6.69 KB)

Intanto ti chiedo di modificare il tuo ultimo post e mettere tutto quell'output all'interno di un tag "code" o meglio come allegato txt, così come lo hai messo diventa poco leggibile tutto il thread.

Poi l'errore che si vede nell'immagine è diverso da quello presente nel log, sono due prove distinte o cosa?

Poi la cosa che nel log mi pare più significativa è in fondo solo l'ultima riga "Errore nell'apertura della porta seriale "COM10" (Port busy)". Quindi o hai i driver sbagliati, o installati male, o sulla seriale della UNO hai qualcosa connesso che disturba la comunicazione del loader, o hai qualcosa che in quel momento tiene aperta la porta COM10 (mica avrai un terminale seriale aperto?).

Dici di aver disinstallato e reinstallato sia l'IDE sia i driver: spiega esattamente quali versioni hai installato e da dove li hai scaricati (spero non dal Microsoft Store...) e se la UNO è originale o un clone cinese (in quanto questi richiedono driver seriali differenti).

La prima prova da errore perché non trova hardware Arduino a causa della comunicazione della porta, la seconda prova per verificare la porta di comunicazione fallita.
La versione Arduino UNO cinese, il driver riconosciuto da windows durante l'installazione.
Utilizzo solo una porta USB per il mouse wireless e nient'altro, probabilmente il driver caricato non corrisponde. Non ho nessun terminale seriale aperto. Risultano impegnate le porte dalla COM1 alla COM9, ma non capisco il motivo, la COM10 libero è stata utilizzata da Arduino. Mi puoi aiutare? grazie

abbate22:
La versione Arduino UNO cinese, il driver riconosciuto da windows durante l'installazione.

Non hai però risposto alle domande. L'IDE da dove lo hai installato? Dal sito (e versione zip o setup?) o da Windows Store (da non fare mai...)? La versione dell'IDE la vedo dal log, 1.8.8 su Windows 7 (ma quando si chiede aiuto con l'IDE o la compilazione va specificato sempre, quindi meglio se lo indichi subito esplicitamente).

Poi anche per il driver: se con Arduino connesso vai in Gestione dispositivi, Porte COM e LPT, cosa leggi esattamente (copia/incolla il nome che vedi o facci uno screenshot)? E se ci fai tasto destro, Proprietà, cosa dice la scheda Generale e la Driver (anche qui, facci uno screenshot di ognuna)? Se hai un UNO clone non ha il chip seriale della UNO originale, per dire il mio è "USB-SERIAL CH340", se hai installato quello che propone l'IDE, è quello sbagliato, perché i cloni usano il CH340 (come il nome del driver lascia intendere)...

Prova a vedere QUESTO video oppure QUESTO Instructable dove spiega tutto.

Grazie per la risposta.
Intanto uso la versione con il chip Arduino UNO R3 - Atmega16u2+mega328P, acquistato dal sito alixpress, ho usato il driver IDE Dal sito (e versione zip o setup?) o comunque quello che propone il sistema come da screenshot. Dopo tante prove anche cambiando il cavo USB non riesco a uscirne, continua a dare errore come da log. Provo a seguire il video o altre indicazioni da te consigliate.

txt.txt (32.5 KB)

salve, non ho ancora risolto, cosa devo fare per caricare lo sketch nella memoria? senza questo passaggio non posso caricare la eprom

Tu non hai letto quello che ho scritto, oppure non hai seguito quello che ti ho consigliato di fare.

Come ti ho accennato, i cloni della UNO utilizzano un device driver diverso da quello standard di Arduino originale. Nelle immagini che hai postato si vede che il driver è quello di Arduino Uno originale, quindi col tuo clone NON funziona, devi installare il driver specifico!

Questa cosa già te l'ho scritta, e come fare te l'ho indicato, vedi la pagina che ti ho indicato anche in precedenza, trovi spiegato tutto, compreso il link per scaricare i driver corretti. Verifica il codice del chip seriale sul tuo Arduino, se vedi che è come quello della foto presente nella pagina che ti ho indicato (CH340), il prolema è quello.

Se dopo che avrai letto quelle istruzioni e provato a fare quanto descritto riscontri problemi, allora scrivi nuovamente qui, includendo tutto quello che nel frattempo hai fatto, cosa hai ottenuto come errore (se c'è) e posta nuovamente gli screenshot delle proprietà della porta COM.