Hallo Leute,
Nachdem ich nun letzten mein TFT Display mit ach und krach zum laufen gebracht habe wollte ich gerne ein paar Bilder dadrauf darstellen. Adafruit bietet dafür eine Funktion an. Jedoch muss ich das Bild erst mal von einer SD Karte laden.
Ich habe eine 1 Gigabyte große High Speed SD Karte(Kein Micro). Dieses ist schon älter. Laptop liest sie ohne Probleme.
Als Converter für die 3,3 Volt nutze ich hier auch wieder denn CD4050 Baustein. Es ist so weit alles verkabelt.
SD_CS liegt bei mir auf Pin 7(mit converter 3,3v)
SD_MOSI liegt auf Standard(Pin 11)(auch mit converter 3,3v)
SD_MISO liegt auf Standard(Pin 12)(auch mit converter 3,3v)
SD_SCK liegt auf Standard(Pin 13)(auch mit converter 3,3v)
F_CS nicht verbunden keine Ahnung wofür das ist
Die SD Karte wo die Karte bereits 440 Megabyte Daten drauf wahren(Ohne Formatierung) hat er sie erkannt als SD_HS aber er konnte keine FAT16 bzw FAT32 Partition finden. Darauf habe ich sie am mein Laptop Formatiert, als FAT Type es stand in Klammern Standard dahinter. Die Size ist bei 64 Kilobyte.
Wenn nun die Karte in mein SD Slot an mein 2.2 TFT Display einsteht und das Beispiel aus "Arduino -> Beispiele -> SD -> CardInfo" auf mein Controller brenne und vorher noch denn ChipSelect Pin auf 7 ändere. Dann sagt der immer. "SD Card init... failed!.."
Aber warum vorher hat er sie ja auch gelesen. Aber auch nicht immer aber oft. Vllt 1. 2 mal nicht dann habe ich das Board abgesteckt und wieder angeschlossen und dann erkannte er sie wieder.
HotSystems:
Vermutlich liegt es am Hersteller.
Ich habe mal gelesen, dass nicht alle Typen richtig arbeiten.
Ich verwende Kingston und die arbeiten bei mir.
Upps habe da ein kritischen Fehler gemacht.
Und zwar da die SD Karte ja auch 3,3 Volt nur verträgt habe ich dort auch wie beim Display denn CD4050 genommen.
Steng genommen hat alles die ganze Zeit funktioniert. Durch die MOSI(Master Out -> Salve In) wurden Daten zum SD Chip gesendet dieser Antwortet auch nur hat ich die MISO(Savle Out -> Master In> auch auf denn CD4050 gelegt also aso das wenn der der µC ein 5V Signal an MISO anlegt ein 3,3 Volt Signal raus kommt. Dadurch konnte Mirkocontroller keine Daten vom Chip empfangen und hat immer Init Fail gesagt.
Levelshift per CD4050 beruht doch darauf, dass der IC 5V tolerant ist, wenn er mit Vcc = 3.3V betrieben wird, oder?
Wenn du dann ein 3.3V Signal (MISO) versehentlich über den CD4050 schickst, bleibt es eben auf 3.3V, wie es schon war, und sollte noch genauso HIGH / LOW erkannt werden?
( Oder hast du die Signalrichtung verwechselt ? )
So macht es z.B. einer der ordentlichen SD-Module:
xJan45x:
Upps habe da ein kritischen Fehler gemacht.
Und zwar da die SD Karte ja auch 3,3 Volt nur verträgt habe ich dort auch wie beim Display denn CD4050 genommen.
Naja aus Fehlern wird man schlau.
Sollte aber auch funktionieren, kritisch ist das nicht.
Der Arduino erkennt 3,3 Volt als HIGH.