Stap 2: Maak je alles klaar: de Arduino Software
Krijg je Arduino (Ik zal met behulp van een Diecimila dus als u bent helemaal geïntimideerd door de Arduino, krijgen dat een), dan download en installeer de software op uw computer. Ik weet dat ik ben behoorlijk vaag hier, maar dit is veel beter gedekt op de Arduino website dan ik ooit zou kunnen doen.
Voorzeker gij moet er, venture veel leren, en terug te keren tot mij verlicht. :-)
De Software-kant
Zodra je alles gekocht hebt / gebouwd / geïnstalleerd en werkt, moet u deze "schets" (Arduino-ese naar "program") in je Arduino laden (kopiëren & plakken in uw ontwikkelomgeving en vervolgens uploaden naar je Arduino):
#include <Wire.h>#define CG (B1010000)boolean resetSuccess = false;int isReset = 13;int byteArray []= {01, 01, 01, 60, 60, 60, 60, 60, 60, 8, 8, 8, 33, 33, 33, 255};void setup(){ pinMode(isReset, OUTPUT); digitalWrite(isReset, LOW); Wire.begin(); // join i2c bus (address optional for master)}void loop(){ if (resetSuccess) { delay (2000); // our work is done - pause for a while resetSuccess = false; } else { resetCartridge(); resetSuccess = verifyCartridge(); digitalWrite(isReset, resetSuccess); }}void resetCartridge(){ for (int i=3; i < sizeof(byteArray)/2; i++) { Wire.beginTransmission(CG); Wire.send(i); Wire.send(byteArray[i]); Wire.endTransmission(); delay(4); }}void movePointerTo(int deviceAddr, int memoryAddr){ Wire.beginTransmission(deviceAddr); Wire.send(memoryAddr); Wire.endTransmission();}boolean verifyCartridge(){ boolean success = true; movePointerTo(CG, 3); Wire.requestFrom(CG, 3); while (Wire.available()) { if (Wire.receive() == 60 && success == true) { // looking good so far } else { success = false; } } return success;}
Degenen onder u die Arduino programmeur goeroes zijn gelieve te voelen vrij om deze code optimaliseren - Stuur mij de verbeterde versie dus ik hier-it post kan.
U hoeft niet zelf problemen met de details van wat daadwerkelijk gebeurt er opdat je zo geneigd voelt; Kortom, u uw cartridge verbinden met de Arduino en het blijkt op een LED wanneer het resetten afgerond wordt. Wanneer u de cartridge loskoppelt, gaat het licht uit. Schuim, spoelen, herhalen.
op de hardware...