Schritt 2: Möglich behebt, die für mich gearbeitet
Beginnen wir mit den Grundlagen, sollen wir?
Ich nehme an, Sie haben entweder einen 3D-Drucker Upgrade oder, das soll Ihr Projekt Reqiures ein anständiges Display.
Wie in jedem Beispiel-Skizze für diese Displays benötigen Sie die U8GLIB-Bibliothek für ISP Arduino.
Sie benötigen auch die SPI und SD-Bibliotheken.
Code-weisen, die Sie durch das Studium der Dokumentation für diese Bibliotheken abgedeckt werden sollten.
Das war nur um sicherzustellen, dass Sie aufgenommen haben, was Sie brauchen für diesen Controller.
Für Marlin Firmware müssen Sie nur kommentieren Sie definieren für diesen Controller in der Datei configuration.h.
Das Display scheint nicht zu funktionieren...
Überprüfen Sie, ob Sie auf alle Arduino 5V Pins 5V haben!
In meinem Fall die geänderte Rampen zu schützen nicht mehr Kerne die Spannung für den Arduino und ich musste einen Spannungsregler der Arduino unabhängig von den Rampen Schild macht hinzufügen.
Ohne dass die 5V Versorgung für den Display-Controller erreicht nur 3.2-3.6V statt die 5V benötigt.
Noch kein Glück?
Bei einigen Modellen ist es, den Kontrast des Displays am meisten es Pegel nur nutzlos ist, so versuchen wenn Drehen ändert sich den Kontrast gibt es ein Potentiometer auf dem Controller.
Wieder nichts?
Jetzt werden Sie hassen mich ;)
Es gibt ein weiteres Potentiometer direkt an der Rückseite von der tatsächlichen Anzeige.
Mit diesem kann der Kontrast unabhängig von alles eingestellt werden.
Aber bevor Sie hier versuchen alles richtig angeschlossen ist und dass Sie 5V!
Ich fand zwei-Wege der Anpassung dieser Topf.
(a) mit Holzstäbchen und versucht, eine Ecke des Zifferblattes für die Einstellung von Druck - nicht ganz einfach, nicht sehr genau und sehr leicht zu brechen die Poteniometer verwenden.
(b) das Display von der Platine ablöten und Flachbandkabel mit, so dass Sie den Pegel für unterwegs.
Funktioniert gut, aber ist ein Schmerz zu tun und nur sein lohnt sich wenn Sie es vorziehen, das Display als sonst zu trennen müssen Sie diese Änderungen rückgängig zu machen.
Das Potentiometer ist sehr empfindlich und es ist nur ein wenig "Sweet-Spot" wo etwas man zu sehen auf dem Display.
Zu viel und alles ist schwarz, zu wenig und es sieht aus wie nur die Hintergrundbeleuchtung auf.
Der Encoder ist nicht richtig funktioniert...
Es ist schwierig zu bekommen den Encoder wie geplant funktioniert.
Für Marlin probieren Sie unterschiedliche Werte für die Encoder-Schritte und Klicks.
Für Ihre eigenen Projekte anhand der Beispielcodes haben Sie das gleiche tun.
Wenn die Richtung umgekehrt ist können Sie einfach die Pins für den Encoder wechseln ;)
SD-Probleme...
Nach der Fixierung benutzt alles, was oben oder sein Glück, ein Modell zu bekommen, die out of the Box Sie funktioniert noch möglicherweise sehr schlechte Sprache beim Versuch eine SD mit ihm.
Und glaubt mir, ich habe genau das gleiche für mehr als nur ein paar Stunden LOL
Wie bereits erwähnt ist der Hauptschuldige der 5V Versorgung als ohne es die 3,3V Regler für die SD-Karte funktioniert nicht.
Aber aus irgendeinem Grund dieser Controller ist auch sehr wählerisch in Bezug auf die Unterstützung alle SD-Karten, die Sie setzen!
Also wenn Sie Probleme mit dem SD-Check die 5V zuerst haben, dann verwenden Sie die Beispiel-Skizze "CardInfo" aus der SD-Bibliothek um zu überprüfen, ob Sie SD-Karten haben, die arbeiten.
Dazu:
Überprüfen Sie die Skizze, dass die richtigen Pins verwendet werden!
In der Regel der ICSP-Anschluss dient hier und abhängig von der Art der Arduino Pins 4, 8, 10 oder 53 (für die Mega mit Rampen) wird verwendet, um die SD-Karte zu erkennen.
Manche Leute denken vielleicht, mit Zapfen 49 (auf der Mega), für die SD zu erkennen, ist eine gute Sache.
Es funktioniert wie der physikalische Schalter dafür wäre aber auch keine Probleme mit der Bibliothek oder SD Masken
Wenn Sie die Skizze hochgeladen starten Sie den seriellen Monitor und solltest du ein wenig Statusinformationen, die ich Ihnen keine SD ist vorhanden und einige Dinge zu prüfen.
Das serial Monitorfenster zu schließen und legen Sie eine SD-Karte, den seriellen Monitor wieder öffnen und überprüfen Sie, ob die Karte erkannt wird.
Wenn im Zweifel Format SD mit dem Format-Tool zur Verfügung gestellt von SDCARD.ORG - es jede SD zu den Hersteller-Spezifikationen Format, ist Windows-Format nicht für diese Aufgabe geeignet.
Es gibt eine gute Chance, dass Ihre erste SD wird nicht funktionieren, so halten Sie ein paar zu Testzwecken übergeben.
Meine vertrauenswürdigen 2GB Karte funktioniert in allen alten Geräten aber nicht in dieser SD-Kartenleser, meine 32GB SHD funktioniert prima - gehen Abbildung...
Habe ich erwähnt, um zu überprüfen, die Pin-Belegung? Also, wenn mehrere Karten hintereinander verweigern, Check zu arbeiten, wenn Sie wirklich die richtigen Pins in der Skizze, vor allem für die Mega2560 verwenden!
OK, wird die Karte erkannt, wenn Sie schieben Sie es, aber Sie nicht, keine Dateien oder sogar das Fett Info sehen können.
Vorausgesetzt, Sie sichergestellt sind die Pins wirklich richtig, Sie sollten jetzt versuchen, eine SD-Bibliothek aus einer anderen IDE-Version.
Ich bevorzuge immer noch die 1,05 für alle meine Projekte.
Beachten Sie, dass wenn Sie Dinge in den Ordner "Library" ändern, die Sie benötigen alle IDE-Fenster zu schließen und die IDE neu zu laden, da sonst nichts ändert.
Jetzt sollte alles funktionieren und Sie sollten in der Lage, mindestens eine SD in Ihrer Sammlung zu finden, die funktioniert.
Siehst du die Art des SD in CardInfo, wie SD, funktioniert SDHC und so die Kommunikation bedeutet irgendwie, aber vor allem, dass diese SD unterstützt wird.
Richtig formatiert, aber noch keine sichtbaren Dateien darauf können bedeuten Ihre SD-Bibliothek benötigen einige Änderungen.
In SD. H-Datei suchen
Boolescher Wert zu beginnen (uint8_t CsPin = SD_CHIP_SELECT_PIN);
und ersetzen durch:
Boolescher Wert zu beginnen (uint8_t CsPin = SD_CHIP_SELECT_PIN, uint8_t SpiSpeed = SPI_HALF_SPEED);
In SD. CPP suchen
Boolesche SDClass::begin (uint8_t CsPin) {}
/*
Führt die Initialisierung erforderlich durch die Sdfatlib-Bibliothek.
True, wenn die Initialisierung erfolgreich ist, False andernfalls zurück.
* / return card.init (SPI_HALF_SPEED, CsPin) & & volume.init(card) & & root.openRoot(volume);
}
und ersetzen durch:
Boolesche SDClass::begin (uint8_t CsPin, uint8_t SpiSpeed) {}
/*
Führt die Initialisierung erforderlich durch die Sdfatlib-Bibliothek.
True, wenn die Initialisierung erfolgreich ist, False andernfalls zurück.
* / return card.init (SpiSpeed, CsPin) & & volume.init(card) & & root.openRoot(volume);
}
Dadurch erhalten mehr Transfer Geschwindigkeitsoptionen für die serielle Kommunikation.
Nach dieser letzten Resort-mod sollte alles problemlos funktionieren.