Arduino Nano + 1,8" display + sd card

Ik ben bezig met een Arduino nano met daaraan een 1,8" display module ST7735S met daarop ook een sd card. Preciese type van de module is een MAR1801.
Ik ervaar wat vreemd gedrag waarvan ik nu niet zeker weet waar ik het moet zoeken (hardware of software).
Het probleem: Wanneer ik de Nano start met een SD kaart in de module dan krijg ik een SD kaart fout. Wanneer ik de SD kaart even uit de module haal en er weer opnieuw in stop dan gaat het programma wel door met het laden van de afbeeldingen van de SD kaart.

blackdog

Golden Member

Hi RazeR.

Ik zal eens in mijn kristallen bol kijken, om te kijken hoe je code er uit ziet die je gebruikt... :-)

Groet,
Blackdog

You have your way. I have my way. As for the right way, the correct way, and the only way, it does not exist.
Arco

Special Member

Waarschijnlijk moet je de kaart opnieuw initialiseren na aanzetten.
Hoofdzakelijk veroorzaakt door een brak ontwerp: de /SS, DAT1, en DAT2 hebben zo te zien geen pull-ups...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Code is het standaar Arduino example voor het laden van een afbeelding van SD naar de LCD.
Ik zal eens kijken of ik het in code op kan lossen. Zo nu een dan werkt het bij de start ook in één keer goed, maar dat is misschien 1 op de 10 keer.
Zal er dan toch wel op neer komen dat ik de pull-ups moet plaatsen.

Shiptronic

Overleden

Heb je geen interne pull-up's die je aan kan zetten ?

Wie de vraag stelt, zal met het antwoord moeten leren leven.
Arco

Special Member

Daar heb je niks aan bij opstarten, dan zweeft alle i/o hoogohmig...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Shiptronic

Overleden

Daarom eerst pull-up's aan zetten, en dan pas initialiseren?

Wie de vraag stelt, zal met het antwoord moeten leren leven.
Arco

Special Member

Dat kan, maar het is netter om alle chips met een chipselect een pull-up/down te geven om een nette opstart te geven met alles gedisabled.
Vaak laat men ook de DAT1 en DAT2 gewoon loslangen, terwijl de specs toch een pull-up voorschrijven in SPI mode.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Nog geen geluk. Met of zonder pull-up merk ik geen verschil.
SD card example van Arduino werkt ook niet. Ik moet echt de SD kaart opnieuw erin stoppen dan werkt het pas.

zit er een schakelaartje die detecteerd of er een kaart in zit? misschien kan je die manupuleren door daarmee een reset te geven?

ik hou van werken ..., ik kan er uren naar kijken
Arco

Special Member

Dan gaat er toch echt wat mis met initialiseren. Of de kaart wordt alleen gedetecteerd bij statusverandering van de card detect lijn.
(en die is er natuurlijk niet als de kaart er al in zit)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Dank voor de hulp. Ik heb het nu na opnieuw bedraden van de SD card toch maar opgelost in de software. Daarmee werkt het zoals verwacht.

Arco

Special Member

Dat zei ik dus al. CS moet hoog zijn bij opstarten...
Foutje in library? (of er wordt verondersteld dat de user dat zelf doet, danwel een pull-up heeft aangebracht)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com