Stap 2: Mogelijk corrigeert die werkte voor mij
Laten we beginnen met de basics, zullen we?
Ik neem aan dat je ofwel een 3D-printer die u upgraden of dat wilt de reqiures van uw project een fatsoenlijke display.
Zoals in elk voorbeeld schets voor deze schermen moet u de U8GLIB bibliotheek voor uw Internet-provider van de Arduino.
U moet ook de SPI en SD bibliotheken.
Code verstandig dat u moet worden gedekt door het bestuderen van de documentatie voor deze bibliotheken.
Dat was alleen om ervoor te zorgen dat u hebben opgenomen wat u nodig hebt voor deze controller.
Voor Marlin firmwares moet u alleen het vastleggen uncommenten voor deze domeincontroller in het bestand configuration.h.
Het display doet niet toelijken voor werkzaamheden...
Controleer of u 5V op alle Arduino 5V pinnen!
In mijn geval de gemodificeerde hellingen schild niet langer suppied de spanning voor de Arduino en ik moest een spanningsregelaar voor het aandrijven van de Arduino onafhankelijk van het schild van de hellingen toevoegen.
Zonder dat de levering van de 5V voor de display controller zal slechts bereiken 3.2-3.6V in plaats van de 5V vereist.
Nog steeds geen geluk?
Er is een potentiometer op de controller, bij sommige modellen is het aanpassen van het contrastniveau van het scherm, op de meeste it is gewoon nutteloos, dus proberen als u het contrast aangepast.
Opnieuw niets?
Nu zal je haat me ;)
Er is een andere potentiometer rechtstreeks op de achterkant van de eigenlijke weergave.
Daarmee is het contrast instelbaar onafhankelijk van alles.
Maar voordat u hier probeert Controleer of alles correct is aangesloten en hebt u 5V!
Ik vond twee manier van instellen van deze pot.
a) met behulp van Houten spies en probeert te gebruiken een hoek van de wijzerplaat voor de aanpassing door te drukken - niet zeer gemakkelijk, niet erg nauwkeurig en zeer gemakkelijk te breken van de poteniometer.
b) unsoldering van de weergave van het bord en met behulp van lintkabel, zodat u het niveau voor onderweg kunt aanpassen.
Werkt prima maar is een pijn te doen en kan alleen worden moeite waard als u zou verkiezen om te scheiden van het display anders u moet deze wijzigingen ongedaan maken.
Deze potentiometer is zeer gevoelig en er is alleen een beetje "sweet spot" waar je iets te zien op het display.
Te veel en alles is zwart, te weinig en het lijkt erop dat alleen de achtergrondverlichting brandt.
Het coderingsprogramma werkt niet goed...
Het kan het lastig zijn om het coderingsprogramma werkt zoals gepland.
Voor Marlin kunt u verschillende waarden voor de encoder stappen en klikken.
Voor uw eigen projecten gebaseerd op de voorbeeld-codes doen je hetzelfde.
Als de richting wordt omgekeerd kunt u eenvoudig overschakelen de pinnen voor de encoder ;)
SD problemen...
Na de vaststelling van taalgebruik alle bovenstaande of wordt gelukkig genoeg om een model dat out of the box u werkte kan nog steeds zeer slecht terwijl het proberen om het gebruik van een SD mee.
En geloof me, ik heb precies hetzelfde voor meer dan enkel een paar uren LOL
Zoals eerder vermeld hier de belangrijkste boosdoener is de 5V levering als zonder het de 3,3 v regulator voor de SD-kaart zal niet werken.
Maar om wat voor reden deze controller is ook erg kieskeurig in termen van het steunen van alle SD-kaarten die je in!
Dus hebt u problemen met de SD-check de 5V eerst, dan gebruik de monster schets "CardInfo" uit de SD-bibliotheek om te controleren als u SD-kaarten die werken.
Om dit te doen:
Check de schets dat de juiste pinnen worden gebruikt!
Meestal de ICSP verbinding wordt hier gebruikt en afhankelijk van het soort Arduino pennen 4, 8, 10 of 53 (voor de Mega met hellingen) wordt gebruikt voor het detecteren van de SD-kaart.
Sommige mensen zouden kunnen denken met behulp van pin 49 (op de Mega) voor de SD sporen is een goede zaak.
Het werkt als dit zou de pysical-schakeloptie voor het, maar het ook geen probleem met de bibliotheek of SD. maskeert
Als u de schets geüpload de seriële monitor starten en moet je een beetje status info vertel je geen SD ontbreekt niet en sommige dingen controleren.
Sluit het venster seriële monitor en plaats een SD-kaart, de seriële monitor opnieuw openen en controleren als de kaart wordt erkend.
Als in twijfel formaat de SD met het hulpprogramma format geboden door SDCARD.ORG - het SD aan de fabrikanten specs formatteert zal, is Windows formaat niet geschikt voor deze taak.
Er is een goede kans die uw eerste SD lukt niet, dus houd een paar bij de hand voor het testen.
Mijn vertrouwde 2GB kaart werkt in alle oude apparaten maar niet in deze SD-kaartlezer, mijn 32GB SHD werkt prima - ga figuur...
Heb ik al gezegd om te controleren de pin-toewijzingen? Dus als verschillende kaarten in een rij weigeren om te werken van selectievakje Als u werkelijk de juiste pinnen in de schets, vooral voor de Mega2560!
OK, wordt de kaart opgenomen als u duwen het maar u geen bestanden of zelfs de FAT info te zien.
Ervan uitgaande dat u zorgde ervoor dat kloppen de pinnen echt dat je moet nu het uitproberen van een SD-bibliotheek van een andere versie van de IDE.
Ik heb nog liever de 1.05 voor al mijn projecten.
Houd er rekening mee dat wanneer u wijzigt dingen in de map ' Bibliotheek ' dat u moet sluit alle vensters van de IDE en herladen van de IDE als anders zal veranderen.
Nu alles zou moeten werken en u zou moeten kunnen vinden van ten minste één SD in uw collectie die werkt.
Als je kunt zien welk soort SD in CardInfo, zoals SD, werkt SDHC en dergelijke het betekent de mededeling soort maar het belangrijkst dat deze SD wordt ondersteund.
Correct opgemaakt, maar nog steeds geen zichtbare bestanden op het kunnen betekenen uw SD-bibliotheek nodig enkele wijzigingen.
In SD. H bestand zoeken
Boolean beginnen (uint8_t csPin = SD_CHIP_SELECT_PIN);
en vervangen door:
Boolean beginnen (uint8_t csPin = SD_CHIP_SELECT_PIN, uint8_t spiSpeed = SPI_HALF_SPEED);
In SD. CPP zoeken
Booleaanse SDClass::begin (uint8_t csPin) {}
/*
Voert de initialisatie vereist door de sdfatlib-bibliotheek.
Deze eigenschap is true als de initialisatie slaagt, valse anders retourneren
* / terug van card.init (SPI_HALF_SPEED, csPin) & & volume.init(card) & & root.openRoot(volume);
}
en vervangen door:
Booleaanse SDClass::begin (uint8_t csPin, uint8_t spiSpeed) {}
/*
Voert de initialisatie vereist door de sdfatlib-bibliotheek.
Deze eigenschap is true als de initialisatie slaagt, valse anders retourneren
* / terug van card.init (spiSpeed, csPin) & & volume.init(card) & & root.openRoot(volume);
}
Dit geeft meer overdracht snelheid opties voor de seriële communicatie.
Na deze laatste resort mod moet alles enkel fijn werken.