Rétro-ingénierie à émuler les cartouches d’encre pour une imprimante Epson (8 / 8 étapes)

Étape 8: Émulation des cartouches d’encre

Donc ce qui se passe maintenant, c’est que nous devons mettre en place notre microcontrôleur pour contenir les données que nous avons déversé. Puis permettent à l’hôte de l’imprimante lire et écrire dans celui-ci.

Maintenant le problème est que je ne veux pas mes cartouches d’encre faux jamais s’habituer, donc pour faire c’est nous avons une image fixe que le microcontrôleur chargera dans la ram il démarre à chaque fois. Cela permettra à l’imprimante non seulement lire, mais écrire lui aussi bien. Lorsque le microcontrôleur est hors tension puis de nouveau sur, les données précédentes sont restaurées. (Double Bonus)

Stockage des tableaux de données dans le microcontrôleur, placer ce quelque part sous la comprennent, mais avant Sub main()

Remarque : Cela peut varier entre familles de microcontrôleurs différents, mais il fonctionne très bien avec mon PIC18F

RAM unsigned char noir [32] = {0 x 10, 0 x 00, 0 x 02, 0xF2, 0 x 00, 0 x 00, 0 x 00, 0 x 00, 0 x 00, 0 x 50, 0x90, 0x6A, 0 x 17, 0xE3, 0 x 54, 0xA3, 0 x 39, 0 x 50, 0 x 14, 0 x 15, 0 x 31, 0x93, 0xE4, 0xB4, 0 x 24, 0 x 96, 0 x 57, 0 x 04, 0 x 35, 0xF5, 0xE4, 0 x 14} ;
unsigned char cyan [32] de RAM = {0x4C, 0 x 04, 0 x 01, 0xF2, 0 x 00, 0 x 00, 0 x 00, 0 x 00, 0 x 00, 0 x 50, 0x90, 0x5A, 0 x 19, 0xF0, 0x94, 0 x 03, 0x3B, 0 x 50, 0 x 16, 0 x 17, 0 x 31, 0x93, 0xE4, 0xB4, 0 x 24, 0 x 96, 0 x 57, 0 x 04, 0 x 35, 0xF5, 0xE4, 0 x 34} ;
unsigned char jaune [32] de RAM = {0x4A, 0 x 04, 0 x 01, 0xF2, 0 x 00, 0 x 00, 0 x 00, 0 x 00, 0 x 00, 0 x 50, 0x90, 0x6A, 0x8B, 0xC9, 0xA4, 0 x 41, 0x3B, 0 x 50, 0x1A, 0x1B, 0 x 31, 0x93, 0xE4, 0xB4, 0 x 24, 0 x 96, 0 x 57, 0 x 04, 0 x 35, 0xF5, 0xE4, 0x74} ;

Remarque : Remarqué que je n’ai pas Magenta ? C’est parce que c’est la cartouche d’encre, que je n’ai pas.

L’étape suivante consiste à écrire une routine qui vérifie quelle cartouche d’encre est demandée et permettent à l’hôte lire et écrire dans celui-ci.
Voilà comment je l’ai fait :

Sub main() {}
unsigned char * inkPtr ;
char addr = 0 x 00 ;
...

{While(1)}

epsnCartStartListen() ;

while(epsnCartReady()==1) ; Attendez le signal prêt à revenir à faible

while(epsnCartReady()==0) ;
addr = espnCartGetAddr() ;

Si (adresse & 0 x 7 == 0 x 01) {/ / si les 3 premiers bits est égal à 0 x 01
inkPtr = & noir [0] ; Pointer vers les données noires
} ElseIf (adresse & 0 x 7 == 0 x 03) {/ / si les 3 premiers bits est égal à 0 x 03
inkPtr = & cyan [0] ; Pointer vers les données cyan
} ElseIf (addr [i] & 0 x 7 == 0 x 05) {}
inkPtr = & cyan [0] ; C’est censé être Magenta, mais je n’ai que
} ElseIf (addr [i] & 0 x 7 == 0 x 07) {}
inkPtr = & jaune [0] ;
} else {}
continuer: / / revenir au début de la boucle principale, parce que nous ne savons pas cette adresse
}

if(addr&0x08) {//WriteMode – vérifier pour voir si l’hôte veut écrire
while(epsnCartReady()) {//keep en boucle jusqu'à ce que la TVD va faible
* inkPtr = epsnCartIn() ;
les données, le pointeur pointe vers
est écrit avec les nouvelles données
inkPtr ++ ; Incrémente le pointeur
}
} else {//Read Mode
{while(epsnCartReady())}
epsnCartOut(*inkPtr) ;
Sortie des données, le pointeur pointe vers
inkPtr ++ ; Inrement le pointeur
}
}
}
}

Succès !
Après ce nouveau code de programmation et d’allumer mon imprimante, l’imprimante accepte 4 cartouches imaginaires grâce à mon microcontrôleur. Je suis également très choqué que j’ai accepté les données de cartouche d’encre cyan pour magenta ainsi !

C’est une prouesse énorme pour moi car il s’agit de mon premier monde réel inverse ingénierie que j’ai jamais fait et j’ai obtenu des résultats prometteurs.
Maintenant je peux continuer à transformer l’imprimante une imprimante 3D

J’espère que vous les gars aimiez ceci, c’est mon deuxième instructable et cela m’a pris un certain temps pour écrire: P

Si vous voulez, vous êtes cordialement invités à télécharger les fichiers sources

A bientôt !
Romain

Articles Liés

Rétro-ingénierie : USB contrôlée hack domotique

Rétro-ingénierie : USB contrôlée hack domotique

pirater un système domotique sans fil pour être contrôlé à l'aide de deux microcontrôleurs AVR de USB !Découvrez la vidéo ! Le système est vraiment plus réactif, mais le navigateur de mon téléphone est lent.Si vous le souhaitez, vous pouvez aussi com
Rétro-ingénierie en direct

Rétro-ingénierie en direct

J'ai commencé en électronique avant l'avènement de l'internet et les composants plus solides à l'État, donc obtenir des fiches techniques et des schémas n'a pas été facile pour moi. Aujourd'hui avec la fabrique faisant ICs personnalisés et écrans à c
Rétro-ingénierie : Ampoule de LED RVB avec télécommande IR

Rétro-ingénierie : Ampoule de LED RVB avec télécommande IR

nous avons acheté 20 de ces ampoules LED RVB pour un parti au travail, mais j'ai été un peu déçu avec les fonctions de décoloration de couleur ils ont fourni. J'ai donc décidé de prendre un ingénieur apart, inverse le protocole infrarouge et voir si
Comment remplir les cartouches d’encre HP en deux minutes.

Comment remplir les cartouches d’encre HP en deux minutes.

Comment remplir HP 21 27 56 imprimante jet d'encre panier en moins de deux minutes.Pour des informations plus détaillées, consultez mon blog :http://refillhp.blogspot.com/
Comment inverser l’ingénierie pcb

Comment inverser l’ingénierie pcb

PCB rétro-ingénierie, également appelée clonage de PCB ou de copie de PCB, utilise la technologie de l'ingénierie inverse sur le PCB qui a été conçu et fabriqué par d'autres, c'est d'utiliser des PCB ayant trait aux logiciels pour copier la carte de
Comment enseigner l’ingénierie orientée projet Kids

Comment enseigner l’ingénierie orientée projet Kids

Si vous aimez ce Instructable, alors je vous encourage à acheter mon livre, Ingénieur de l'élastique. Elle est pleine de projets plus impressionnants et originaux fabriqués à partir de matériel domestique. Vous pouvez le trouver là où les livres sont
Recycler les cartouches jet d’encre CMJN dans des enclos de marqueur

Recycler les cartouches jet d’encre CMJN dans des enclos de marqueur

j'ai parfois jeter des cartouches d'encre et remarqué comment complet qu'ils sont toujours même si l'imprimante ne le pense. J'ai pensé à fixer certains desséchées vieux marqueurs à bas prix sur l'ouverture de l'extrémité qui se connecte à l'impriman
Conversion d’une imprimante jet d’encre pour imprimer les BPC

Conversion d’une imprimante jet d’encre pour imprimer les BPC

Voir l'étape 12 pour un gravure/projet mise à jour et nouveaux résultats!Récemment, un des mes objectifs a été de trouver un moyen pour faciliter le processus de création de PCB (Printed Circuit Board). J'aime être en mesure de concevoir que quelque
Imprimer les Circuits conducteurs avec une imprimante jet d’encre

Imprimer les Circuits conducteurs avec une imprimante jet d’encre

Ce tutorial va vous apprendre comment modifier votre imprimante jet d'encre moyenne pour pouvoir imprimer les circuits conducteurs d'électricité. Cette technologie est assez nouveau mais peut fournir une option plus rapide et plus sûr de prototypage
Comment imprimer avec une cartouche d’encre « vide ».

Comment imprimer avec une cartouche d’encre « vide ».

Il est tard et vous devrez imprimer certains rapports à emporter avec vous à une réunion. Votre imprimante est à court d'une seule couleur d'encre et maintient votre en otage tout le travail jusqu'à ce que vous pouvez mettre dans une nouvelle cartouc
Comment faire pour remplacer la cartouche d’encre Neopost IJ25

Comment faire pour remplacer la cartouche d’encre Neopost IJ25

Faire un reset de Neopost IJ25 cartouche peut être difficile si vous n'avez pas remplacé votre encre ij25 cartouche avant. Cependant nous avons mis en place ce guide pour aider et faire le travail rapidement.Si vous avez besoin de Télécharger un Manu
Contrôler une imprimante 3D avec les gestes de la main

Contrôler une imprimante 3D avec les gestes de la main

j'ai écrit à ce sujet avant, mais j'ai réussi un laboratoire de technologie créative au California College of the Arts. J'ai aider les élèves avec un large éventail de compétences, créer un large éventail de projets. Une des nombreuses parties de mon
Ingénierie d’un système d’alimentation pour cycle-camions lourds et les velomobiles

Ingénierie d’un système d’alimentation pour cycle-camions lourds et les velomobiles

Utilitaire lourd cycles deviendra une très grande partie du transport, comme les gens se réveillent à la réalité du changement climatique. Il n'est pas facile de comprendre comment fournir assez basse vitesse couple Poussée qui est nécessaire pour gr
La plupart les plate-formes d’ingénierie jamais

La plupart les plate-formes d’ingénierie jamais

J'ai construit ces étagères pour ma copine maintenant fiancé (Merci beaucoup) donc elle pourrait remplir avec tout le travail Uni ici.Pour une raison quelconque, j'aime construire des étagères que vous pourriez vraiment remarqué si vous consultez mes